diff --git a/generated/controllers/generated/engine_configuration_generated_structures_XXX.h b/generated/controllers/generated/engine_configuration_generated_structures_XXX.h index b111478..e82f437 100644 --- a/generated/controllers/generated/engine_configuration_generated_structures_XXX.h +++ b/generated/controllers/generated/engine_configuration_generated_structures_XXX.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Tue Jan 02 17:17:03 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Thu Jan 04 17:18:20 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -6,18 +6,18 @@ // start of stft_cell_cfg_s struct stft_cell_cfg_s { /** - % + * units: % * offset 0 */ int8_t maxAdd; /** - % + * units: % * offset 1 */ int8_t maxRemove; /** * Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second. - sec + * units: sec * offset 2 */ scaled_channel timeConstant; @@ -28,49 +28,49 @@ static_assert(sizeof(stft_cell_cfg_s) == 4); struct stft_s { /** * Below this RPM, the idle region is active - RPM + * units: RPM * offset 0 */ scaled_channel maxIdleRegionRpm; /** * Below this engine load, the overrun region is active - load + * units: load * offset 1 */ uint8_t maxOverrunLoad; /** * Above this engine load, the power region is active - load + * units: load * offset 2 */ uint8_t minPowerLoad; /** * When close to correct AFR, pause correction. This can improve stability by not changing the adjustment if the error is extremely small, but is not required. - % + * units: % * offset 3 */ scaled_channel deadband; /** * Below this temperature, correction is disabled. - C + * units: C * offset 4 */ int8_t minClt; /** * Below this AFR, correction is paused - afr + * units: afr * offset 5 */ scaled_channel minAfr; /** * Above this AFR, correction is paused - afr + * units: afr * offset 6 */ scaled_channel maxAfr; /** * Delay after starting the engine before beginning closed loop correction. - seconds + * units: seconds * offset 7 */ uint8_t startupDelay; @@ -102,7 +102,7 @@ struct pid_s { int16_t offset; /** * PID dTime - ms + * units: ms * offset 14 */ int16_t periodMs; @@ -125,20 +125,20 @@ struct cranking_parameters_s { * Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width. * A reasonable starting point is 60mg per liter per cylinder. * ex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel. - mg + * units: mg * offset 0 */ float baseFuel; /** * This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. * set cranking_rpm X - RPM + * units: RPM * offset 4 */ int16_t rpm; /** * need 4 byte alignment - units + * units: units * offset 6 */ uint8_t alignmentFill_at_6[2]; @@ -155,32 +155,32 @@ struct gppwm_channel { /** * If an error (with a sensor, etc) is detected, this value is used instead of reading from the table. * This should be a safe value for whatever hardware is connected to prevent damage. - % + * units: % * offset 2 */ uint8_t dutyIfError; /** * need 4 byte alignment - units + * units: units * offset 3 */ uint8_t alignmentFill_at_3[1]; /** * Select a frequency to run PWM at. * Set this to 0hz to enable on-off mode. - hz + * units: hz * offset 4 */ uint16_t pwmFrequency; /** * Hysteresis: in on-off mode, turn the output on when the table value is above this duty. - % + * units: % * offset 6 */ uint8_t onAboveDuty; /** * Hysteresis: in on-off mode, turn the output off when the table value is below this duty. - % + * units: % * offset 7 */ uint8_t offBelowDuty; @@ -195,23 +195,23 @@ struct gppwm_channel { */ gppwm_channel_e rpmAxis; /** - load + * units: load * offset 10 */ scaled_channel loadBins[GPPWM_LOAD_COUNT]; /** - RPM + * units: RPM * offset 26 */ int16_t rpmBins[GPPWM_RPM_COUNT]; /** - duty + * units: duty * offset 42 */ scaled_channel table[GPPWM_LOAD_COUNT][GPPWM_RPM_COUNT]; /** * need 4 byte alignment - units + * units: units * offset 106 */ uint8_t alignmentFill_at_106[2]; @@ -222,13 +222,13 @@ static_assert(sizeof(gppwm_channel) == 108); struct air_pressure_sensor_config_s { /** * kPa value at low volts - kpa + * units: kpa * offset 0 */ float lowValue; /** * kPa value at high volts - kpa + * units: kpa * offset 4 */ float highValue; @@ -242,7 +242,7 @@ struct air_pressure_sensor_config_s { adc_channel_e hwChannel; /** * need 4 byte alignment - units + * units: units * offset 10 */ uint8_t alignmentFill_at_10[2]; @@ -257,7 +257,7 @@ struct MAP_sensor_config_s { float samplingAngleBins[MAP_ANGLE_SIZE]; /** * MAP averaging sampling start crank degree angle - deg + * units: deg * offset 32 */ float samplingAngle[MAP_ANGLE_SIZE]; @@ -267,7 +267,7 @@ struct MAP_sensor_config_s { float samplingWindowBins[MAP_WINDOW_SIZE]; /** * MAP averaging angle crank degree duration - deg + * units: deg * offset 96 */ float samplingWindow[MAP_WINDOW_SIZE]; @@ -286,38 +286,38 @@ static_assert(sizeof(MAP_sensor_config_s) == 140); struct thermistor_conf_s { /** * these values are in Celcius - *C + * units: *C * offset 0 */ float tempC_1; /** - *C + * units: *C * offset 4 */ float tempC_2; /** - *C + * units: *C * offset 8 */ float tempC_3; /** - Ohm + * units: Ohm * offset 12 */ float resistance_1; /** - Ohm + * units: Ohm * offset 16 */ float resistance_2; /** - Ohm + * units: Ohm * offset 20 */ float resistance_3; /** * Pull-up resistor value on your board - Ohm + * units: Ohm * offset 24 */ float bias_resistor; @@ -332,12 +332,12 @@ struct linear_sensor_s { adc_channel_e hwChannel; /** * need 4 byte alignment - units + * units: units * offset 1 */ uint8_t alignmentFill_at_1[3]; /** - volts + * units: volts * offset 4 */ float v1; @@ -346,7 +346,7 @@ struct linear_sensor_s { */ float value1; /** - volts + * units: volts * offset 12 */ float v2; @@ -369,7 +369,7 @@ struct ThermistorConf { adc_channel_e adcChannel; /** * need 4 byte alignment - units + * units: units * offset 29 */ uint8_t alignmentFill_at_29[3]; @@ -383,18 +383,18 @@ struct injector_s { * By the way, g/s = 0.125997881 * (lb/hr) * g/s = 0.125997881 * (cc/min)/10.5 * g/s = 0.0119997981 * cc/min - cm3/min + * units: cm3/min * offset 0 */ float flow; /** - volts + * units: volts * offset 4 */ float battLagCorrBins[VBAT_INJECTOR_CURVE_SIZE]; /** * ms delay between injector open and close dead times - ms + * units: ms * offset 36 */ float battLagCorr[VBAT_INJECTOR_CURVE_SIZE]; @@ -410,12 +410,12 @@ struct trigger_config_s { */ trigger_type_e type; /** - number + * units: number * offset 4 */ int customTotalToothCount; /** - number + * units: number * offset 8 */ int customSkippedToothCount; @@ -434,27 +434,27 @@ struct afr_sensor_s { adc_channel_e hwChannel2; /** * need 4 byte alignment - units + * units: units * offset 2 */ uint8_t alignmentFill_at_2[2]; /** - volts + * units: volts * offset 4 */ float v1; /** - AFR + * units: AFR * offset 8 */ float value1; /** - volts + * units: volts * offset 12 */ float v2; /** - AFR + * units: AFR * offset 16 */ float value2; @@ -464,7 +464,7 @@ static_assert(sizeof(afr_sensor_s) == 20); // start of idle_hardware_s struct idle_hardware_s { /** - Hz + * units: Hz * offset 0 */ int solenoidFrequency; @@ -486,7 +486,7 @@ struct idle_hardware_s { pin_output_mode_e solenoidPinMode; /** * need 4 byte alignment - units + * units: units * offset 11 */ uint8_t alignmentFill_at_11[1]; @@ -518,12 +518,12 @@ static_assert(sizeof(dc_io) == 8); // start of vr_threshold_s struct vr_threshold_s { /** - rpm + * units: rpm * offset 0 */ scaled_channel rpmBins[6]; /** - volts + * units: volts * offset 6 */ scaled_channel values[6]; @@ -533,7 +533,7 @@ struct vr_threshold_s { Gpio pin; /** * need 4 byte alignment - units + * units: units * offset 14 */ uint8_t alignmentFill_at_14[2]; @@ -554,73 +554,73 @@ struct engine_configuration_s { uint16_t startButtonSuppressOnStartUpMs; /** * Disable sensor sniffer above this rpm - RPM + * units: RPM * offset 4 */ uint16_t sensorSnifferRpmThreshold; /** * A secondary Rev limit engaged by the driver to help launch the vehicle faster - rpm + * units: rpm * offset 6 */ uint16_t launchRpm; /** * set rpm_hard_limit X - rpm + * units: rpm * offset 8 */ uint16_t rpmHardLimit; /** * Engine sniffer would be disabled above this rpm * set engineSnifferRpmThreshold X - RPM + * units: RPM * offset 10 */ uint16_t engineSnifferRpmThreshold; /** * Disable multispark above this engine speed. - rpm + * units: rpm * offset 12 */ scaled_channel multisparkMaxRpm; /** * Above this RPM, disable AC. Set to 0 to disable check. - rpm + * units: rpm * offset 13 */ scaled_channel maxAcRpm; /** * Above this TPS, disable AC. Set to 0 to disable check. - % + * units: % * offset 14 */ uint8_t maxAcTps; /** * Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check. - deg C + * units: deg C * offset 15 */ uint8_t maxAcClt; /** - RPM + * units: RPM * offset 16 */ uint16_t knockNoiseRpmBins[ENGINE_NOISE_CURVE_SIZE]; /** * This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC. - deg + * units: deg * offset 48 */ uint8_t multisparkMaxSparkingAngle; /** * Configures the maximum number of extra sparks to fire (does not include main spark) - count + * units: count * offset 49 */ uint8_t multisparkMaxExtraSparkCount; /** * need 4 byte alignment - units + * units: units * offset 50 */ uint8_t alignmentFill_at_50[2]; @@ -749,7 +749,7 @@ struct engine_configuration_s { * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X - ADC + * units: ADC * offset 124 */ int16_t tpsMin; @@ -757,21 +757,21 @@ struct engine_configuration_s { * Full throttle. * See also tps1_1AdcChannel * set tps_max X - ADC + * units: ADC * offset 126 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. - % + * units: % * offset 128 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. - % + * units: % * offset 130 */ int16_t tpsErrorDetectionTooHigh; @@ -781,19 +781,19 @@ struct engine_configuration_s { cranking_parameters_s cranking; /** * Dwell duration while cranking - ms + * units: ms * offset 140 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. - rpm + * units: rpm * offset 144 */ 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. - rpm + * units: rpm * offset 146 */ uint16_t etbRevLimitRange; @@ -812,7 +812,7 @@ struct engine_configuration_s { */ ThermistorConf iat; /** - deg + * units: deg * offset 352 */ int launchTimingRetard; @@ -820,7 +820,7 @@ struct engine_configuration_s { * value '6' for 8MHz hw osc * read hip9011 datasheet for details * todo split into two bit fields - integer + * units: integer * offset 356 */ int hip9011PrescalerAndSDO; @@ -828,18 +828,18 @@ struct engine_configuration_s { * We calculate knock band based of cylinderBore * Use this to override - kHz knock band override * Requires power cycling to effect - kHz + * units: kHz * offset 360 */ float knockBandCustom; /** * Engine displacement in litres - L + * units: L * offset 364 */ scaled_channel displacement; /** - RPM + * units: RPM * offset 366 */ uint16_t triggerSimulatorRpm; @@ -854,13 +854,13 @@ struct engine_configuration_s { firing_order_e firingOrder; /** * need 4 byte alignment - units + * units: units * offset 373 */ uint8_t alignmentFill_at_373[3]; /** * Cylinder diameter in mm. - mm + * units: mm * offset 376 */ float cylinderBore; @@ -873,7 +873,7 @@ struct engine_configuration_s { */ engine_load_mode_e fuelAlgorithm; /** - % + * units: % * offset 381 */ uint8_t ALSMaxTPS; @@ -906,7 +906,7 @@ struct engine_configuration_s { * Ignition advance angle used during engine cranking, 5-10 degrees will work as a base setting for most engines. * There is tapering towards running timing advance * set cranking_timing_angle X - deg + * units: deg * offset 388 */ angle_t crankingTimingAngle; @@ -921,25 +921,25 @@ struct engine_configuration_s { ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen - count + * units: count * offset 393 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). - kph + * units: kph * offset 394 */ uint8_t maxIdleVss; /** * need 4 byte alignment - units + * units: units * offset 395 */ uint8_t alignmentFill_at_395[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. - kPa + * units: kPa * offset 396 */ uint16_t minOilPressureAfterStart; @@ -950,14 +950,14 @@ struct engine_configuration_s { timing_mode_e timingMode; /** * need 4 byte alignment - units + * units: units * offset 399 */ uint8_t alignmentFill_at_399[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. - RPM + * units: RPM * offset 400 */ angle_t fixedModeTiming; @@ -966,31 +966,31 @@ struct engine_configuration_s { * Positive value in case of synchnization point before TDC and negative in case of synchnization point after TDC * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X - deg btdc + * units: deg btdc * offset 404 */ 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. - coef + * units: coef * offset 408 */ 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. - coef + * units: coef * offset 412 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius - deg C + * units: deg C * offset 416 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius - deg C + * units: deg C * offset 420 */ float fanOffTemperature; @@ -1000,13 +1000,13 @@ struct engine_configuration_s { output_pin_e acrPin; /** * need 4 byte alignment - units + * units: units * offset 426 */ uint8_t alignmentFill_at_426[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. - revs/km + * units: revs/km * offset 428 */ float driveWheelRevPerKm; @@ -1017,13 +1017,13 @@ struct engine_configuration_s { can_nbc_e canNbcType; /** * need 4 byte alignment - units + * units: units * offset 433 */ uint8_t alignmentFill_at_433[3]; /** * CANbus thread period in ms - ms + * units: ms * offset 436 */ int canSleepPeriodMs; @@ -1033,12 +1033,12 @@ struct engine_configuration_s { uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment - units + * units: units * offset 441 */ uint8_t alignmentFill_at_441[3]; /** - index + * units: index * offset 444 */ int byFirmwareVersion; @@ -1065,13 +1065,13 @@ struct engine_configuration_s { adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value - x + * units: x * offset 452 */ float idle_derivativeFilterLoss; /** * just a temporary solution - angle + * units: angle * offset 456 */ int trailingSparkAngle; @@ -1081,7 +1081,7 @@ struct engine_configuration_s { trigger_config_s trigger; /** * Extra air taper amount - % + * units: % * offset 472 */ float airByRpmTaper; @@ -1091,7 +1091,7 @@ struct engine_configuration_s { 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 */ uint8_t boostControlSafeDutyCycle; @@ -1104,17 +1104,17 @@ struct engine_configuration_s { */ uint8_t acrRevolutions; /** - coef + * units: coef * offset 480 */ float globalFuelCorrection; /** - volts + * units: volts * offset 484 */ float adcVcc; /** - Deg + * units: Deg * offset 488 */ float mapCamDetectionAnglePosition; @@ -1138,7 +1138,7 @@ struct engine_configuration_s { adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold - % + * units: % * offset 521 */ scaled_channel etbSplit; @@ -1170,19 +1170,19 @@ struct engine_configuration_s { idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode - % + * units: % * offset 552 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. - % + * units: % * offset 556 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. - deg/s + * units: deg/s * offset 557 */ scaled_channel knockRetardReapplyRate; @@ -1198,13 +1198,13 @@ struct engine_configuration_s { 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. - ratio + * units: ratio * offset 560 */ 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. - count + * units: count * offset 562 */ uint8_t vssToothCount; @@ -1244,7 +1244,7 @@ struct engine_configuration_s { pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen - count + * units: count * offset 619 */ int8_t gapVvtTrackingLengthOverride; @@ -1305,7 +1305,7 @@ struct engine_configuration_s { spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment - units + * units: units * offset 645 */ uint8_t alignmentFill_at_645[1]; @@ -1341,7 +1341,7 @@ struct engine_configuration_s { */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** - % + * units: % * offset 653 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; @@ -1356,7 +1356,7 @@ struct engine_configuration_s { Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value - x + * units: x * offset 664 */ float idle_antiwindupFreq; @@ -1366,7 +1366,7 @@ struct engine_configuration_s { 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. - us + * units: us * offset 672 */ uint16_t mc33_t_min_boost; @@ -1376,7 +1376,7 @@ struct engine_configuration_s { pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment - units + * units: units * offset 675 */ uint8_t alignmentFill_at_675[1]; @@ -1390,7 +1390,7 @@ struct engine_configuration_s { pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment - units + * units: units * offset 679 */ uint8_t alignmentFill_at_679[1]; @@ -1418,13 +1418,13 @@ struct engine_configuration_s { 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. - ratio + * units: ratio * offset 690 */ scaled_channel finalGearRatio; @@ -1438,14 +1438,14 @@ struct engine_configuration_s { uint8_t tcuInputSpeedSensorTeeth; /** * need 4 byte alignment - units + * units: units * offset 695 */ uint8_t alignmentFill_at_695[1]; /** * Voltage when the wastegate is closed. * You probably don't have one of these! - mv + * units: mv * offset 696 */ uint16_t wastegatePositionMin; @@ -1453,14 +1453,14 @@ struct engine_configuration_s { * Voltage when the wastegate is fully open. * You probably don't have one of these! * 1 volt = 1000 units - mv + * units: mv * offset 698 */ uint16_t wastegatePositionMax; /** * Voltage when the idle valve is closed. * You probably don't have one of these! - mv + * units: mv * offset 700 */ uint16_t idlePositionMin; @@ -1468,19 +1468,19 @@ struct engine_configuration_s { * Voltage when the idle valve is open. * You probably don't have one of these! * 1 volt = 1000 units - mv + * units: mv * offset 702 */ uint16_t idlePositionMax; /** * Secondary TTL channel baud rate - BPs + * units: BPs * offset 704 */ uint32_t tunerStudioSerialSpeed; /** * Just for reference really, not taken into account by any logic at this point - CR + * units: CR * offset 708 */ float compressionRatio; @@ -1491,7 +1491,7 @@ struct engine_configuration_s { */ Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; /** - g/s + * units: g/s * offset 716 */ scaled_channel fordInjectorSmallPulseSlope; @@ -1505,7 +1505,7 @@ struct engine_configuration_s { adc_channel_e maf2AdcChannel; /** * need 4 byte alignment - units + * units: units * offset 721 */ uint8_t alignmentFill_at_721[1]; @@ -1519,18 +1519,18 @@ struct engine_configuration_s { */ pin_output_mode_e o2heaterPinModeTodO; /** - RPM + * units: RPM * offset 725 */ scaled_channel lambdaProtectionMinRpm; /** - % + * units: % * offset 726 */ scaled_channel lambdaProtectionMinLoad; /** * need 4 byte alignment - units + * units: units * offset 727 */ uint8_t alignmentFill_at_727[1]; @@ -1653,7 +1653,7 @@ struct engine_configuration_s { pin_output_mode_e mainRelayPinMode; /** * need 4 byte alignment - units + * units: units * offset 741 */ uint8_t alignmentFill_at_741[1]; @@ -1671,7 +1671,7 @@ struct engine_configuration_s { pin_output_mode_e hip9011IntHoldPinMode; /** * need 4 byte alignment - units + * units: units * offset 747 */ uint8_t alignmentFill_at_747[1]; @@ -1681,13 +1681,13 @@ struct engine_configuration_s { uint32_t verboseCanBaseAddress; /** * Boost Voltage - v + * units: v * offset 752 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. - kPa + * units: kPa * offset 753 */ uint8_t minimumBoostClosedLoopMap; @@ -1705,7 +1705,7 @@ struct engine_configuration_s { */ spi_device_e l9779spiDevice; /** - volts + * units: volts * offset 758 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; @@ -1714,31 +1714,31 @@ struct engine_configuration_s { */ imu_type_e imuType; /** - multiplier + * units: multiplier * offset 767 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment - units + * units: units * offset 775 */ uint8_t alignmentFill_at_775[1]; /** - kg + * units: kg * offset 776 */ 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. - RPM + * units: RPM * offset 778 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. - ms + * units: ms * offset 780 */ scaled_channel applyNonlinearBelowPulse; @@ -1790,19 +1790,19 @@ struct engine_configuration_s { spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 - :1 + * units: :1 * offset 814 */ 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 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). - hz + * units: hz * offset 816 */ uint16_t sdCardLogFrequency; @@ -1812,7 +1812,7 @@ struct engine_configuration_s { adc_channel_e idlePositionChannel; /** * need 4 byte alignment - units + * units: units * offset 819 */ uint8_t alignmentFill_at_819[1]; @@ -1831,7 +1831,7 @@ struct engine_configuration_s { pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment - units + * units: units * offset 825 */ uint8_t alignmentFill_at_825[1]; @@ -1847,45 +1847,45 @@ struct engine_configuration_s { switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment - units + * units: units * offset 830 */ uint8_t alignmentFill_at_830[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. - count + * units: count * offset 832 */ 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 */ int16_t idlePidDeactivationTpsThreshold; /** - % + * units: % * offset 838 */ int16_t stepperParkingExtraSteps; /** - ADC + * units: ADC * offset 840 */ uint16_t tps1SecondaryMin; /** - ADC + * units: ADC * offset 842 */ uint16_t tps1SecondaryMax; /** - rpm + * units: rpm * offset 844 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed - Seconds + * units: Seconds * offset 846 */ uint16_t startCrankingDuration; @@ -1900,7 +1900,7 @@ struct engine_configuration_s { pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment - units + * units: units * offset 851 */ uint8_t alignmentFill_at_851[1]; @@ -1909,18 +1909,18 @@ struct engine_configuration_s { */ output_pin_e acRelayPin; /** - % + * units: % * offset 854 */ 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 - s + * units: s * offset 855 */ scaled_channel lambdaProtectionTimeout; /** - RPM + * units: RPM * offset 856 */ scaled_channel lambdaProtectionRestoreRpm; @@ -1930,7 +1930,7 @@ struct engine_configuration_s { pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment - units + * units: units * offset 858 */ uint8_t alignmentFill_at_858[2]; @@ -1995,7 +1995,7 @@ struct engine_configuration_s { maf_sensor_type_e mafSensorType; /** * need 4 byte alignment - units + * units: units * offset 915 */ uint8_t alignmentFill_at_915[1]; @@ -2033,7 +2033,7 @@ struct engine_configuration_s { offset 916 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. Use of this mode is required if you have a narrowband O2 sensor. + * 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 */ bool stftIgnoreErrorMagnitude : 1 {}; /** @@ -2120,7 +2120,7 @@ struct engine_configuration_s { pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment - units + * units: units * offset 939 */ uint8_t alignmentFill_at_939[1]; @@ -2149,7 +2149,7 @@ struct engine_configuration_s { */ Gpio ignitionKeyDigitalPin; /** - Hz + * units: Hz * offset 968 */ int boostPwmFrequency; @@ -2163,37 +2163,37 @@ struct engine_configuration_s { antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment - units + * units: units * offset 974 */ uint8_t alignmentFill_at_974[2]; /** * Launch disabled above this speed if setting is above zero - Kph + * units: Kph * offset 976 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate - RPM + * units: RPM * offset 980 */ int launchTimingRpmRange; /** * Extra Fuel Added - % + * units: % * offset 984 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid - % + * units: % * offset 988 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut - RPM + * units: RPM * offset 992 */ int hardCutRpmRange; @@ -2250,7 +2250,7 @@ struct engine_configuration_s { spi_device_e drv8860spiDevice; /** * need 4 byte alignment - units + * units: units * offset 1159 */ uint8_t alignmentFill_at_1159[1]; @@ -2264,7 +2264,7 @@ struct engine_configuration_s { pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment - units + * units: units * offset 1163 */ uint8_t alignmentFill_at_1163[1]; @@ -2273,7 +2273,7 @@ struct engine_configuration_s { */ Gpio drv8860_miso; /** - volt + * units: volt * offset 1166 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; @@ -2283,14 +2283,14 @@ struct engine_configuration_s { output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment - units + * units: units * offset 1198 */ uint8_t alignmentFill_at_1198[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X - value + * units: value * offset 1200 */ float vvtOffsets[CAM_INPUTS_COUNT]; @@ -2303,12 +2303,12 @@ struct engine_configuration_s { */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** - ADC + * units: ADC * offset 1312 */ uint16_t tps2SecondaryMin; /** - ADC + * units: ADC * offset 1314 */ uint16_t tps2SecondaryMax; @@ -2429,7 +2429,7 @@ struct engine_configuration_s { adc_channel_e hipOutputChannel; /** * need 4 byte alignment - units + * units: units * offset 1321 */ uint8_t alignmentFill_at_1321[1]; @@ -2444,7 +2444,7 @@ struct engine_configuration_s { adc_channel_e vRefAdcChannel; /** * Expected neutral position - % + * units: % * offset 1325 */ uint8_t etbNeutralPosition; @@ -2455,7 +2455,7 @@ struct engine_configuration_s { idle_mode_e idleMode; /** * need 4 byte alignment - units + * units: units * offset 1327 */ uint8_t alignmentFill_at_1327[1]; @@ -2582,12 +2582,12 @@ struct engine_configuration_s { offset 1328 bit 31 */ bool watchOutForLinearTime : 1 {}; /** - count + * units: count * offset 1332 */ uint32_t engineChartSize; /** - mult + * units: mult * offset 1336 */ float turboSpeedSensorMultiplier; @@ -2597,45 +2597,45 @@ struct engine_configuration_s { 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. - RPM + * units: RPM * offset 1348 */ int16_t acIdleRpmTarget; /** * set warningPeriod X - seconds + * units: seconds * offset 1350 */ int16_t warningPeriod; /** - angle + * units: angle * offset 1352 */ float knockDetectionWindowStart; /** - angle + * units: angle * offset 1356 */ float knockDetectionWindowEnd; /** - ms + * units: ms * offset 1360 */ float idleStepperReactionTime; /** - count + * units: count * offset 1364 */ int idleStepperTotalSteps; /** * TODO: finish this #413 - sec + * units: sec * offset 1368 */ 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. - index + * units: index * offset 1372 */ int mapAveragingSchedulingAtIndex; @@ -2646,7 +2646,7 @@ struct engine_configuration_s { float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. - Seconds + * units: Seconds * offset 1380 */ float wwaeTau; @@ -2664,7 +2664,7 @@ struct engine_configuration_s { Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper - RPM + * units: RPM * offset 1428 */ int16_t airTaperRpmRange; @@ -2676,7 +2676,7 @@ struct engine_configuration_s { * Closed throttle#2. todo: extract these two fields into a structure * See also tps2_1AdcChannel * set tps2_min X - ADC + * units: ADC * offset 1432 */ int16_t tps2Min; @@ -2684,7 +2684,7 @@ struct engine_configuration_s { * Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage! * See also tps1_1AdcChannel * set tps2_max X - ADC + * units: ADC * offset 1434 */ int16_t tps2Max; @@ -2699,7 +2699,7 @@ struct engine_configuration_s { pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment - units + * units: units * offset 1439 */ uint8_t alignmentFill_at_1439[1]; @@ -2708,37 +2708,37 @@ struct engine_configuration_s { */ Gpio mc33816_flag0; /** - Pulse + * units: Pulse * offset 1442 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment - units + * units: units * offset 1443 */ uint8_t alignmentFill_at_1443[1]; /** * kPa value which is too low to be true - kPa + * units: kPa * offset 1444 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true - kPa + * units: kPa * offset 1448 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. - ms + * units: ms * offset 1452 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. - ms + * units: ms * offset 1454 */ scaled_channel multisparkDwell; @@ -2749,7 +2749,7 @@ struct engine_configuration_s { 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. - Fraction + * units: Fraction * offset 1476 */ float wwaeBeta; @@ -2775,47 +2775,140 @@ struct engine_configuration_s { */ switch_input_pin_e tcuDownshiftButtonPin; /** - voltage + * units: voltage * offset 1492 */ float throttlePedalUpVoltage; /** * Pedal in the floor - voltage + * units: voltage * offset 1496 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure - seconds + * units: seconds * offset 1500 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation - RPM + * units: RPM * offset 1502 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain - Volts + * units: Volts * offset 1504 */ float targetVBatt; /** - * offset 1508 - */ - uint32_t unused1372; + * See Over/Undervoltage Shutdown/Retry bit in documentation + offset 1508 bit 0 */ + bool mc33810DisableRecoveryMode : 1 {}; + /** + offset 1508 bit 1 */ + bool mc33810Gpgd0Mode : 1 {}; + /** + offset 1508 bit 2 */ + bool mc33810Gpgd1Mode : 1 {}; + /** + offset 1508 bit 3 */ + bool mc33810Gpgd2Mode : 1 {}; + /** + offset 1508 bit 4 */ + bool mc33810Gpgd3Mode : 1 {}; + /** + offset 1508 bit 5 */ + bool unusedBit_494_5 : 1 {}; + /** + offset 1508 bit 6 */ + bool unusedBit_494_6 : 1 {}; + /** + offset 1508 bit 7 */ + bool unusedBit_494_7 : 1 {}; + /** + offset 1508 bit 8 */ + bool unusedBit_494_8 : 1 {}; + /** + offset 1508 bit 9 */ + bool unusedBit_494_9 : 1 {}; + /** + offset 1508 bit 10 */ + bool unusedBit_494_10 : 1 {}; + /** + offset 1508 bit 11 */ + bool unusedBit_494_11 : 1 {}; + /** + offset 1508 bit 12 */ + bool unusedBit_494_12 : 1 {}; + /** + offset 1508 bit 13 */ + bool unusedBit_494_13 : 1 {}; + /** + offset 1508 bit 14 */ + bool unusedBit_494_14 : 1 {}; + /** + offset 1508 bit 15 */ + bool unusedBit_494_15 : 1 {}; + /** + offset 1508 bit 16 */ + bool unusedBit_494_16 : 1 {}; + /** + offset 1508 bit 17 */ + bool unusedBit_494_17 : 1 {}; + /** + offset 1508 bit 18 */ + bool unusedBit_494_18 : 1 {}; + /** + offset 1508 bit 19 */ + bool unusedBit_494_19 : 1 {}; + /** + offset 1508 bit 20 */ + bool unusedBit_494_20 : 1 {}; + /** + offset 1508 bit 21 */ + bool unusedBit_494_21 : 1 {}; + /** + offset 1508 bit 22 */ + bool unusedBit_494_22 : 1 {}; + /** + offset 1508 bit 23 */ + bool unusedBit_494_23 : 1 {}; + /** + offset 1508 bit 24 */ + bool unusedBit_494_24 : 1 {}; + /** + offset 1508 bit 25 */ + bool unusedBit_494_25 : 1 {}; + /** + offset 1508 bit 26 */ + bool unusedBit_494_26 : 1 {}; + /** + offset 1508 bit 27 */ + bool unusedBit_494_27 : 1 {}; + /** + offset 1508 bit 28 */ + bool unusedBit_494_28 : 1 {}; + /** + offset 1508 bit 29 */ + bool unusedBit_494_29 : 1 {}; + /** + offset 1508 bit 30 */ + bool unusedBit_494_30 : 1 {}; + /** + offset 1508 bit 31 */ + bool unusedBit_494_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. - cycles + * units: cycles * offset 1512 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. - percent + * units: percent * offset 1514 */ int16_t iacByTpsTaper; @@ -2835,37 +2928,37 @@ struct engine_configuration_s { 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. - sec + * units: sec * offset 1522 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. - kph + * units: kph * offset 1523 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. - kph + * units: kph * offset 1524 */ 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. - sec + * units: sec * offset 1525 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment - units + * units: units * offset 1526 */ uint8_t alignmentFill_at_1526[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. - roc + * units: roc * offset 1528 */ float tpsAccelEnrichmentThreshold; @@ -2889,41 +2982,41 @@ struct engine_configuration_s { debug_mode_e debugMode; /** * Additional idle % when fan #1 is active - % + * units: % * offset 1539 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL - BPs + * units: BPs * offset 1540 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! - roc + * units: roc * offset 1544 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration - coeff + * units: coeff * offset 1548 */ float tpsDecelEnleanmentMultiplier; /** - BPs + * units: BPs * offset 1552 */ uint32_t auxSerialSpeed; /** - voltage + * units: voltage * offset 1556 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor - voltage + * units: voltage * offset 1560 */ float throttlePedalSecondaryWOTVoltage; @@ -2949,24 +3042,24 @@ struct engine_configuration_s { */ load_override_e afrOverrideMode; /** - A + * units: A * offset 1568 */ scaled_channel mc33_hpfp_i_peak; /** - A + * units: A * offset 1569 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again - us + * units: us * offset 1570 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error - ms + * units: ms * offset 1571 */ uint8_t mc33_hpfp_max_hold; @@ -3001,76 +3094,76 @@ struct engine_configuration_s { bool can2ListenMode : 1 {}; /** offset 1572 bit 8 */ - bool unusedBit_528_8 : 1 {}; + bool unusedBit_559_8 : 1 {}; /** offset 1572 bit 9 */ - bool unusedBit_528_9 : 1 {}; + bool unusedBit_559_9 : 1 {}; /** offset 1572 bit 10 */ - bool unusedBit_528_10 : 1 {}; + bool unusedBit_559_10 : 1 {}; /** offset 1572 bit 11 */ - bool unusedBit_528_11 : 1 {}; + bool unusedBit_559_11 : 1 {}; /** offset 1572 bit 12 */ - bool unusedBit_528_12 : 1 {}; + bool unusedBit_559_12 : 1 {}; /** offset 1572 bit 13 */ - bool unusedBit_528_13 : 1 {}; + bool unusedBit_559_13 : 1 {}; /** offset 1572 bit 14 */ - bool unusedBit_528_14 : 1 {}; + bool unusedBit_559_14 : 1 {}; /** offset 1572 bit 15 */ - bool unusedBit_528_15 : 1 {}; + bool unusedBit_559_15 : 1 {}; /** offset 1572 bit 16 */ - bool unusedBit_528_16 : 1 {}; + bool unusedBit_559_16 : 1 {}; /** offset 1572 bit 17 */ - bool unusedBit_528_17 : 1 {}; + bool unusedBit_559_17 : 1 {}; /** offset 1572 bit 18 */ - bool unusedBit_528_18 : 1 {}; + bool unusedBit_559_18 : 1 {}; /** offset 1572 bit 19 */ - bool unusedBit_528_19 : 1 {}; + bool unusedBit_559_19 : 1 {}; /** offset 1572 bit 20 */ - bool unusedBit_528_20 : 1 {}; + bool unusedBit_559_20 : 1 {}; /** offset 1572 bit 21 */ - bool unusedBit_528_21 : 1 {}; + bool unusedBit_559_21 : 1 {}; /** offset 1572 bit 22 */ - bool unusedBit_528_22 : 1 {}; + bool unusedBit_559_22 : 1 {}; /** offset 1572 bit 23 */ - bool unusedBit_528_23 : 1 {}; + bool unusedBit_559_23 : 1 {}; /** offset 1572 bit 24 */ - bool unusedBit_528_24 : 1 {}; + bool unusedBit_559_24 : 1 {}; /** offset 1572 bit 25 */ - bool unusedBit_528_25 : 1 {}; + bool unusedBit_559_25 : 1 {}; /** offset 1572 bit 26 */ - bool unusedBit_528_26 : 1 {}; + bool unusedBit_559_26 : 1 {}; /** offset 1572 bit 27 */ - bool unusedBit_528_27 : 1 {}; + bool unusedBit_559_27 : 1 {}; /** offset 1572 bit 28 */ - bool unusedBit_528_28 : 1 {}; + bool unusedBit_559_28 : 1 {}; /** offset 1572 bit 29 */ - bool unusedBit_528_29 : 1 {}; + bool unusedBit_559_29 : 1 {}; /** offset 1572 bit 30 */ - bool unusedBit_528_30 : 1 {}; + bool unusedBit_559_30 : 1 {}; /** offset 1572 bit 31 */ - bool unusedBit_528_31 : 1 {}; + bool unusedBit_559_31 : 1 {}; /** * offset 1576 */ @@ -3078,20 +3171,20 @@ struct engine_configuration_s { /** * offset 1577 */ - uint8_t mc33810maxDwellTimer; + mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse - ms + * units: ms * offset 1578 */ scaled_channel benchTestOnTime; /** - % + * units: % * offset 1580 */ uint8_t lambdaProtectionRestoreTps; /** - % + * units: % * offset 1581 */ scaled_channel lambdaProtectionRestoreLoad; @@ -3101,7 +3194,7 @@ struct engine_configuration_s { pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment - units + * units: units * offset 1583 */ uint8_t alignmentFill_at_1583[1]; @@ -3144,48 +3237,48 @@ struct engine_configuration_s { pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment - units + * units: units * offset 1595 */ uint8_t alignmentFill_at_1595[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. - kPa (absolute) + * units: kPa (absolute) * offset 1596 */ float boostCutPressure; /** - kg/h + * units: kg/h * offset 1600 */ scaled_channel tchargeBins[16]; /** - ratio + * units: ratio * offset 1616 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing - deg + * units: deg * offset 1632 */ float fixedTiming; /** * MAP voltage for low point - v + * units: v * offset 1636 */ float mapLowValueVoltage; /** * MAP voltage for low point - v + * units: v * offset 1640 */ float mapHighValueVoltage; /** * EGO value correction - value + * units: value * offset 1644 */ float egoValueShift; @@ -3200,13 +3293,13 @@ struct engine_configuration_s { pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment - units + * units: units * offset 1657 */ uint8_t alignmentFill_at_1657[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. - percent + * units: percent * offset 1660 */ int crankingIACposition; @@ -3232,18 +3325,18 @@ struct engine_configuration_s { 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. - deg BTDC + * units: deg BTDC * offset 1682 */ 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 - deg BTDC + * units: deg BTDC * offset 1683 */ int8_t maximumIgnitionTiming; /** - Hz + * units: Hz * offset 1684 */ int alternatorPwmFrequency; @@ -3254,13 +3347,13 @@ struct engine_configuration_s { vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active - % + * units: % * offset 1690 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. - sec + * units: sec * offset 1691 */ scaled_channel primingDelay; @@ -3294,22 +3387,22 @@ struct engine_configuration_s { /** * 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. - kPa + * units: kPa * offset 1728 */ float fuelReferencePressure; /** - mult + * units: mult * offset 1732 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** - count + * units: count * offset 1876 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** - C + * units: C * offset 1900 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; @@ -3322,12 +3415,12 @@ struct engine_configuration_s { */ ThermistorConf auxTempSensor2; /** - Deg + * units: Deg * offset 1988 */ int16_t knockSamplingDuration; /** - Hz + * units: Hz * offset 1990 */ int16_t etbFreq; @@ -3342,13 +3435,13 @@ struct engine_configuration_s { 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 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) - % + * units: % * offset 2014 */ uint8_t stepperMaxDutyCycle; @@ -3358,12 +3451,12 @@ struct engine_configuration_s { spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction - deg + * units: deg * offset 2016 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** - seconds + * units: seconds * offset 2064 */ float idlePidActivationTime; @@ -3428,7 +3521,7 @@ struct engine_configuration_s { pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment - units + * units: units * offset 2085 */ uint8_t alignmentFill_at_2085[3]; @@ -3443,7 +3536,7 @@ struct engine_configuration_s { */ float injectorCorrectionPolynomial[8]; /** - C + * units: C * offset 2160 */ int8_t primeBins[PRIME_CURVE_COUNT]; @@ -3457,7 +3550,7 @@ struct engine_configuration_s { spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment - units + * units: units * offset 2189 */ uint8_t alignmentFill_at_2189[1]; @@ -3467,13 +3560,13 @@ struct engine_configuration_s { output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius - deg C + * units: deg C * offset 2192 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius - deg C + * units: deg C * offset 2193 */ uint8_t fan2OffTemperature; @@ -3491,7 +3584,7 @@ struct engine_configuration_s { pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment - units + * units: units * offset 2199 */ uint8_t alignmentFill_at_2199[1]; @@ -3501,17 +3594,17 @@ struct engine_configuration_s { Gpio mc33816_cs; /** * need 4 byte alignment - units + * units: units * offset 2202 */ uint8_t alignmentFill_at_2202[2]; /** - hz + * units: hz * offset 2204 */ float auxFrequencyFilter; /** - RPM + * units: RPM * offset 2208 */ int16_t vvtControlMinRpm; @@ -3520,13 +3613,13 @@ struct engine_configuration_s { */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** - % + * units: % * offset 2212 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. - sec + * units: sec * offset 2213 */ scaled_channel etbJamTimeout; @@ -3541,37 +3634,37 @@ struct engine_configuration_s { float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. - rpm + * units: rpm * offset 2220 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle - rpm + * units: rpm * offset 2222 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. - % + * units: % * offset 2224 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. - C + * units: C * offset 2226 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; @@ -3723,7 +3816,7 @@ struct engine_configuration_s { 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 */ float etbIdleThrottleRange; @@ -3733,41 +3826,41 @@ struct engine_configuration_s { */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** - mg + * units: mg * offset 2660 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage - V + * units: V * offset 2668 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) - V + * units: V * offset 2669 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) - V + * units: V * offset 2670 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM - RPM + * units: RPM * offset 2671 */ scaled_channel triggerCompSensorSatRpm; /** - ratio + * units: ratio * offset 2672 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - RPM + * units: RPM * offset 2684 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; @@ -3781,7 +3874,7 @@ struct engine_configuration_s { can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment - units + * units: units * offset 2694 */ uint8_t alignmentFill_at_2694[2]; @@ -3791,52 +3884,52 @@ struct engine_configuration_s { gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current - mA + * units: mA * offset 3128 */ uint16_t mc33_i_boost; /** * Peak Current - mA + * units: mA * offset 3130 */ uint16_t mc33_i_peak; /** * Hold Current - mA + * units: mA * offset 3132 */ 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. - us + * units: us * offset 3134 */ uint16_t mc33_t_max_boost; /** - us + * units: us * offset 3136 */ uint16_t mc33_t_peak_off; /** * Peak phase duration - us + * units: us * offset 3138 */ uint16_t mc33_t_peak_tot; /** - us + * units: us * offset 3140 */ uint16_t mc33_t_bypass; /** - us + * units: us * offset 3142 */ uint16_t mc33_t_hold_off; /** * Hold phase duration - us + * units: us * offset 3144 */ uint16_t mc33_t_hold_tot; @@ -3858,67 +3951,67 @@ struct engine_configuration_s { pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. - dB + * units: dB * offset 3155 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment - units + * units: units * offset 3171 */ uint8_t alignmentFill_at_3171[1]; /** - ratio + * units: ratio * offset 3172 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** - ratio + * units: ratio * offset 3244 */ 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. - rpm + * units: rpm * offset 3316 */ 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... - sec + * units: sec * offset 3317 */ 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. - sec + * units: sec * offset 3318 */ scaled_channel acDelay; /** * need 4 byte alignment - units + * units: units * offset 3319 */ uint8_t alignmentFill_at_3319[1]; /** - mg + * units: mg * offset 3320 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** - multiplier + * units: multiplier * offset 3322 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** - % + * units: % * offset 3326 */ uint8_t etbJamIntegratorLimit; /** - lobes/cam + * units: lobes/cam * offset 3327 */ uint8_t hpfpCamLobes; @@ -3932,25 +4025,25 @@ struct engine_configuration_s { uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump - deg + * units: deg * offset 3330 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment - units + * units: units * offset 3331 */ uint8_t alignmentFill_at_3331[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. - cc + * units: cc * offset 3332 */ 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) - deg + * units: deg * offset 3334 */ uint8_t hpfpActivationAngle; @@ -3959,68 +4052,68 @@ struct engine_configuration_s { */ uint8_t issFilterReciprocal; /** - %/kPa + * units: %/kPa * offset 3336 */ scaled_channel hpfpPidP; /** - %/kPa/lobe + * units: %/kPa/lobe * offset 3338 */ 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. - kPa/s + * units: kPa/s * offset 3340 */ uint16_t hpfpTargetDecay; /** - % + * units: % * offset 3342 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** - deg + * units: deg * offset 3358 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** - volts + * units: volts * offset 3374 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** - ms + * units: ms * offset 3382 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** - kPa + * units: kPa * offset 3398 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** - load + * units: load * offset 3598 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** - RPM + * units: RPM * offset 3618 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** - % + * units: % * offset 3628 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** - cc/lobe + * units: cc/lobe * offset 3728 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** - RPM + * units: RPM * offset 3748 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; @@ -4029,18 +4122,18 @@ struct engine_configuration_s { */ output_pin_e stepper_raw_output[4]; /** - ratio + * units: ratio * offset 3766 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT - ms + * units: ms * offset 3786 */ uint16_t vvtActivationDelayMs; /** - deg C + * units: deg C * offset 3788 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; @@ -4053,7 +4146,7 @@ struct engine_configuration_s { */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** - kPa + * units: kPa * offset 3812 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; @@ -4066,17 +4159,17 @@ struct engine_configuration_s { */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** - Nm + * units: Nm * offset 3836 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** - RPM + * units: RPM * offset 3872 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** - Load + * units: Load * offset 3884 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; @@ -4089,7 +4182,7 @@ struct engine_configuration_s { */ TransmissionControllerMode transmissionControllerMode; /** - deg + * units: deg * offset 3898 */ uint16_t acrDisablePhase; @@ -4111,7 +4204,7 @@ struct engine_configuration_s { pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment - units + * units: units * offset 3943 */ uint8_t alignmentFill_at_3943[1]; @@ -4125,7 +4218,7 @@ struct engine_configuration_s { pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment - units + * units: units * offset 3947 */ uint8_t alignmentFill_at_3947[1]; @@ -4143,7 +4236,7 @@ struct engine_configuration_s { pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment - units + * units: units * offset 3953 */ uint8_t alignmentFill_at_3953[1]; @@ -4161,7 +4254,7 @@ struct engine_configuration_s { pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment - units + * units: units * offset 3959 */ uint8_t alignmentFill_at_3959[1]; @@ -4174,7 +4267,7 @@ struct engine_configuration_s { */ output_pin_e acrPin2; /** - % + * units: % * offset 3964 */ float etbMinimumPosition; @@ -4188,7 +4281,7 @@ struct engine_configuration_s { vin_number_t vinNumber; /** * need 4 byte alignment - units + * units: units * offset 3987 */ uint8_t alignmentFill_at_3987[1]; @@ -4206,7 +4299,7 @@ struct engine_configuration_s { fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment - units + * units: units * offset 4057 */ uint8_t alignmentFill_at_4057[1]; @@ -4215,32 +4308,32 @@ struct engine_configuration_s { */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** - RPM + * units: RPM * offset 4074 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** - rpm + * units: rpm * offset 4078 */ int16_t ALSMinRPM; /** - rpm + * units: rpm * offset 4080 */ int16_t ALSMaxRPM; /** - sec + * units: sec * offset 4082 */ int16_t ALSMaxDuration; /** - C + * units: C * offset 4084 */ int8_t ALSMinCLT; /** - C + * units: C * offset 4085 */ int8_t ALSMaxCLT; @@ -4253,7 +4346,7 @@ struct engine_configuration_s { */ uint8_t alsEtbPosition; /** - % + * units: % * offset 4088 */ uint8_t acRelayAlternatorDutyAdder; @@ -4266,12 +4359,12 @@ struct engine_configuration_s { */ uint16_t customSentTpsMin; /** - % + * units: % * offset 4092 */ int ALSIdleAdd; /** - % + * units: % * offset 4096 */ int ALSEtbAdd; @@ -4280,7 +4373,7 @@ struct engine_configuration_s { */ float ALSSkipRatio; /** - % + * units: % * offset 4104 */ uint8_t ALSMaxDriverThrottleIntent; @@ -4290,13 +4383,13 @@ struct engine_configuration_s { pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% - % + * units: % * offset 4106 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% - % + * units: % * offset 4107 */ scaled_channel ppsSecondaryMaximum; @@ -4322,60 +4415,60 @@ struct engine_configuration_s { UiMode uiMode; /** * Crank angle ATDC of first lobe peak - deg + * units: deg * offset 4122 */ int16_t hpfpPeakPos; /** - us + * units: us * offset 4124 */ 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) - RPM + * units: RPM * offset 4126 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window - deg + * units: deg * offset 4127 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window - % + * units: % * offset 4128 */ 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 - RPM + * units: RPM * offset 4129 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses - ms + * units: ms * offset 4130 */ 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 - kPa (absolute) + * units: kPa (absolute) * offset 4132 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear - % + * units: % * offset 4133 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment - units + * units: units * offset 4143 */ uint8_t alignmentFill_at_4143[1]; @@ -4386,13 +4479,13 @@ struct engine_configuration_s { uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. - seconds + * units: seconds * offset 4148 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. - seconds + * units: seconds * offset 4149 */ scaled_channel iacByTpsDecayTime; @@ -4406,13 +4499,13 @@ struct engine_configuration_s { 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. - ratio + * units: ratio * offset 4168 */ scaled_channel canVssScaling; /** * need 4 byte alignment - units + * units: units * offset 4170 */ uint8_t alignmentFill_at_4170[2]; @@ -4468,22 +4561,22 @@ struct engine_configuration_s { */ uint8_t unusedExplicitFilling2; /** - ratio + * units: ratio * offset 4316 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** - ratio + * units: ratio * offset 4332 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** - % + * units: % * offset 4348 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** - units + * units: units * offset 4384 */ uint8_t mainUnusedEnd[172]; @@ -4506,12 +4599,12 @@ struct blend_table_s { */ scaled_channel table[8][8]; /** - Load + * units: Load * offset 128 */ uint16_t loadBins[8]; /** - RPM + * units: RPM * offset 144 */ uint16_t rpmBins[8]; @@ -4521,7 +4614,7 @@ struct blend_table_s { gppwm_channel_e blendParameter; /** * need 4 byte alignment - units + * units: units * offset 161 */ uint8_t alignmentFill_at_161[1]; @@ -4530,13 +4623,13 @@ struct blend_table_s { */ scaled_channel blendBins[8]; /** - % + * units: % * offset 178 */ scaled_channel blendValues[8]; /** * need 4 byte alignment - units + * units: units * offset 186 */ uint8_t alignmentFill_at_186[2]; @@ -4552,183 +4645,176 @@ struct persistent_config_s { /** * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method - target TPS position + * units: target TPS position * offset 4556 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% - ETB duty cycle bias + * units: ETB duty cycle bias * offset 4588 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** - % + * units: % * offset 4620 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** - Load + * units: Load * offset 4684 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** - RPM + * units: RPM * offset 4692 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM - RPM + * units: RPM * offset 4700 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** - ms + * units: ms * offset 4716 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller - C + * units: C * offset 4732 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid - RPM + * units: RPM * offset 4748 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction - C + * units: C * offset 4764 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** - degree + * units: degree * offset 4796 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** - x + * units: x * offset 4828 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** - y + * units: y * offset 4892 */ float scriptCurve1[SCRIPT_CURVE_16]; /** - x + * units: x * offset 4956 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** - y + * units: y * offset 5020 */ float scriptCurve2[SCRIPT_CURVE_16]; /** - x + * units: x * offset 5084 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** - y + * units: y * offset 5116 */ float scriptCurve3[SCRIPT_CURVE_8]; /** - x + * units: x * offset 5148 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** - y + * units: y * offset 5180 */ float scriptCurve4[SCRIPT_CURVE_8]; /** - x + * units: x * offset 5212 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** - y + * units: y * offset 5244 */ float scriptCurve5[SCRIPT_CURVE_8]; /** - x + * units: x * offset 5276 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** - y + * units: y * offset 5308 */ float scriptCurve6[SCRIPT_CURVE_8]; /** - kPa + * units: kPa * offset 5340 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** - RPM + * units: RPM * offset 5356 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** - ratio + * units: ratio * offset 5372 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS - Ratio + * units: Ratio * offset 5436 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** - % + * units: % * offset 5468 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** - * Narrow Band WBO Approximation - V * offset 5500 */ - float narrowToWideOxygenBins[NARROW_BAND_WIDE_BAND_CONVERSION_SIZE]; - /** - ratio - * offset 5532 - */ - float narrowToWideOxygen[NARROW_BAND_WIDE_BAND_CONVERSION_SIZE]; + float unusedSpaceHere[16]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) - RPM + * units: RPM * offset 5564 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) - deg + * units: deg * offset 5572 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting - RPM + * units: RPM * offset 5580 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting - % + * units: % * offset 5596 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; @@ -4737,22 +4823,22 @@ struct persistent_config_s { */ warning_message_t warning_message; /** - C + * units: C * offset 5732 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** - Seconds + * units: Seconds * offset 5764 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** - % + * units: % * offset 5796 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** - Seconds + * units: Seconds * offset 5828 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; @@ -4761,7 +4847,7 @@ struct persistent_config_s { */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** - RPM + * units: RPM * offset 5924 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; @@ -4770,61 +4856,61 @@ struct persistent_config_s { */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** - % + * units: % * offset 5996 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** - % + * units: % * offset 6004 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** - % + * units: % * offset 6068 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** - RPM + * units: RPM * offset 6076 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller - C + * units: C * offset 6084 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller - % + * units: % * offset 6116 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) - RPM + * units: RPM * offset 6148 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) - deg + * units: deg * offset 6156 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** - RPM + * units: RPM * offset 6188 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** - load + * units: load * offset 6192 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** - % + * units: % * offset 6196 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; @@ -4833,54 +4919,54 @@ struct persistent_config_s { */ lua_script_t luaScript; /** - C + * units: C * offset 14228 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** - ratio + * units: ratio * offset 14292 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** - C + * units: C * offset 14356 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** - ratio + * units: ratio * offset 14420 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** - ratio + * units: ratio * offset 14484 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** - C + * units: C * offset 14516 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** - ratio + * units: ratio * offset 14548 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** - counter + * units: counter * offset 14580 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller - C + * units: C * offset 14612 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller - ratio + * units: ratio * offset 14676 */ float cltIdleCorr[CLT_CURVE_SIZE]; @@ -4888,127 +4974,127 @@ struct persistent_config_s { * Also known as MAF transfer function. * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m - kg/hour + * units: kg/hour * offset 14740 */ float mafDecoding[MAF_DECODING_COUNT]; /** - V + * units: V * offset 14868 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** - deg + * units: deg * offset 14996 */ scaled_channel ignitionIatCorrTable[8][8]; /** - C + * units: C * offset 15060 */ int8_t ignitionIatCorrTempBins[8]; /** - Load + * units: Load * offset 15068 */ scaled_channel ignitionIatCorrLoadBins[8]; /** - deg + * units: deg * offset 15076 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - Load + * units: Load * offset 15588 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** - RPM + * units: RPM * offset 15620 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** - onoff + * units: onoff * offset 15652 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** - kPa + * units: kPa * offset 15712 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - % TPS + * units: % TPS * offset 16224 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** - RPM + * units: RPM * offset 16256 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** - value + * units: value * offset 16288 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** - L + * units: L * offset 16352 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** - RPM + * units: RPM * offset 16368 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** - value + * units: value * offset 16384 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** - L + * units: L * offset 16448 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** - RPM + * units: RPM * offset 16464 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** - deg + * units: deg * offset 16480 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** - Load + * units: Load * offset 16992 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** - RPM + * units: RPM * offset 17024 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** - % + * units: % * offset 17056 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - kPa + * units: kPa * offset 17568 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** - RPM + * units: RPM * offset 17600 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** - lambda + * units: lambda * offset 17632 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; @@ -5017,82 +5103,82 @@ struct persistent_config_s { */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** - RPM + * units: RPM * offset 17920 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** - value + * units: value * offset 17952 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** - from + * units: from * offset 18208 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** - to + * units: to * offset 18240 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** - value + * units: value * offset 18272 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** - L + * units: L * offset 18528 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** - RPM + * units: RPM * offset 18544 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** - value + * units: value * offset 18560 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** - L + * units: L * offset 18624 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** - RPM + * units: RPM * offset 18640 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** - value + * units: value * offset 18656 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** - L + * units: L * offset 18720 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** - RPM + * units: RPM * offset 18736 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** - value + * units: value * offset 18752 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** - L + * units: L * offset 18832 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** - RPM + * units: RPM * offset 18848 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; @@ -5101,7 +5187,7 @@ struct persistent_config_s { */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** - rpm + * units: rpm * offset 18876 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; @@ -5114,7 +5200,7 @@ struct persistent_config_s { */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** - rpm + * units: rpm * offset 19084 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; @@ -5123,172 +5209,172 @@ struct persistent_config_s { */ cyl_trim_s fuelTrims[12]; /** - ratio + * units: ratio * offset 19284 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** - Airmass + * units: Airmass * offset 19300 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19308 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19316 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19324 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19332 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19340 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19348 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19356 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19364 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19372 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19380 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19388 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** - % + * units: % * offset 19396 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** - TPS + * units: TPS * offset 19404 */ uint8_t tcu_tccTpsBins[8]; /** - MPH + * units: MPH * offset 19412 */ uint8_t tcu_tccLockSpeed[8]; /** - MPH + * units: MPH * offset 19420 */ uint8_t tcu_tccUnlockSpeed[8]; /** - KPH + * units: KPH * offset 19428 */ uint8_t tcu_32SpeedBins[8]; /** - % + * units: % * offset 19436 */ uint8_t tcu_32Vals[8]; /** - % + * units: % * offset 19444 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** - % + * units: % * offset 19480 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** - RPM + * units: RPM * offset 19486 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** - deg + * units: deg * offset 19492 */ scaled_channel maxKnockRetardTable[6][6]; /** - % + * units: % * offset 19528 */ uint8_t maxKnockRetardLoadBins[6]; /** - RPM + * units: RPM * offset 19534 */ scaled_channel maxKnockRetardRpmBins[6]; /** - deg + * units: deg * offset 19540 */ scaled_channel ALSTimingRetardTable[4][4]; /** - TPS + * units: TPS * offset 19572 */ uint16_t alsIgnRetardLoadBins[4]; /** - RPM + * units: RPM * offset 19580 */ uint16_t alsIgnRetardrpmBins[4]; /** - percent + * units: percent * offset 19588 */ scaled_channel ALSFuelAdjustment[4][4]; /** - TPS + * units: TPS * offset 19620 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** - RPM + * units: RPM * offset 19628 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** - ratio + * units: ratio * offset 19636 */ scaled_channel ALSIgnSkipTable[4][4]; /** - TPS + * units: TPS * offset 19668 */ uint16_t alsIgnSkipLoadBins[4]; /** - RPM + * units: RPM * offset 19676 */ uint16_t alsIgnSkiprpmBins[4]; @@ -5301,13 +5387,13 @@ struct persistent_config_s { */ blend_table_s veBlends[VE_BLEND_COUNT]; /** - % + * units: % * offset 21188 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions - g/s + * units: g/s * offset 21212 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; @@ -5320,62 +5406,62 @@ struct persistent_config_s { */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** - level + * units: level * offset 21988 */ uint8_t tcu_rangeP[6]; /** - level + * units: level * offset 21994 */ uint8_t tcu_rangeR[6]; /** - level + * units: level * offset 22000 */ uint8_t tcu_rangeN[6]; /** - level + * units: level * offset 22006 */ uint8_t tcu_rangeD[6]; /** - level + * units: level * offset 22012 */ uint8_t tcu_rangeM[6]; /** - level + * units: level * offset 22018 */ uint8_t tcu_rangeM3[6]; /** - level + * units: level * offset 22024 */ uint8_t tcu_rangeM2[6]; /** - level + * units: level * offset 22030 */ uint8_t tcu_rangeM1[6]; /** - level + * units: level * offset 22036 */ uint8_t tcu_rangePlus[6]; /** - level + * units: level * offset 22042 */ uint8_t tcu_rangeMinus[6]; /** - level + * units: level * offset 22048 */ uint8_t tcu_rangeLow[6]; /** - lambda + * units: lambda * offset 22054 */ scaled_channel lambdaMaxDeviationTable[4][4]; @@ -5384,13 +5470,13 @@ struct persistent_config_s { */ uint16_t lambdaMaxDeviationLoadBins[4]; /** - RPM + * units: RPM * offset 22078 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * need 4 byte alignment - units + * units: units * offset 22086 */ uint8_t alignmentFill_at_22086[2]; @@ -5398,4 +5484,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22088); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Tue Jan 02 17:17:03 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Thu Jan 04 17:18:20 UTC 2024 diff --git a/generated/controllers/generated/rusefi_generated_XXX.h b/generated/controllers/generated/rusefi_generated_XXX.h index 6e3c0bb..1e35c59 100644 --- a/generated/controllers/generated/rusefi_generated_XXX.h +++ b/generated/controllers/generated/rusefi_generated_XXX.h @@ -299,14 +299,13 @@ #define display_mode_e_DM_HD44780_OVER_PCF8574 2 #define display_mode_e_DM_NONE 0 #define DWELL_CURVE_SIZE 8 -#define ego_sensor_e_auto_enum 0="ES_BPSX_D1",2="ES_14Point7_Free",6="ES_AEM",5="ES_Custom",1="ES_Innovate_MTX_L",3="ES_NarrowBand",4="ES_PLX" -#define ego_sensor_e_enum "BPSX", "Innovate", "14Point7", "Narrow", "PLX", "Custom", "AEM" +#define ego_sensor_e_auto_enum 0="ES_BPSX_D1",2="ES_14Point7_Free",6="ES_AEM",5="ES_Custom",1="ES_Innovate_MTX_L",4="ES_PLX" +#define ego_sensor_e_enum "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" #define ego_sensor_e_ES_14Point7_Free 2 #define ego_sensor_e_ES_AEM 6 #define ego_sensor_e_ES_BPSX_D1 0 #define ego_sensor_e_ES_Custom 5 #define ego_sensor_e_ES_Innovate_MTX_L 1 -#define ego_sensor_e_ES_NarrowBand 3 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 #define engine_configuration_s_size 4556 @@ -1035,9 +1034,15 @@ #define MAP_sensor_config_s_size 140 #define MAP_WINDOW_SIZE 8 #define MAX_CYLINDER_COUNT 12 +#define mc33810maxDwellTimer_e_auto_enum 0="DWELL_2MS",3="DWELL_16MS",4="DWELL_32MS",1="DWELL_4MS",5="DWELL_64MS",2="DWELL_8MS" +#define mc33810maxDwellTimer_e_DWELL_16MS 3 +#define mc33810maxDwellTimer_e_DWELL_2MS 0 +#define mc33810maxDwellTimer_e_DWELL_32MS 4 +#define mc33810maxDwellTimer_e_DWELL_4MS 1 +#define mc33810maxDwellTimer_e_DWELL_64MS 5 +#define mc33810maxDwellTimer_e_DWELL_8MS 2 #define MLQ_FIELD_HEADER_SIZE 89 #define MLQ_HEADER_SIZE 24 -#define NARROW_BAND_WIDE_BAND_CONVERSION_SIZE 8 #define operation_mode_e_FOUR_STROKE_CAM_SENSOR 2 #define operation_mode_e_FOUR_STROKE_CRANK_SENSOR 1 #define operation_mode_e_FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR 4 @@ -1146,7 +1151,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 160115348 +#define SIGNATURE_HASH 4099975782 #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" @@ -1315,12 +1320,22 @@ #define ts_14_command_TS_14_4 4 #define ts_14_command_TS_14_5 5 #define ts_14_command_TS_14_9 9 +#define ts_14_command_TS_BURN_WITHOUT_FLASH 0x15 +#define ts_14_command_TS_ETB_AUTOCAL_0 0x0E +#define ts_14_command_TS_ETB_AUTOCAL_1 0x11 #define ts_14_command_TS_ETB_RESET 0x0B +#define ts_14_command_TS_ETB_START_AUTOTUNE 0x0C +#define ts_14_command_TS_ETB_STOP_AUTOTUNE 0x10 +#define ts_14_command_TS_EXTERNAL_TRIGGER_STIMULATOR_ENABLE 0x13 #define ts_14_command_TS_GRAB_PEDAL_UP 6 #define ts_14_command_TS_GRAB_PEDAL_WOT 7 #define ts_14_command_TS_GRAB_TPS_CLOSED 2 #define ts_14_command_TS_GRAB_TPS_WOT 3 +#define ts_14_command_TS_RESET_MC33810 0x14 #define ts_14_command_TS_RESET_TLE8888 8 +#define ts_14_command_TS_TRIGGER_STIMULATOR_DISABLE 0x0F +#define ts_14_command_TS_TRIGGER_STIMULATOR_ENABLE 0x0D +#define ts_14_command_TS_WIDEBAND_UPDATE 0x12 #define ts_14_command_TS_WRITE_FLASH 0x0A #define TS_BLOCK_READ_TIMEOUT 3000 #define TS_BURN_COMMAND 'B' @@ -1432,13 +1447,17 @@ #define ts_show_inj_diag false #define ts_show_injectionPinMode false #define ts_show_joystick true +#define ts_show_l9779 false #define ts_show_lcd true #define ts_show_main_relay true #define ts_show_main_relay_microRusEFI_message false +#define ts_show_mc33810 false +#define ts_show_output_diag false #define ts_show_sd_card true #define ts_show_sd_pins true #define ts_show_software_knock false #define ts_show_spi true +#define ts_show_tle8888 false #define ts_show_tps_sent false #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true @@ -1446,14 +1465,14 @@ #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 default.2024.01.02.XXX.160115348" +#define TS_SIGNATURE "rusEFI default.2024.01.04.XXX.4099975782" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1448 +#define TS_TOTAL_OUTPUT_SIZE 1452 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/generated/controllers/generated/signature_XXX.h b/generated/controllers/generated/signature_XXX.h index d461cb9..5f6ca17 100644 --- a/generated/controllers/generated/signature_XXX.h +++ b/generated/controllers/generated/signature_XXX.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 160115348 -#define TS_SIGNATURE "rusEFI default.2024.01.02.XXX.160115348" +#define SIGNATURE_HASH 4099975782 +#define TS_SIGNATURE "rusEFI default.2024.01.04.XXX.4099975782" diff --git a/generated/tunerstudio/generated/rusefi_XXX.ini b/generated/tunerstudio/generated/rusefi_XXX.ini index bf54942..71d6d92 100644 --- a/generated/tunerstudio/generated/rusefi_XXX.ini +++ b/generated/tunerstudio/generated/rusefi_XXX.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI default.2024.01.02.XXX.160115348" + signature = "rusEFI default.2024.01.04.XXX.4099975782" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI default.2024.01.02.XXX.160115348" ; signature is expected to be 7 or more characters. + signature= "rusEFI default.2024.01.04.XXX.4099975782" ; 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,7 +92,7 @@ enable2ndByteCanID = false #define adc_channel_e_list="Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Tue Jan 02 17:17:03 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Thu Jan 04 17:18:20 UTC 2024 pageSize = 22088 page = 1 @@ -313,7 +313,7 @@ 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", "Narrow", "PLX", "Custom", "AEM" +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 @@ -725,7 +725,11 @@ 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 -unused1372 = scalar, U32, 1508, "", 1, 0, 0, 100, 0 +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 @@ -765,7 +769,7 @@ 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 = scalar, U08, 1577, "", 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 @@ -1335,8 +1339,7 @@ baroCorrRpmBins = array, F32, 5356, [4], "RPM", 1, 0, 0, 18000, 0 baroCorrTable = array, F32, 5372, [4x4], "ratio", 1, 0, 0, 2, 2 crankingTpsCoef = array, F32, 5436, [8], "Ratio", 1, 0, 0, 700, 2 crankingTpsBins = array, F32, 5468, [8], "%", 1, 0, 0, 100, 2 -narrowToWideOxygenBins = array, F32, 5500, [8], "V", 1, 0, -10, 10, 3 -narrowToWideOxygen = array, F32, 5532, [8], "ratio", 1, 0, -40, 40, 2 +unusedSpaceHere = array, F32, 5500, [16], "", 1, 0, 0, 100, 0 crankingAdvanceBins = array, U16, 5564, [4], "RPM", 1, 0, 0, 25000, 0 crankingAdvance = array, S16, 5572, [4], "deg", 0.01, 0, -20, 90, 2 iacCoastingRpmBins = array, U08, 5580, [16], "RPM", 100.0, 0, 0, 25000, 0 @@ -1779,7 +1782,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22078, [4], "RPM", 1, 0, 0, 18000, 0 useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve" consumeObdSensors = "This property is useful if using rusEFI as TCM or BCM only" enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration." - stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor." + stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" alphaNUseIat = "In Alpha-N mode, compensate for air temperature." @@ -1914,6 +1917,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22078, [4], "RPM", 1, 0, 0, 18000, 0 startUpFuelPumpDuration = "on IGN voltage detection turn fuel pump on to build fuel pressure" idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation" targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain" + mc33810DisableRecoveryMode = "See Over/Undervoltage Shutdown/Retry bit in documentation" afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup." iacByTpsTaper = "IAC Value added when coasting and transitioning into idle." auxSerialTxPin = "Auxiliary sensor serial, not to be confused with secondary calibration serial" @@ -2264,7 +2268,6 @@ lambdaMaxDeviationRpmBins = array, U16, 22078, [4], "RPM", 1, 0, 0, 18000, 0 cltIdleRpm = "See idleRpmPid" cltTimingBins = "CLT-based timing correction" crankingTpsCoef = "Cranking fuel correction coefficient based on TPS" - narrowToWideOxygenBins = "Narrow Band WBO Approximation" crankingAdvanceBins = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)" crankingAdvance = "Optional timing advance table for Cranking (see useSeparateAdvanceForCranking)" iacCoastingRpmBins = "RPM-based idle position for coasting" @@ -2367,7 +2370,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22078, [4], "RPM", 1, 0, 0, 18000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1448 + ochBlockSize = 1452 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2504,7 +2507,6 @@ rawClt = scalar, S16, 220, "V", 0.001, 0 rawIat = scalar, S16, 222, "V", 0.001, 0 rawOilPressure = scalar, S16, 224, "V", 0.001, 0 fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 -tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 rawPpsSecondary = scalar, S16, 228, "V", 0.001, 0 idlePositionSensor = scalar, S16, 230, "%", 0.01, 0 AFRValue = scalar, U16, 232, "AFR", 0.001, 0 @@ -2551,614 +2553,616 @@ rawAfr = scalar, U16, 306, "V", 0.001, 0 calibrationValue2 = scalar, F32, 308, "", 1, 0 luaInvocationCounter = scalar, U32, 312, "count", 1, 0 luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 -tcu_currentRange = scalar, U08, 320, "", 1, 0 -tcRatio = scalar, U16, 322, "value", 0.01, 0 -lastShiftTime = scalar, F32, 324, "", 1, 0 -vssEdgeCounter = scalar, U32, 328, "", 1, 0 -issEdgeCounter = scalar, U32, 332, "", 1, 0 -auxLinear1 = scalar, S16, 336, "", 0.01, 0 -auxLinear2 = scalar, S16, 338, "", 0.01, 0 -fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 344, "us", 1, 0 -canWriteOk = scalar, U16, 346, "", 1, 0 -canWriteNotOk = scalar, U16, 348, "", 1, 0 -triggerPrimaryFall = scalar, U32, 352, "", 1, 0 -triggerPrimaryRise = scalar, U32, 356, "", 1, 0 -triggerSecondaryFall = scalar, U32, 360, "", 1, 0 -triggerSecondaryRise = scalar, U32, 364, "", 1, 0 -triggerVvtFall = scalar, U16, 368, "", 1, 0 -triggerVvtRise = scalar, U16, 370, "", 1, 0 -triggerVvt2Fall = scalar, U16, 372, "", 1, 0 -triggerVvt2Rise = scalar, U16, 374, "", 1, 0 -starterState = scalar, U08, 376, "", 1, 0 -starterRelayDisable = scalar, U08, 377, "", 1, 0 -multiSparkCounter = scalar, U08, 378, "", 1, 0 -extiOverflowCount = scalar, U08, 379, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 -idleStatus_pTerm = scalar, F32, 396, "", 1, 0 -idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 -idleStatus_output = scalar, S16, 404, "", 0.01, 0 -idleStatus_error = scalar, S16, 406, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 -etbStatus_pTerm = scalar, F32, 412, "", 1, 0 -etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 -etbStatus_output = scalar, S16, 420, "", 0.01, 0 -etbStatus_error = scalar, S16, 422, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 -boostStatus_pTerm = scalar, F32, 428, "", 1, 0 -boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 -boostStatus_output = scalar, S16, 436, "", 0.01, 0 -boostStatus_error = scalar, S16, 438, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 -auxSpeed1 = scalar, U16, 524, "s", 1, 0 -auxSpeed2 = scalar, U16, 526, "s", 1, 0 -ISSValue = scalar, U16, 528, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 550, "", 1, 0 -gppwmXAxis2 = scalar, S16, 552, "", 1, 0 -gppwmXAxis3 = scalar, S16, 554, "", 1, 0 -gppwmXAxis4 = scalar, S16, 556, "", 1, 0 -gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 -rawBattery = scalar, S16, 566, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 -coilState1 = bits, U32, 628, [0:0] -coilState2 = bits, U32, 628, [1:1] -coilState3 = bits, U32, 628, [2:2] -coilState4 = bits, U32, 628, [3:3] -coilState5 = bits, U32, 628, [4:4] -coilState6 = bits, U32, 628, [5:5] -coilState7 = bits, U32, 628, [6:6] -coilState8 = bits, U32, 628, [7:7] -coilState9 = bits, U32, 628, [8:8] -coilState10 = bits, U32, 628, [9:9] -coilState11 = bits, U32, 628, [10:10] -coilState12 = bits, U32, 628, [11:11] -injectorState1 = bits, U32, 628, [12:12] -injectorState2 = bits, U32, 628, [13:13] -injectorState3 = bits, U32, 628, [14:14] -injectorState4 = bits, U32, 628, [15:15] -injectorState5 = bits, U32, 628, [16:16] -injectorState6 = bits, U32, 628, [17:17] -injectorState7 = bits, U32, 628, [18:18] -injectorState8 = bits, U32, 628, [19:19] -injectorState9 = bits, U32, 628, [20:20] -injectorState10 = bits, U32, 628, [21:21] -injectorState11 = bits, U32, 628, [22:22] -injectorState12 = bits, U32, 628, [23:23] -triggerChannel1 = bits, U32, 628, [24:24] -triggerChannel2 = bits, U32, 628, [25:25] -vvtChannel1 = bits, U32, 628, [26:26] -vvtChannel2 = bits, U32, 628, [27:27] -vvtChannel3 = bits, U32, 628, [28:28] -vvtChannel4 = bits, U32, 628, [29:29] -outputRequestPeriod = scalar, U32, 632, "", 1, 0 -mapFast = scalar, F32, 636, "", 1, 0 -luaGauges1 = scalar, F32, 640, "value", 1, 0 -luaGauges2 = scalar, F32, 644, "value", 1, 0 -rawMaf2 = scalar, U16, 648, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 -vehicleSpeedKph = scalar, U16, 652, "kph", 0.01, 0 -Gego = scalar, U16, 654, "%", 0.01,0 -testBenchIter = scalar, U16, 656, "count", 1, 0 -oilTemp = scalar, S16, 658, "deg C", 0.01, 0 -fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 -ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 -compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 -compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 -throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 -ignitionOnTime = scalar, U16, 670, "sec", 1,0 -engineRunTime = scalar, U16, 672, "sec", 1,0 -distanceTraveled = scalar, U16, 674, "km", 0.1,0 -afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 -afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 -wheelSlipRatio = scalar, F32, 680, "", 1, 0 -unusedAtTheEnd1 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 799, "", 1, 0 -; total TS size = 800 -totalFuelCorrection = scalar, F32, 800, "mult", 1,0 -running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1,0 -running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 -running_fuel = scalar, U16, 822, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 824, "%", 0.01,0 -targetLambda = scalar, U16, 826, "", 1.0E-4,0 -targetAFR = scalar, U16, 828, "ratio", 0.001,0 -stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 832, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 -normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 -brokenInjector = scalar, U08, 844, "", 1, 0 -injectorHwIssue = bits, U32, 848, [0:0] -; total TS size = 852 -baseDwell = scalar, F32, 852, "ms", 1,0 -sparkDwell = scalar, F32, 856, "ms", 1,0 -dwellAngle = scalar, F32, 860, "deg", 1,0 -cltTimingCorrection = scalar, S16, 864, "deg", 0.01,0 -timingIatCorrection = scalar, S16, 866, "deg", 0.01,0 -timingPidCorrection = scalar, S16, 868, "deg", 0.01,0 -baseIgnitionAdvance = scalar, S16, 870, "deg", 0.02, 0 -correctedIgnitionAdvance = scalar, S16, 872, "deg", 0.02, 0 -dwellVoltageCorrection = scalar, F32, 876, "", 1, 0 -luaTimingAdd = scalar, F32, 880, "deg", 1, 0 -luaTimingMult = scalar, F32, 884, "deg", 1, 0 -luaIgnitionSkip = bits, U32, 888, [0:0] -; total TS size = 892 -m_knockLevel = scalar, F32, 892, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 896, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 897, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 898, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 899, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 900, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 901, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 902, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 903, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 904, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 905, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 906, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 907, "dBv", 1, 0 -m_knockRetard = scalar, F32, 908, "deg", 1,0 -m_knockThreshold = scalar, F32, 912, "", 1, 0 -m_knockCount = scalar, U32, 916, "", 1, 0 -m_maximumRetard = scalar, F32, 920, "", 1, 0 -; total TS size = 924 -throttleUseWotModel = bits, U32, 924, [0:0] -throttleModelCrossoverAngle = scalar, S16, 928, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 932, "g/s", 1, 0 -; total TS size = 936 -m_requested_pump = scalar, F32, 936, "", 1, 0 -fuel_requested_percent = scalar, F32, 940, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 944, "", 1, 0 -noValve = bits, U32, 948, [0:0] -angleAboveMin = bits, U32, 948, [1:1] -isHpfpInactive = bits, U32, 948, [2:2] -m_pressureTarget_kPa = scalar, F32, 952, "", 1, 0 -nextLobe = scalar, F32, 956, "", 1, 0 -di_nextStart = scalar, F32, 960, "v", 1, 0 -; total TS size = 964 -m_deadtime = scalar, F32, 964, "ms", 1, 0 -pressureDelta = scalar, F32, 968, "kPa", 1, 0 -pressureRatio = scalar, F32, 972, "", 1, 0 -; total TS size = 976 -retardThresholdRpm = scalar, S32, 976, "", 1, 0 -combinedConditions = bits, U32, 980, [0:0] -launchActivatePinState = bits, U32, 980, [1:1] -isLaunchCondition = bits, U32, 980, [2:2] -isSwitchActivated = bits, U32, 980, [3:3] -isClutchActivated = bits, U32, 980, [4:4] -isValidInputPin = bits, U32, 980, [5:5] -activateSwitchCondition = bits, U32, 980, [6:6] -rpmCondition = bits, U32, 980, [7:7] -speedCondition = bits, U32, 980, [8:8] -tpsCondition = bits, U32, 980, [9:9] -; total TS size = 984 -isAntilagCondition = bits, U32, 984, [0:0] -ALSMinRPMCondition = bits, U32, 984, [1:1] -ALSMaxRPMCondition = bits, U32, 984, [2:2] -ALSMinCLTCondition = bits, U32, 984, [3:3] -ALSMaxCLTCondition = bits, U32, 984, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 984, [5:5] -isALSSwitchActivated = bits, U32, 984, [6:6] -ALSActivatePinState = bits, U32, 984, [7:7] -ALSSwitchCondition = bits, U32, 984, [8:8] -ALSTimerCondition = bits, U32, 984, [9:9] -fuelALSCorrection = scalar, F32, 988, "", 1, 0 -timingALSCorrection = scalar, S16, 992, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 994, "deg", 0.01, 0 -; total TS size = 996 -isTpsInvalid = bits, U32, 996, [0:0] -m_shouldResetPid = bits, U32, 996, [1:1] -isBelowClosedLoopThreshold = bits, U32, 996, [2:2] -isNotClosedLoop = bits, U32, 996, [3:3] -isZeroRpm = bits, U32, 996, [4:4] -hasInitBoost = bits, U32, 996, [5:5] -rpmTooLow = bits, U32, 996, [6:6] -tpsTooLow = bits, U32, 996, [7:7] -mapTooLow = bits, U32, 996, [8:8] -isPlantValid = bits, U32, 996, [9:9] -luaTargetAdd = scalar, S16, 1000, "v", 0.5,0 -boostOutput = scalar, S16, 1002, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1004, "v", 1,0 -openLoopPart = scalar, F32, 1008, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1012, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1016, "%", 0.5,0 -boostControlTarget = scalar, S16, 1018, "kPa", 0.03333333333333333,0 -; total TS size = 1020 -acButtonState = scalar, S08, 1020, "", 1, 0 -m_acEnabled = bits, U32, 1024, [0:0] -engineTooSlow = bits, U32, 1024, [1:1] -engineTooFast = bits, U32, 1024, [2:2] -noClt = bits, U32, 1024, [3:3] -engineTooHot = bits, U32, 1024, [4:4] -tpsTooHigh = bits, U32, 1024, [5:5] -isDisabledByLua = bits, U32, 1024, [6:6] -acCompressorState = bits, U32, 1024, [7:7] -latest_usage_ac_control = scalar, S32, 1028, "", 1, 0 -acSwitchLastChangeTimeMs = scalar, S32, 1032, "", 1, 0 -; total TS size = 1036 -cranking0 = bits, U32, 1036, [0:0] -notRunning0 = bits, U32, 1036, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1036, [2:2] -brokenClt0 = bits, U32, 1036, [3:3] -enabledForAc0 = bits, U32, 1036, [4:4] -hot0 = bits, U32, 1036, [5:5] -cold0 = bits, U32, 1036, [6:6] +vssEdgeCounter = scalar, U32, 320, "", 1, 0 +issEdgeCounter = scalar, U32, 324, "", 1, 0 +auxLinear1 = scalar, S16, 328, "", 0.01, 0 +auxLinear2 = scalar, S16, 330, "", 0.01, 0 +fallbackMap = scalar, U16, 332, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 334, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 336, "us", 1, 0 +canWriteOk = scalar, U16, 338, "", 1, 0 +canWriteNotOk = scalar, U16, 340, "", 1, 0 +triggerPrimaryFall = scalar, U32, 344, "", 1, 0 +triggerPrimaryRise = scalar, U32, 348, "", 1, 0 +triggerSecondaryFall = scalar, U32, 352, "", 1, 0 +triggerSecondaryRise = scalar, U32, 356, "", 1, 0 +triggerVvtFall = scalar, U16, 360, "", 1, 0 +triggerVvtRise = scalar, U16, 362, "", 1, 0 +triggerVvt2Fall = scalar, U16, 364, "", 1, 0 +triggerVvt2Rise = scalar, U16, 366, "", 1, 0 +starterState = scalar, U08, 368, "", 1, 0 +starterRelayDisable = scalar, U08, 369, "", 1, 0 +multiSparkCounter = scalar, U08, 370, "", 1, 0 +extiOverflowCount = scalar, U08, 371, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 372, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 376, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 378, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 380, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 382, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 384, "", 1, 0 +idleStatus_pTerm = scalar, F32, 388, "", 1, 0 +idleStatus_iTerm = scalar, S16, 392, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 394, "", 0.01, 0 +idleStatus_output = scalar, S16, 396, "", 0.01, 0 +idleStatus_error = scalar, S16, 398, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 400, "", 1, 0 +etbStatus_pTerm = scalar, F32, 404, "", 1, 0 +etbStatus_iTerm = scalar, S16, 408, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 410, "", 0.01, 0 +etbStatus_output = scalar, S16, 412, "", 0.01, 0 +etbStatus_error = scalar, S16, 414, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 416, "", 1, 0 +boostStatus_pTerm = scalar, F32, 420, "", 1, 0 +boostStatus_iTerm = scalar, S16, 424, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 426, "", 0.01, 0 +boostStatus_output = scalar, S16, 428, "", 0.01, 0 +boostStatus_error = scalar, S16, 430, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 432, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 436, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 440, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 442, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 444, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 446, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 448, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 452, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 456, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 458, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 460, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 462, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 464, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 468, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 472, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 474, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 476, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 478, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 480, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 484, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 488, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 490, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 492, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 494, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 496, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 500, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 504, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 506, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 508, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 510, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 512, "", 1, 0 +auxSpeed1 = scalar, U16, 516, "s", 1, 0 +auxSpeed2 = scalar, U16, 518, "s", 1, 0 +ISSValue = scalar, U16, 520, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 522, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 524, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 526, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 528, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 536, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 538, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 539, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 540, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 541, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 542, "", 1, 0 +gppwmXAxis2 = scalar, S16, 544, "", 1, 0 +gppwmXAxis3 = scalar, S16, 546, "", 1, 0 +gppwmXAxis4 = scalar, S16, 548, "", 1, 0 +gppwmYAxis1 = scalar, S16, 550, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 552, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 554, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 556, "", 0.1, 0 +rawBattery = scalar, S16, 558, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 560, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 562, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 564, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 566, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 568, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 569, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 570, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 571, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 572, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 574, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 576, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 578, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 580, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 582, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 584, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 586, "", 0.1, 0 +veBlendBias1 = scalar, U08, 588, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 589, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 590, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 591, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 592, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 594, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 596, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 598, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 600, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 602, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 604, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 605, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 606, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 607, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 614, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 616, "%", 0.1, 0 +coilState1 = bits, U32, 620, [0:0] +coilState2 = bits, U32, 620, [1:1] +coilState3 = bits, U32, 620, [2:2] +coilState4 = bits, U32, 620, [3:3] +coilState5 = bits, U32, 620, [4:4] +coilState6 = bits, U32, 620, [5:5] +coilState7 = bits, U32, 620, [6:6] +coilState8 = bits, U32, 620, [7:7] +coilState9 = bits, U32, 620, [8:8] +coilState10 = bits, U32, 620, [9:9] +coilState11 = bits, U32, 620, [10:10] +coilState12 = bits, U32, 620, [11:11] +injectorState1 = bits, U32, 620, [12:12] +injectorState2 = bits, U32, 620, [13:13] +injectorState3 = bits, U32, 620, [14:14] +injectorState4 = bits, U32, 620, [15:15] +injectorState5 = bits, U32, 620, [16:16] +injectorState6 = bits, U32, 620, [17:17] +injectorState7 = bits, U32, 620, [18:18] +injectorState8 = bits, U32, 620, [19:19] +injectorState9 = bits, U32, 620, [20:20] +injectorState10 = bits, U32, 620, [21:21] +injectorState11 = bits, U32, 620, [22:22] +injectorState12 = bits, U32, 620, [23:23] +triggerChannel1 = bits, U32, 620, [24:24] +triggerChannel2 = bits, U32, 620, [25:25] +vvtChannel1 = bits, U32, 620, [26:26] +vvtChannel2 = bits, U32, 620, [27:27] +vvtChannel3 = bits, U32, 620, [28:28] +vvtChannel4 = bits, U32, 620, [29:29] +outputRequestPeriod = scalar, U32, 624, "", 1, 0 +mapFast = scalar, F32, 628, "", 1, 0 +luaGauges1 = scalar, F32, 632, "value", 1, 0 +luaGauges2 = scalar, F32, 636, "value", 1, 0 +rawMaf2 = scalar, U16, 640, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 642, "kg/h", 0.1, 0 +vehicleSpeedKph = scalar, U16, 644, "kph", 0.01, 0 +Gego = scalar, U16, 646, "%", 0.01,0 +testBenchIter = scalar, U16, 648, "count", 1, 0 +oilTemp = scalar, S16, 650, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 652, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 654, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 656, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 658, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 660, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 662, "sec", 1,0 +engineRunTime = scalar, U16, 664, "sec", 1,0 +distanceTraveled = scalar, U16, 666, "km", 0.1,0 +afrGasolineScale = scalar, U16, 668, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 670, "AFR", 0.001, 0 +wheelSlipRatio = scalar, F32, 672, "", 1, 0 +ignitorDiagnostic1 = scalar, U08, 676, "", 1, 0 +ignitorDiagnostic2 = scalar, U08, 677, "", 1, 0 +ignitorDiagnostic3 = scalar, U08, 678, "", 1, 0 +ignitorDiagnostic4 = scalar, U08, 679, "", 1, 0 +ignitorDiagnostic5 = scalar, U08, 680, "", 1, 0 +ignitorDiagnostic6 = scalar, U08, 681, "", 1, 0 +ignitorDiagnostic7 = scalar, U08, 682, "", 1, 0 +ignitorDiagnostic8 = scalar, U08, 683, "", 1, 0 +ignitorDiagnostic9 = scalar, U08, 684, "", 1, 0 +ignitorDiagnostic10 = scalar, U08, 685, "", 1, 0 +ignitorDiagnostic11 = scalar, U08, 686, "", 1, 0 +ignitorDiagnostic12 = scalar, U08, 687, "", 1, 0 +injectorDiagnostic1 = scalar, U08, 688, "", 1, 0 +injectorDiagnostic2 = scalar, U08, 689, "", 1, 0 +injectorDiagnostic3 = scalar, U08, 690, "", 1, 0 +injectorDiagnostic4 = scalar, U08, 691, "", 1, 0 +injectorDiagnostic5 = scalar, U08, 692, "", 1, 0 +injectorDiagnostic6 = scalar, U08, 693, "", 1, 0 +injectorDiagnostic7 = scalar, U08, 694, "", 1, 0 +injectorDiagnostic8 = scalar, U08, 695, "", 1, 0 +injectorDiagnostic9 = scalar, U08, 696, "", 1, 0 +injectorDiagnostic10 = scalar, U08, 697, "", 1, 0 +injectorDiagnostic11 = scalar, U08, 698, "", 1, 0 +injectorDiagnostic12 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd1 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 791, "", 1, 0 +; total TS size = 792 +totalFuelCorrection = scalar, F32, 792, "mult", 1,0 +running_postCrankingFuelCorrection = scalar, F32, 796, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 800, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 804, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 808, "secs", 1,0 +running_baseFuel = scalar, U16, 812, "mg", 0.01, 0 +running_fuel = scalar, U16, 814, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 816, "%", 0.01,0 +targetLambda = scalar, U16, 818, "", 1.0E-4,0 +targetAFR = scalar, U16, 820, "ratio", 0.001,0 +stoichiometricRatio = scalar, U16, 822, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 824, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 828, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 832, "%", 1, 0 +brokenInjector = scalar, U08, 836, "", 1, 0 +injectorHwIssue = bits, U32, 840, [0:0] +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1,0 +sparkDwell = scalar, F32, 848, "ms", 1,0 +dwellAngle = scalar, F32, 852, "deg", 1,0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01,0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01,0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01,0 +baseIgnitionAdvance = scalar, S16, 862, "deg", 0.02, 0 +correctedIgnitionAdvance = scalar, S16, 864, "deg", 0.02, 0 +dwellVoltageCorrection = scalar, F32, 868, "", 1, 0 +luaTimingAdd = scalar, F32, 872, "deg", 1, 0 +luaTimingMult = scalar, F32, 876, "deg", 1, 0 +luaIgnitionSkip = bits, U32, 880, [0:0] +; total TS size = 884 +m_knockLevel = scalar, F32, 884, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 891, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 892, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 893, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 894, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 895, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 896, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 897, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 898, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 899, "dBv", 1, 0 +m_knockRetard = scalar, F32, 900, "deg", 1,0 +m_knockThreshold = scalar, F32, 904, "", 1, 0 +m_knockCount = scalar, U32, 908, "", 1, 0 +m_maximumRetard = scalar, F32, 912, "", 1, 0 +; total TS size = 916 +tcuCurrentGear = scalar, S08, 916, "gear", 1, 0 +tcRatio = scalar, U16, 918, "value", 0.01, 0 +lastShiftTime = scalar, F32, 920, "", 1, 0 +tcu_currentRange = scalar, U08, 924, "", 1, 0 +; total TS size = 928 +throttleUseWotModel = bits, U32, 928, [0:0] +throttleModelCrossoverAngle = scalar, S16, 932, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 936, "g/s", 1, 0 +; total TS size = 940 +m_requested_pump = scalar, F32, 940, "", 1, 0 +fuel_requested_percent = scalar, F32, 944, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 948, "", 1, 0 +noValve = bits, U32, 952, [0:0] +angleAboveMin = bits, U32, 952, [1:1] +isHpfpInactive = bits, U32, 952, [2:2] +m_pressureTarget_kPa = scalar, F32, 956, "", 1, 0 +nextLobe = scalar, F32, 960, "", 1, 0 +di_nextStart = scalar, F32, 964, "v", 1, 0 +; total TS size = 968 +m_deadtime = scalar, F32, 968, "ms", 1, 0 +pressureDelta = scalar, F32, 972, "kPa", 1, 0 +pressureRatio = scalar, F32, 976, "", 1, 0 +; total TS size = 980 +retardThresholdRpm = scalar, S32, 980, "", 1, 0 +combinedConditions = bits, U32, 984, [0:0] +launchActivatePinState = bits, U32, 984, [1:1] +isLaunchCondition = bits, U32, 984, [2:2] +isSwitchActivated = bits, U32, 984, [3:3] +isClutchActivated = bits, U32, 984, [4:4] +isValidInputPin = bits, U32, 984, [5:5] +activateSwitchCondition = bits, U32, 984, [6:6] +rpmCondition = bits, U32, 984, [7:7] +speedCondition = bits, U32, 984, [8:8] +tpsCondition = bits, U32, 984, [9:9] +; total TS size = 988 +isAntilagCondition = bits, U32, 988, [0:0] +ALSMinRPMCondition = bits, U32, 988, [1:1] +ALSMaxRPMCondition = bits, U32, 988, [2:2] +ALSMinCLTCondition = bits, U32, 988, [3:3] +ALSMaxCLTCondition = bits, U32, 988, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 988, [5:5] +isALSSwitchActivated = bits, U32, 988, [6:6] +ALSActivatePinState = bits, U32, 988, [7:7] +ALSSwitchCondition = bits, U32, 988, [8:8] +ALSTimerCondition = bits, U32, 988, [9:9] +fuelALSCorrection = scalar, F32, 992, "", 1, 0 +timingALSCorrection = scalar, S16, 996, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 998, "deg", 0.01, 0 +; total TS size = 1000 +isTpsInvalid = bits, U32, 1000, [0:0] +m_shouldResetPid = bits, U32, 1000, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1000, [2:2] +isNotClosedLoop = bits, U32, 1000, [3:3] +isZeroRpm = bits, U32, 1000, [4:4] +hasInitBoost = bits, U32, 1000, [5:5] +rpmTooLow = bits, U32, 1000, [6:6] +tpsTooLow = bits, U32, 1000, [7:7] +mapTooLow = bits, U32, 1000, [8:8] +isPlantValid = bits, U32, 1000, [9:9] +luaTargetAdd = scalar, S16, 1004, "v", 0.5,0 +boostOutput = scalar, S16, 1006, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1008, "v", 1,0 +openLoopPart = scalar, F32, 1012, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1016, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1020, "%", 0.5,0 +boostControlTarget = scalar, S16, 1022, "kPa", 0.03333333333333333,0 +; total TS size = 1024 +acButtonState = scalar, S08, 1024, "", 1, 0 +m_acEnabled = bits, U32, 1028, [0:0] +engineTooSlow = bits, U32, 1028, [1:1] +engineTooFast = bits, U32, 1028, [2:2] +noClt = bits, U32, 1028, [3:3] +engineTooHot = bits, U32, 1028, [4:4] +tpsTooHigh = bits, U32, 1028, [5:5] +isDisabledByLua = bits, U32, 1028, [6:6] +acCompressorState = bits, U32, 1028, [7:7] +latest_usage_ac_control = scalar, S32, 1032, "", 1, 0 +acSwitchLastChangeTimeMs = scalar, S32, 1036, "", 1, 0 ; total TS size = 1040 -isPrime = bits, U32, 1040, [0:0] -engineTurnedRecently = bits, U32, 1040, [1:1] -isFuelPumpOn = bits, U32, 1040, [2:2] -ignitionOn = bits, U32, 1040, [3:3] +cranking0 = bits, U32, 1040, [0:0] +notRunning0 = bits, U32, 1040, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1040, [2:2] +brokenClt0 = bits, U32, 1040, [3:3] +enabledForAc0 = bits, U32, 1040, [4:4] +hot0 = bits, U32, 1040, [5:5] +cold0 = bits, U32, 1040, [6:6] ; total TS size = 1044 -isBenchTest = bits, U32, 1044, [0:0] -hasIgnitionVoltage = bits, U32, 1044, [1:1] -mainRelayState = bits, U32, 1044, [2:2] -delayedShutoffRequested = bits, U32, 1044, [3:3] +isPrime = bits, U32, 1044, [0:0] +engineTurnedRecently = bits, U32, 1044, [1:1] +isFuelPumpOn = bits, U32, 1044, [2:2] +ignitionOn = bits, U32, 1044, [3:3] ; total TS size = 1048 -lua_fuelAdd = scalar, F32, 1048, "g", 1, 0 -lua_fuelMult = scalar, F32, 1052, "", 1, 0 -lua_clutchUpState = bits, U32, 1056, [0:0] -lua_brakePedalState = bits, U32, 1056, [1:1] -lua_acRequestState = bits, U32, 1056, [2:2] -lua_luaDisableEtb = bits, U32, 1056, [3:3] -lua_luaIgnCut = bits, U32, 1056, [4:4] -sd_tCharge = scalar, S16, 1060, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1064, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1068, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1072, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1076, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1080, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1084, "", 1, 0 -hellenBoardId = scalar, S16, 1088, "id", 1, 0 -clutchUpState = scalar, S08, 1090, "", 1, 0 -clutchDownState = scalar, S08, 1091, "", 1, 0 -brakePedalState = scalar, S08, 1092, "", 1, 0 -startStopState = scalar, S08, 1093, "", 1, 0 -smartChipState = scalar, S08, 1094, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1095, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1096, "", 1, 0 -startStopPhysicalState = bits, U32, 1100, [0:0] -acrStateDup = bits, U32, 1100, [1:1] -acrEngineMovedRecently = bits, U32, 1100, [2:2] -heaterControlEnabled = bits, U32, 1100, [3:3] -luaDigitalState0 = bits, U32, 1100, [4:4] -luaDigitalState1 = bits, U32, 1100, [5:5] -luaDigitalState2 = bits, U32, 1100, [6:6] -luaDigitalState3 = bits, U32, 1100, [7:7] -startStopStateToggleCounter = scalar, U32, 1104, "", 1, 0 -egtValue1 = scalar, F32, 1108, "", 1, 0 -egtValue2 = scalar, F32, 1112, "", 1, 0 -desiredRpmLimit = scalar, S16, 1116, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1120, "", 1, 0 -sparkCounter = scalar, U32, 1124, "", 1, 0 -fuelingLoad = scalar, F32, 1128, "", 1, 0 -ignitionLoad = scalar, F32, 1132, "", 1, 0 -veTableYAxis = scalar, U16, 1136, "%", 0.01, 0 -; total TS size = 1140 -tpsFrom = scalar, F32, 1140 -tpsTo = scalar, F32, 1144 -deltaTps = scalar, F32, 1148 -extraFuel = scalar, F32, 1152, "", 1, 0 -valueFromTable = scalar, F32, 1156, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1160, [0:0] -isBelowDecelThreshold = bits, U32, 1160, [1:1] -isTimeToResetAccumulator = bits, U32, 1160, [2:2] -isFractionalEnrichment = bits, U32, 1160, [3:3] -belowEpsilon = bits, U32, 1160, [4:4] -tooShort = bits, U32, 1160, [5:5] -fractionalInjFuel = scalar, F32, 1164, "", 1, 0 -accumulatedValue = scalar, F32, 1168, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1172, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1176, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1180, "", 1, 0 -cycleCnt = scalar, S32, 1184, "", 1, 0 -; total TS size = 1188 -hwEventCounters1 = scalar, U32, 1188, "", 1, 0 -hwEventCounters2 = scalar, U32, 1192, "", 1, 0 -hwEventCounters3 = scalar, U32, 1196, "", 1, 0 -hwEventCounters4 = scalar, U32, 1200, "", 1, 0 -hwEventCounters5 = scalar, U32, 1204, "", 1, 0 -hwEventCounters6 = scalar, U32, 1208, "", 1, 0 -vvtCamCounter = scalar, U32, 1212, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1216, "", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1220, "", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1224, "", 1, 0 -mapVvt_map_peak = scalar, U08, 1225, "", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1228, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1232, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1236, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1240, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1244, [0:0] -; total TS size = 1248 -crankSynchronizationCounter0 = scalar, U32, 1248, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1252, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1256, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1260, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1264, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1268, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1272, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1276, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1280, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1284, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1285, "", 1, 0 -; total TS size = 1288 -camResyncCounter = scalar, U08, 1288, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1292, [0:0] -; total TS size = 1296 -wallFuelCorrection = scalar, F32, 1296, "", 1, 0 -wallFuel = scalar, F32, 1300, "", 1, 0 -; total TS size = 1304 -idleState = bits, S32, 1304, [0:2], "not important" -currentIdlePosition = scalar, F32, 1308 -baseIdlePosition = scalar, F32, 1312 -idleClosedLoop = scalar, F32, 1316 -iacByTpsTaper = scalar, F32, 1320 -throttlePedalUpState = scalar, S32, 1324, "", 1, 0 -mightResetPid = bits, U32, 1328, [0:0] -shouldResetPid = bits, U32, 1328, [1:1] -wasResetPid = bits, U32, 1328, [2:2] -mustResetPid = bits, U32, 1328, [3:3] -isCranking = bits, U32, 1328, [4:4] -isIacTableForCoasting = bits, U32, 1328, [5:5] -notIdling = bits, U32, 1328, [6:6] -needReset = bits, U32, 1328, [7:7] -isInDeadZone = bits, U32, 1328, [8:8] -isBlipping = bits, U32, 1328, [9:9] -useClosedLoop = bits, U32, 1328, [10:10] -badTps = bits, U32, 1328, [11:11] -looksLikeRunning = bits, U32, 1328, [12:12] -looksLikeCoasting = bits, U32, 1328, [13:13] -looksLikeCrankToIdle = bits, U32, 1328, [14:14] -isIdleCoasting = bits, U32, 1328, [15:15] -isIdleClosedLoop = bits, U32, 1328, [16:16] -idleTarget = scalar, S32, 1332, "", 1, 0 -targetRpmByClt = scalar, S32, 1336, "", 1, 0 -targetRpmAc = scalar, S32, 1340, "", 1, 0 -iacByRpmTaper = scalar, F32, 1344 -luaAdd = scalar, F32, 1348 -; total TS size = 1352 -idlePosition0 = scalar, F32, 1352, "per", 1,0 -trim0 = scalar, F32, 1356, "", 1, 0 -luaAdjustment0 = scalar, F32, 1360, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1364, "per", 1,0 -etbFeedForward0 = scalar, F32, 1368 -etbIntegralError0 = scalar, F32, 1372, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1376, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1380, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1384, [0:0] -jamDetected0 = bits, U32, 1384, [1:1] -etbDutyRateOfChange0 = scalar, F32, 1388, "per", 1,0 -etbDutyAverage0 = scalar, F32, 1392, "per", 1,0 -etbTpsErrorCounter0 = scalar, U16, 1396, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1398, "count", 1,0 -etbErrorCode0 = scalar, S08, 1400, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1401, "", 1, 0 -jamTimer0 = scalar, U16, 1402, "sec", 0.01, 0 -; total TS size = 1404 -faultCode0 = scalar, U08, 1404, "", 1, 0 -heaterDuty0 = scalar, U08, 1405, "%", 1, 0 -pumpDuty0 = scalar, U08, 1406, "%", 1, 0 -tempC0 = scalar, U16, 1408, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1410, "V", 0.001, 0 -esr0 = scalar, U16, 1412, "ohm", 1, 0 -; total TS size = 1416 -dcOutput0 = scalar, F32, 1416, "per", 1,0 -isEnabled0_int = scalar, U08, 1420, "per", 1,0 -isEnabled0 = bits, U32, 1424, [0:0] -; total TS size = 1428 -value0 = scalar, U16, 1428, "value", 1,0 -value1 = scalar, U16, 1430, "value", 1,0 -errorRate = scalar, F32, 1432, "ratio", 1,0 -; total TS size = 1436 -vvtTarget = scalar, U16, 1436, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1438, "%", 0.5, 0 +isBenchTest = bits, U32, 1048, [0:0] +hasIgnitionVoltage = bits, U32, 1048, [1:1] +mainRelayState = bits, U32, 1048, [2:2] +delayedShutoffRequested = bits, U32, 1048, [3:3] +; total TS size = 1052 +lua_fuelAdd = scalar, F32, 1052, "g", 1, 0 +lua_fuelMult = scalar, F32, 1056, "", 1, 0 +lua_clutchUpState = bits, U32, 1060, [0:0] +lua_brakePedalState = bits, U32, 1060, [1:1] +lua_acRequestState = bits, U32, 1060, [2:2] +lua_luaDisableEtb = bits, U32, 1060, [3:3] +lua_luaIgnCut = bits, U32, 1060, [4:4] +sd_tCharge = scalar, S16, 1064, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1068, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1072, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1076, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1080, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1084, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1088, "", 1, 0 +hellenBoardId = scalar, S16, 1092, "id", 1, 0 +clutchUpState = scalar, S08, 1094, "", 1, 0 +clutchDownState = scalar, S08, 1095, "", 1, 0 +brakePedalState = scalar, S08, 1096, "", 1, 0 +startStopState = scalar, S08, 1097, "", 1, 0 +smartChipState = scalar, S08, 1098, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1099, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1100, "", 1, 0 +startStopPhysicalState = bits, U32, 1104, [0:0] +acrStateDup = bits, U32, 1104, [1:1] +acrEngineMovedRecently = bits, U32, 1104, [2:2] +heaterControlEnabled = bits, U32, 1104, [3:3] +luaDigitalState0 = bits, U32, 1104, [4:4] +luaDigitalState1 = bits, U32, 1104, [5:5] +luaDigitalState2 = bits, U32, 1104, [6:6] +luaDigitalState3 = bits, U32, 1104, [7:7] +startStopStateToggleCounter = scalar, U32, 1108, "", 1, 0 +egtValue1 = scalar, F32, 1112, "", 1, 0 +egtValue2 = scalar, F32, 1116, "", 1, 0 +desiredRpmLimit = scalar, S16, 1120, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1124, "", 1, 0 +sparkCounter = scalar, U32, 1128, "", 1, 0 +fuelingLoad = scalar, F32, 1132, "", 1, 0 +ignitionLoad = scalar, F32, 1136, "", 1, 0 +veTableYAxis = scalar, U16, 1140, "%", 0.01, 0 +; total TS size = 1144 +tpsFrom = scalar, F32, 1144 +tpsTo = scalar, F32, 1148 +deltaTps = scalar, F32, 1152 +extraFuel = scalar, F32, 1156, "", 1, 0 +valueFromTable = scalar, F32, 1160, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1164, [0:0] +isBelowDecelThreshold = bits, U32, 1164, [1:1] +isTimeToResetAccumulator = bits, U32, 1164, [2:2] +isFractionalEnrichment = bits, U32, 1164, [3:3] +belowEpsilon = bits, U32, 1164, [4:4] +tooShort = bits, U32, 1164, [5:5] +fractionalInjFuel = scalar, F32, 1168, "", 1, 0 +accumulatedValue = scalar, F32, 1172, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1176, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1180, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1184, "", 1, 0 +cycleCnt = scalar, S32, 1188, "", 1, 0 +; total TS size = 1192 +hwEventCounters1 = scalar, U32, 1192, "", 1, 0 +hwEventCounters2 = scalar, U32, 1196, "", 1, 0 +hwEventCounters3 = scalar, U32, 1200, "", 1, 0 +hwEventCounters4 = scalar, U32, 1204, "", 1, 0 +hwEventCounters5 = scalar, U32, 1208, "", 1, 0 +hwEventCounters6 = scalar, U32, 1212, "", 1, 0 +vvtCamCounter = scalar, U32, 1216, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1220, "", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1224, "", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1228, "", 1, 0 +mapVvt_map_peak = scalar, U08, 1229, "", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1232, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1236, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1240, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1244, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1248, [0:0] +; total TS size = 1252 +crankSynchronizationCounter0 = scalar, U32, 1252, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1256, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1260, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1264, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1268, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1272, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1276, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1280, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1284, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1288, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1289, "", 1, 0 +; total TS size = 1292 +camResyncCounter = scalar, U08, 1292, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1296, [0:0] +; total TS size = 1300 +wallFuelCorrection = scalar, F32, 1300, "", 1, 0 +wallFuel = scalar, F32, 1304, "", 1, 0 +; total TS size = 1308 +idleState = bits, S32, 1308, [0:2], "not important" +currentIdlePosition = scalar, F32, 1312 +baseIdlePosition = scalar, F32, 1316 +idleClosedLoop = scalar, F32, 1320 +iacByTpsTaper = scalar, F32, 1324 +throttlePedalUpState = scalar, S32, 1328, "", 1, 0 +mightResetPid = bits, U32, 1332, [0:0] +shouldResetPid = bits, U32, 1332, [1:1] +wasResetPid = bits, U32, 1332, [2:2] +mustResetPid = bits, U32, 1332, [3:3] +isCranking = bits, U32, 1332, [4:4] +isIacTableForCoasting = bits, U32, 1332, [5:5] +notIdling = bits, U32, 1332, [6:6] +needReset = bits, U32, 1332, [7:7] +isInDeadZone = bits, U32, 1332, [8:8] +isBlipping = bits, U32, 1332, [9:9] +useClosedLoop = bits, U32, 1332, [10:10] +badTps = bits, U32, 1332, [11:11] +looksLikeRunning = bits, U32, 1332, [12:12] +looksLikeCoasting = bits, U32, 1332, [13:13] +looksLikeCrankToIdle = bits, U32, 1332, [14:14] +isIdleCoasting = bits, U32, 1332, [15:15] +isIdleClosedLoop = bits, U32, 1332, [16:16] +idleTarget = scalar, S32, 1336, "", 1, 0 +targetRpmByClt = scalar, S32, 1340, "", 1, 0 +targetRpmAc = scalar, S32, 1344, "", 1, 0 +iacByRpmTaper = scalar, F32, 1348 +luaAdd = scalar, F32, 1352 +; total TS size = 1356 +idlePosition0 = scalar, F32, 1356, "per", 1,0 +trim0 = scalar, F32, 1360, "", 1, 0 +luaAdjustment0 = scalar, F32, 1364, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1368, "per", 1,0 +etbFeedForward0 = scalar, F32, 1372 +etbIntegralError0 = scalar, F32, 1376, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1380, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1384, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1388, [0:0] +jamDetected0 = bits, U32, 1388, [1:1] +etbDutyRateOfChange0 = scalar, F32, 1392, "per", 1,0 +etbDutyAverage0 = scalar, F32, 1396, "per", 1,0 +etbTpsErrorCounter0 = scalar, U16, 1400, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1402, "count", 1,0 +etbErrorCode0 = scalar, S08, 1404, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1405, "", 1, 0 +jamTimer0 = scalar, U16, 1406, "sec", 0.01, 0 +; total TS size = 1408 +faultCode0 = scalar, U08, 1408, "", 1, 0 +heaterDuty0 = scalar, U08, 1409, "%", 1, 0 +pumpDuty0 = scalar, U08, 1410, "%", 1, 0 +tempC0 = scalar, U16, 1412, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1414, "V", 0.001, 0 +esr0 = scalar, U16, 1416, "ohm", 1, 0 +; total TS size = 1420 +dcOutput0 = scalar, F32, 1420, "per", 1,0 +isEnabled0_int = scalar, U08, 1424, "per", 1,0 +isEnabled0 = bits, U32, 1428, [0:0] +; total TS size = 1432 +value0 = scalar, U16, 1432, "value", 1,0 +value1 = scalar, U16, 1434, "value", 1,0 +errorRate = scalar, F32, 1436, "ratio", 1,0 ; total TS size = 1440 -lambdaCurrentlyGood = bits, U32, 1440, [0:0] -lambdaMonitorCut = bits, U32, 1440, [1:1] -lambdaTimeSinceGood = scalar, U16, 1444, "sec", 0.01, 0 -; total TS size = 1448 +vvtTarget = scalar, U16, 1440, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1442, "%", 0.5, 0 +; total TS size = 1444 +lambdaCurrentlyGood = bits, U32, 1444, [0:0] +lambdaMonitorCut = bits, U32, 1444, [1:1] +lambdaTimeSinceGood = scalar, U16, 1448, "sec", 0.01, 0 +; total TS size = 1452 time = { timeNow } @@ -3208,6 +3212,8 @@ lambdaTimeSinceGood = scalar, U16, 1444, "sec", 0.01, 0 ; TpsState etbCutCodeList = bits, U08, [0:7], "None", "engine stopped", "TPS error", "PPS error", "TPS noise", "PID noise", "Lua", "Manual", "N/A", "Redundancy", "PPS noise" + outputDiagErrorList = bits, U08, [0:3], "Not used", "No error", "Open Load", "Short to Gnd", "Short to Battery", "Overload", "Driver Overtemp", "Driver disabled", "Invalid" + [ConstantsExtensions] ; defaultValue is used to provide TunerStudio with a value to use in the case of ; the constant not yet being initialized. This is primarily important if the @@ -3312,18 +3318,6 @@ lambdaTimeSinceGood = scalar, U16, 1444, "sec", 0.01, 0 yBins = knockBaseNoise gauge = RPMGauge - curve = narrowToWideOxygenCurve, "Narrow to Wideband approximation" - columnLabel = "Voltage", "AFR" - xAxis = 0, 6, 10 - yAxis = 0, 28, 10 - xBins = narrowToWideOxygenBins - yBins = narrowToWideOxygen -#if LAMBDA - gauge = lambda1Gauge -#else - gauge = afr1Gauge -#endif - curve = scriptCurve1, "Script Curve #1" columnLabel = "X", "Y" xAxis = 0, 128, 10 @@ -4846,7 +4840,6 @@ entry = rawClt, "rawClt", float, "%.3f" entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" -entry = tcuCurrentGear, "Current Gear", int, "%d" entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = idlePositionSensor, "Idle: Position sensor", float, "%.3f" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" @@ -4893,9 +4886,6 @@ entry = rawAfr, "rawAfr", float, "%.3f" entry = calibrationValue2, "calibrationValue2", float, "%.3f" entry = luaInvocationCounter, "Lua: Tick counter", int, "%d" entry = luaLastCycleDuration, "Lua: Last tick duration", int, "%d" -entry = tcu_currentRange, "TCU: Current Range", int, "%d" -entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" -entry = lastShiftTime, "lastShiftTime", float, "%.3f" entry = vssEdgeCounter, "vssEdgeCounter", int, "%d" entry = issEdgeCounter, "issEdgeCounter", int, "%d" entry = auxLinear1, "Aux linear #1", float, "%.3f" @@ -5082,6 +5072,30 @@ entry = distanceTraveled, "distanceTraveled", float, "%.3f" entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = wheelSlipRatio, "wheelSlipRatio", float, "%.3f" +entry = ignitorDiagnostic1, "ignitorDiagnostic 1", int, "%d" +entry = ignitorDiagnostic2, "ignitorDiagnostic 2", int, "%d" +entry = ignitorDiagnostic3, "ignitorDiagnostic 3", int, "%d" +entry = ignitorDiagnostic4, "ignitorDiagnostic 4", int, "%d" +entry = ignitorDiagnostic5, "ignitorDiagnostic 5", int, "%d" +entry = ignitorDiagnostic6, "ignitorDiagnostic 6", int, "%d" +entry = ignitorDiagnostic7, "ignitorDiagnostic 7", int, "%d" +entry = ignitorDiagnostic8, "ignitorDiagnostic 8", int, "%d" +entry = ignitorDiagnostic9, "ignitorDiagnostic 9", int, "%d" +entry = ignitorDiagnostic10, "ignitorDiagnostic 10", int, "%d" +entry = ignitorDiagnostic11, "ignitorDiagnostic 11", int, "%d" +entry = ignitorDiagnostic12, "ignitorDiagnostic 12", int, "%d" +entry = injectorDiagnostic1, "injectorDiagnostic 1", int, "%d" +entry = injectorDiagnostic2, "injectorDiagnostic 2", int, "%d" +entry = injectorDiagnostic3, "injectorDiagnostic 3", int, "%d" +entry = injectorDiagnostic4, "injectorDiagnostic 4", int, "%d" +entry = injectorDiagnostic5, "injectorDiagnostic 5", int, "%d" +entry = injectorDiagnostic6, "injectorDiagnostic 6", int, "%d" +entry = injectorDiagnostic7, "injectorDiagnostic 7", int, "%d" +entry = injectorDiagnostic8, "injectorDiagnostic 8", int, "%d" +entry = injectorDiagnostic9, "injectorDiagnostic 9", int, "%d" +entry = injectorDiagnostic10, "injectorDiagnostic 10", int, "%d" +entry = injectorDiagnostic11, "injectorDiagnostic 11", int, "%d" +entry = injectorDiagnostic12, "injectorDiagnostic 12", int, "%d" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -5127,6 +5141,10 @@ entry = m_knockRetard, "Knock: Retard", float, "%.3f" entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" +entry = tcuCurrentGear, "Current Gear", int, "%d" +entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" +entry = lastShiftTime, "lastShiftTime", float, "%.3f" +entry = tcu_currentRange, "TCU: Current Range", int, "%d" entry = throttleUseWotModel, "Air: Throttle model WOT", int, "%d" entry = throttleModelCrossoverAngle, "Air: Throttle crossover pos", float, "%.3f" entry = throttleEstimatedFlow, "Air: Throttle flow estimate", float, "%.3f" @@ -5692,7 +5710,6 @@ menuDialog = main # O2 sensor(s) subMenu = egoSettings, "EGO sensor" subMenu = widebandConfig, "rusEFI Wideband Controller", 0, { canReadEnabled && canWriteEnabled } - subMenu = narrowToWideOxygenCurve, "Narrow to Wideband approximation" subMenu = std_separator # Misc sensors @@ -5725,7 +5742,9 @@ menuDialog = main subMenu = canBusMain, "CAN Bus Communication" subMenu = sdCard, "SD Card Logger" subMenu = connection, "Connection" - subMenu = tle8888, "TLE8888" + subMenu = std_separator + + subMenu = std_separator subMenu = allPins1, "Full pinout 1/3" subMenu = allPins2, "Full pinout 2/3" @@ -5765,6 +5784,7 @@ menuDialog = main subMenu = fuel_computerDialog, "fuel_computer" subMenu = ignition_stateDialog, "ignition_state" subMenu = knock_controllerDialog, "knock_controller" + subMenu = tcu_controllerDialog, "tcu_controller" subMenu = throttle_modelDialog, "throttle_model" subMenu = high_pressure_fuel_pumpDialog, "high_pressure_fuel_pump" subMenu = injector_modelDialog, "injector_model" @@ -5874,6 +5894,7 @@ cmd_calibrate_tps_2_wot = "Z\x00\x14\x00\x05" cmd_calibrate_pedal_up = "Z\x00\x14\x00\x06" cmd_calibrate_pedal_down = "Z\x00\x14\x00\x07" cmd_tle8888_init = "Z\x00\x14\x00\x08" +cmd_mc33810_init = "Z\x00\x14\x00\x14" cmd_write_config = "Z\x00\x14\x00\x0a" cmd_etb_reset = "Z\x00\x14\x00\x0b" cmd_etb_autotune = "Z\x00\x14\x00\x0C" @@ -6029,6 +6050,14 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard + +dialog = tcu_controllerDialog, "tcu_controller" + liveGraph = tcu_controller_1_Graph, "Graph", South + graphLine = tcuCurrentGear + graphLine = tcRatio + graphLine = lastShiftTime + graphLine = tcu_currentRange + indicatorPanel = throttle_modelIndicatorPanel, 2 indicator = {throttleUseWotModel}, "throttleUseWotModel No", "throttleUseWotModel Yes" @@ -6831,7 +6860,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter - panel = veBlend2Bias + panel = veBlend1Bias dialog = veBlend2Cfg, "VE blend 2 config" field = "#The bias table controls how much of the blend table" @@ -8078,14 +8107,17 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "SD logger rate", sdCardLogFrequency field = "SD logger mode", sdTriggerLog - dialog = tle8888, "TLE8888", yAxis - field = "TLE8888 Chip Select", tle8888_cs + dialog = tle8888Dialog, "TLE8888", yAxis field = "TLE8888 SPI", tle8888spiDevice + field = "TLE8888 Chip Select", tle8888_cs field = "Mode", tle8888mode field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack field = "useTLE8888 stepper", useTLE8888_stepper - commandButton = "Reinit", cmd_tle8888_init - field = "L9779 SPI", tle8888spiDevice + commandButton = "Reinitialize", cmd_tle8888_init + + dialog = l9779Dialog, "L9779", yAxis + field = "L9779 SPI", l9779spiDevice + filed = "L9779 Chip Select", l9779_cs dialog = connection, "", yAxis panel = tsPort @@ -8716,7 +8748,19 @@ dialog = tcuControls, "Transmission Settings" field = dacOutputPins2, dacOutputPins2 field = "Read RPM matching VSS profile", canInputBCM field = useSpiImu, useSpiImu - field = mc33810maxDwellTimer, mc33810maxDwellTimer + + dialog = mc33810Dialog, "MC33810 IGN/INJ driver" + field = "SPI settings" + field = "mc33810_cs", mc33810_cs1 + field = "mc33810_csPinMode", mc33810_csPinMode + field = "Chip configuration" + field = "Maximum dwell (IGN pins mode only)", mc33810maxDwellTimer + field = "Disable auto recovery from OV/UV", mc33810DisableRecoveryMode + field = "GD0 output disable IGN mode", mc33810Gpgd0Mode + field = "GD1 output disable IGN mode", mc33810Gpgd1Mode + field = "GD2 output disable IGN mode", mc33810Gpgd2Mode + field = "GD3 output disable IGN mode", mc33810Gpgd3Mode + commandButton = "Reinitialize", cmd_mc33810_init dialog = harleyAcr, "Harley Automatic Compression Release" field = "Pin", acrPin @@ -8906,6 +8950,38 @@ dialog = tcuControls, "Transmission Settings" field = "Integral gain", hpfpPidI, {hpfpCamLobes != 0} panel = hpfpDeadtimeCurve, {hpfpCamLobes != 0} + indicatorPanel = IgnitionDiagPanel, 1, { 1 } + indicator = { ignitorDiagnostic1 > 1 }, { Ignition out 1: bitStringValue(outputDiagErrorList, ignitorDiagnostic1 )}, { Ignition out 1: bitStringValue(outputDiagErrorList, ignitorDiagnostic1 )}, green, black, red, black + indicator = { ignitorDiagnostic2 > 1 }, { Ignition out 2: bitStringValue(outputDiagErrorList, ignitorDiagnostic2 )}, { Ignition out 2: bitStringValue(outputDiagErrorList, ignitorDiagnostic2 )}, green, black, red, black + indicator = { ignitorDiagnostic3 > 1 }, { Ignition out 3: bitStringValue(outputDiagErrorList, ignitorDiagnostic3 )}, { Ignition out 3: bitStringValue(outputDiagErrorList, ignitorDiagnostic3 )}, green, black, red, black + indicator = { ignitorDiagnostic4 > 1 }, { Ignition out 4: bitStringValue(outputDiagErrorList, ignitorDiagnostic4 )}, { Ignition out 4: bitStringValue(outputDiagErrorList, ignitorDiagnostic4 )}, green, black, red, black + indicator = { ignitorDiagnostic5 > 1 }, { Ignition out 5: bitStringValue(outputDiagErrorList, ignitorDiagnostic5 )}, { Ignition out 5: bitStringValue(outputDiagErrorList, ignitorDiagnostic5 )}, green, black, red, black + indicator = { ignitorDiagnostic6 > 1 }, { Ignition out 6: bitStringValue(outputDiagErrorList, ignitorDiagnostic6 )}, { Ignition out 6: bitStringValue(outputDiagErrorList, ignitorDiagnostic6 )}, green, black, red, black + indicator = { ignitorDiagnostic7 > 1 }, { Ignition out 7: bitStringValue(outputDiagErrorList, ignitorDiagnostic7 )}, { Ignition out 7: bitStringValue(outputDiagErrorList, ignitorDiagnostic7 )}, green, black, red, black + indicator = { ignitorDiagnostic8 > 1 }, { Ignition out 8: bitStringValue(outputDiagErrorList, ignitorDiagnostic8 )}, { Ignition out 8: bitStringValue(outputDiagErrorList, ignitorDiagnostic8 )}, green, black, red, black + indicator = { ignitorDiagnostic9 > 1 }, { Ignition out 9: bitStringValue(outputDiagErrorList, ignitorDiagnostic9 )}, { Ignition out 9: bitStringValue(outputDiagErrorList, ignitorDiagnostic9 )}, green, black, red, black + indicator = { ignitorDiagnostic10 > 1 }, {Ignition out 10: bitStringValue(outputDiagErrorList, ignitorDiagnostic10)}, {Ignition out 10: bitStringValue(outputDiagErrorList, ignitorDiagnostic10)}, green, black, red, black + indicator = { ignitorDiagnostic11 > 1 }, {Ignition out 11: bitStringValue(outputDiagErrorList, ignitorDiagnostic11)}, {Ignition out 11: bitStringValue(outputDiagErrorList, ignitorDiagnostic11)}, green, black, red, black + indicator = { ignitorDiagnostic12 > 1 }, {Ignition out 12: bitStringValue(outputDiagErrorList, ignitorDiagnostic12)}, {Ignition out 12: bitStringValue(outputDiagErrorList, ignitorDiagnostic12)}, green, black, red, black + + indicatorPanel = InjectionDiagPanel, 1, { 1 } + indicator = { injectorDiagnostic1 > 1 }, { Injector out 1: bitStringValue(outputDiagErrorList, injectorDiagnostic1 )}, { Injector out 1: bitStringValue(outputDiagErrorList, injectorDiagnostic1 )}, green, black, red, black + indicator = { injectorDiagnostic2 > 1 }, { Injector out 2: bitStringValue(outputDiagErrorList, injectorDiagnostic2 )}, { Injector out 2: bitStringValue(outputDiagErrorList, injectorDiagnostic2 )}, green, black, red, black + indicator = { injectorDiagnostic3 > 1 }, { Injector out 3: bitStringValue(outputDiagErrorList, injectorDiagnostic3 )}, { Injector out 3: bitStringValue(outputDiagErrorList, injectorDiagnostic3 )}, green, black, red, black + indicator = { injectorDiagnostic4 > 1 }, { Injector out 4: bitStringValue(outputDiagErrorList, injectorDiagnostic4 )}, { Injector out 4: bitStringValue(outputDiagErrorList, injectorDiagnostic4 )}, green, black, red, black + indicator = { injectorDiagnostic5 > 1 }, { Injector out 5: bitStringValue(outputDiagErrorList, injectorDiagnostic5 )}, { Injector out 5: bitStringValue(outputDiagErrorList, injectorDiagnostic5 )}, green, black, red, black + indicator = { injectorDiagnostic6 > 1 }, { Injector out 6: bitStringValue(outputDiagErrorList, injectorDiagnostic6 )}, { Injector out 6: bitStringValue(outputDiagErrorList, injectorDiagnostic6 )}, green, black, red, black + indicator = { injectorDiagnostic7 > 1 }, { Injector out 7: bitStringValue(outputDiagErrorList, injectorDiagnostic7 )}, { Injector out 7: bitStringValue(outputDiagErrorList, injectorDiagnostic7 )}, green, black, red, black + indicator = { injectorDiagnostic8 > 1 }, { Injector out 8: bitStringValue(outputDiagErrorList, injectorDiagnostic8 )}, { Injector out 8: bitStringValue(outputDiagErrorList, injectorDiagnostic8 )}, green, black, red, black + indicator = { injectorDiagnostic9 > 1 }, { Injector out 9: bitStringValue(outputDiagErrorList, injectorDiagnostic9 )}, { Injector out 9: bitStringValue(outputDiagErrorList, injectorDiagnostic9 )}, green, black, red, black + indicator = { injectorDiagnostic10 > 1 }, {Injector out 10: bitStringValue(outputDiagErrorList, injectorDiagnostic10)}, {Injector out 10: bitStringValue(outputDiagErrorList, injectorDiagnostic10)}, green, black, red, black + indicator = { injectorDiagnostic11 > 1 }, {Injector out 11: bitStringValue(outputDiagErrorList, injectorDiagnostic11)}, {Injector out 11: bitStringValue(outputDiagErrorList, injectorDiagnostic11)}, green, black, red, black + indicator = { injectorDiagnostic12 > 1 }, {Injector out 12: bitStringValue(outputDiagErrorList, injectorDiagnostic12)}, {Injector out 12: bitStringValue(outputDiagErrorList, injectorDiagnostic12)}, green, black, red, black + + dialog = OutputDiagDialog, "Output diagnostic", xAxis + panel = IgnitionDiagPanel + panel = InjectionDiagPanel + [Tools] ;addTool = toolName, PanelName addTool = veTableGenerator, "VE Table Generator", veTableTbl