2024-06-15 07:33:55 -07:00
// this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt Sat Jun 15 14:32:46 UTC 2024
2023-12-19 21:03:15 -08:00
// by class com.rusefi.output.CHeaderConsumer
// begin
# pragma once
# include "rusefi_types.h"
// start of stft_cell_cfg_s
struct stft_cell_cfg_s {
/**
2024-02-21 10:42:26 -08:00
* Maximum % that the short term fuel trim can add
2024-01-03 12:32:11 -08:00
* units : %
2023-12-19 21:03:15 -08:00
* offset 0
*/
int8_t maxAdd ;
/**
2024-02-21 10:42:26 -08:00
* Maximum % that the short term fuel trim can remove
2024-01-03 12:32:11 -08:00
* units : %
2023-12-19 21:03:15 -08:00
* 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 .
2024-01-03 12:32:11 -08:00
* units : sec
2023-12-19 21:03:15 -08:00
* offset 2
*/
scaled_channel < uint16_t , 10 , 1 > timeConstant ;
} ;
static_assert ( sizeof ( stft_cell_cfg_s ) = = 4 ) ;
// start of stft_s
struct stft_s {
/**
2024-03-15 09:51:03 -07:00
* Below this RPM , the idle region is active , idle + 300 would be a good value
2024-01-03 12:32:11 -08:00
* units : RPM
2023-12-19 21:03:15 -08:00
* offset 0
*/
scaled_channel < uint8_t , 1 , 50 > maxIdleRegionRpm ;
/**
* Below this engine load , the overrun region is active
2024-01-03 12:32:11 -08:00
* units : load
2023-12-19 21:03:15 -08:00
* offset 1
*/
uint8_t maxOverrunLoad ;
/**
* Above this engine load , the power region is active
2024-01-03 12:32:11 -08:00
* units : load
2023-12-19 21:03:15 -08:00
* 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 .
2024-01-03 12:32:11 -08:00
* units : %
2023-12-19 21:03:15 -08:00
* offset 3
*/
scaled_channel < uint8_t , 10 , 1 > deadband ;
/**
* Below this temperature , correction is disabled .
2024-01-03 12:32:11 -08:00
* units : C
2023-12-19 21:03:15 -08:00
* offset 4
*/
int8_t minClt ;
/**
* Below this AFR , correction is paused
2024-01-03 12:32:11 -08:00
* units : afr
2023-12-19 21:03:15 -08:00
* offset 5
*/
scaled_channel < uint8_t , 10 , 1 > minAfr ;
/**
* Above this AFR , correction is paused
2024-01-03 12:32:11 -08:00
* units : afr
2023-12-19 21:03:15 -08:00
* offset 6
*/
scaled_channel < uint8_t , 10 , 1 > maxAfr ;
/**
* Delay after starting the engine before beginning closed loop correction .
2024-01-03 12:32:11 -08:00
* units : seconds
2023-12-19 21:03:15 -08:00
* offset 7
*/
uint8_t startupDelay ;
/**
* offset 8
*/
stft_cell_cfg_s cellCfgs [ STFT_CELL_COUNT ] ;
} ;
static_assert ( sizeof ( stft_s ) = = 24 ) ;
// start of pid_s
struct pid_s {
/**
* offset 0
*/
float pFactor ;
/**
* offset 4
*/
float iFactor ;
/**
* offset 8
*/
float dFactor ;
/**
* Linear addition to PID logic
* offset 12
*/
int16_t offset ;
/**
* PID dTime
2024-01-03 12:32:11 -08:00
* units : ms
2023-12-19 21:03:15 -08:00
* offset 14
*/
int16_t periodMs ;
/**
* Output Min Duty Cycle
* offset 16
*/
int16_t minValue ;
/**
* Output Max Duty Cycle
* offset 18
*/
int16_t maxValue ;
} ;
static_assert ( sizeof ( pid_s ) = = 20 ) ;
2024-04-20 05:22:40 -07:00
// start of MsIoBox_config_s
struct MsIoBox_config_s {
/**
* offset 0
*/
MsIoBoxId id ;
/**
* offset 1
*/
MsIoBoxVss vss ;
/**
* need 4 byte alignment
* units : units
* offset 2
*/
uint8_t alignmentFill_at_2 [ 2 ] ;
} ;
static_assert ( sizeof ( MsIoBox_config_s ) = = 4 ) ;
2023-12-19 21:03:15 -08:00
// start of cranking_parameters_s
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 60 mg per liter per cylinder .
* ex : 2 liter 4 cyl = 500 cc / cyl , so 30 mg cranking fuel .
2024-01-03 12:32:11 -08:00
* units : mg
2023-12-19 21:03:15 -08:00
* 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 - 450 rpm .
* set cranking_rpm X
2024-01-03 12:32:11 -08:00
* units : RPM
2023-12-19 21:03:15 -08:00
* offset 4
*/
int16_t rpm ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 6
*/
uint8_t alignmentFill_at_6 [ 2 ] ;
} ;
static_assert ( sizeof ( cranking_parameters_s ) = = 8 ) ;
// start of gppwm_channel
struct gppwm_channel {
/**
* Select a pin to use for PWM or on - off output .
* offset 0
*/
output_pin_e pin ;
/**
* 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 .
2024-01-03 12:32:11 -08:00
* units : %
2023-12-19 21:03:15 -08:00
* offset 2
*/
uint8_t dutyIfError ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 3
*/
uint8_t alignmentFill_at_3 [ 1 ] ;
/**
* Select a frequency to run PWM at .
* Set this to 0 hz to enable on - off mode .
2024-01-03 12:32:11 -08:00
* units : hz
2023-12-19 21:03:15 -08:00
* offset 4
*/
uint16_t pwmFrequency ;
/**
* Hysteresis : in on - off mode , turn the output on when the table value is above this duty .
2024-01-03 12:32:11 -08:00
* units : %
2023-12-19 21:03:15 -08:00
* offset 6
*/
uint8_t onAboveDuty ;
/**
* Hysteresis : in on - off mode , turn the output off when the table value is below this duty .
2024-01-03 12:32:11 -08:00
* units : %
2023-12-19 21:03:15 -08:00
* offset 7
*/
uint8_t offBelowDuty ;
/**
* Selects the Y axis to use for the table .
* offset 8
*/
gppwm_channel_e loadAxis ;
/**
* Selects the X axis to use for the table .
* offset 9
*/
gppwm_channel_e rpmAxis ;
/**
* offset 10
*/
scaled_channel < int16_t , 2 , 1 > loadBins [ GPPWM_LOAD_COUNT ] ;
/**
* offset 26
*/
int16_t rpmBins [ GPPWM_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : duty
2023-12-19 21:03:15 -08:00
* offset 42
*/
scaled_channel < uint8_t , 2 , 1 > table [ GPPWM_LOAD_COUNT ] [ GPPWM_RPM_COUNT ] ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 106
*/
uint8_t alignmentFill_at_106 [ 2 ] ;
} ;
static_assert ( sizeof ( gppwm_channel ) = = 108 ) ;
// start of air_pressure_sensor_config_s
struct air_pressure_sensor_config_s {
/**
* kPa value at low volts
2024-01-03 12:32:11 -08:00
* units : kpa
2023-12-19 21:03:15 -08:00
* offset 0
*/
float lowValue ;
/**
* kPa value at high volts
2024-01-03 12:32:11 -08:00
* units : kpa
2023-12-19 21:03:15 -08:00
* offset 4
*/
float highValue ;
/**
* offset 8
*/
air_pressure_sensor_type_e type ;
/**
* offset 9
*/
adc_channel_e hwChannel ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 10
*/
uint8_t alignmentFill_at_10 [ 2 ] ;
} ;
static_assert ( sizeof ( air_pressure_sensor_config_s ) = = 12 ) ;
// start of MAP_sensor_config_s
struct MAP_sensor_config_s {
/**
* offset 0
*/
float samplingAngleBins [ MAP_ANGLE_SIZE ] ;
/**
* MAP averaging sampling start crank degree angle
2024-01-03 12:32:11 -08:00
* units : deg
2023-12-19 21:03:15 -08:00
* offset 32
*/
float samplingAngle [ MAP_ANGLE_SIZE ] ;
/**
* offset 64
*/
float samplingWindowBins [ MAP_WINDOW_SIZE ] ;
/**
* MAP averaging angle crank degree duration
2024-01-03 12:32:11 -08:00
* units : deg
2023-12-19 21:03:15 -08:00
* offset 96
*/
float samplingWindow [ MAP_WINDOW_SIZE ] ;
/**
* offset 128
*/
air_pressure_sensor_config_s sensor ;
} ;
static_assert ( sizeof ( MAP_sensor_config_s ) = = 140 ) ;
/**
* @ brief Thermistor known values
*/
// start of thermistor_conf_s
struct thermistor_conf_s {
/**
* these values are in Celcius
2024-01-03 12:32:11 -08:00
* units : * C
2023-12-19 21:03:15 -08:00
* offset 0
*/
float tempC_1 ;
/**
2024-01-03 12:32:11 -08:00
* units : * C
2023-12-19 21:03:15 -08:00
* offset 4
*/
float tempC_2 ;
/**
2024-01-03 12:32:11 -08:00
* units : * C
2023-12-19 21:03:15 -08:00
* offset 8
*/
float tempC_3 ;
/**
2024-01-03 12:32:11 -08:00
* units : Ohm
2023-12-19 21:03:15 -08:00
* offset 12
*/
float resistance_1 ;
/**
2024-01-03 12:32:11 -08:00
* units : Ohm
2023-12-19 21:03:15 -08:00
* offset 16
*/
float resistance_2 ;
/**
2024-01-03 12:32:11 -08:00
* units : Ohm
2023-12-19 21:03:15 -08:00
* offset 20
*/
float resistance_3 ;
/**
* Pull - up resistor value on your board
2024-01-03 12:32:11 -08:00
* units : Ohm
2023-12-19 21:03:15 -08:00
* offset 24
*/
float bias_resistor ;
} ;
static_assert ( sizeof ( thermistor_conf_s ) = = 28 ) ;
// start of linear_sensor_s
struct linear_sensor_s {
/**
* offset 0
*/
adc_channel_e hwChannel ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 1
*/
uint8_t alignmentFill_at_1 [ 3 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : volts
2023-12-19 21:03:15 -08:00
* offset 4
*/
float v1 ;
/**
* offset 8
*/
float value1 ;
/**
2024-01-03 12:32:11 -08:00
* units : volts
2023-12-19 21:03:15 -08:00
* offset 12
*/
float v2 ;
/**
* offset 16
*/
float value2 ;
} ;
static_assert ( sizeof ( linear_sensor_s ) = = 20 ) ;
// start of ThermistorConf
struct ThermistorConf {
/**
* offset 0
*/
thermistor_conf_s config ;
/**
* offset 28
*/
adc_channel_e adcChannel ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 29
*/
uint8_t alignmentFill_at_29 [ 3 ] ;
} ;
static_assert ( sizeof ( ThermistorConf ) = = 32 ) ;
// start of injector_s
struct injector_s {
/**
* This is your injector flow at the fuel pressure used in the vehicle . cc / min , cubic centimetre per minute
* By the way , g / s = 0.125997881 * ( lb / hr )
* g / s = 0.125997881 * ( cc / min ) / 10.5
* g / s = 0.0119997981 * cc / min
2024-01-03 12:32:11 -08:00
* units : cm3 / min
2023-12-19 21:03:15 -08:00
* offset 0
*/
float flow ;
/**
2024-01-03 12:32:11 -08:00
* units : volts
2023-12-19 21:03:15 -08:00
* offset 4
*/
float battLagCorrBins [ VBAT_INJECTOR_CURVE_SIZE ] ;
/**
* ms delay between injector open and close dead times
2024-01-03 12:32:11 -08:00
* units : ms
2023-12-19 21:03:15 -08:00
* offset 36
*/
float battLagCorr [ VBAT_INJECTOR_CURVE_SIZE ] ;
} ;
static_assert ( sizeof ( injector_s ) = = 68 ) ;
// start of trigger_config_s
struct trigger_config_s {
/**
* https : //github.com/rusefi/rusefi/wiki/All-Supported-Triggers
* offset 0
*/
trigger_type_e type ;
/**
2024-01-03 12:32:11 -08:00
* units : number
2023-12-19 21:03:15 -08:00
* offset 4
*/
int customTotalToothCount ;
/**
2024-01-03 12:32:11 -08:00
* units : number
2023-12-19 21:03:15 -08:00
* offset 8
*/
int customSkippedToothCount ;
} ;
static_assert ( sizeof ( trigger_config_s ) = = 12 ) ;
// start of afr_sensor_s
struct afr_sensor_s {
/**
* offset 0
*/
adc_channel_e hwChannel ;
/**
* offset 1
*/
adc_channel_e hwChannel2 ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 2
*/
uint8_t alignmentFill_at_2 [ 2 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : volts
2023-12-19 21:03:15 -08:00
* offset 4
*/
float v1 ;
/**
2024-01-03 12:32:11 -08:00
* units : AFR
2023-12-19 21:03:15 -08:00
* offset 8
*/
float value1 ;
/**
2024-01-03 12:32:11 -08:00
* units : volts
2023-12-19 21:03:15 -08:00
* offset 12
*/
float v2 ;
/**
2024-01-03 12:32:11 -08:00
* units : AFR
2023-12-19 21:03:15 -08:00
* offset 16
*/
float value2 ;
} ;
static_assert ( sizeof ( afr_sensor_s ) = = 20 ) ;
// start of idle_hardware_s
struct idle_hardware_s {
/**
2024-01-03 12:32:11 -08:00
* units : Hz
2023-12-19 21:03:15 -08:00
* offset 0
*/
int solenoidFrequency ;
/**
* offset 4
*/
output_pin_e solenoidPin ;
/**
* offset 6
*/
Gpio stepperDirectionPin ;
/**
* offset 8
*/
Gpio stepperStepPin ;
/**
* offset 10
*/
pin_output_mode_e solenoidPinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 11
*/
uint8_t alignmentFill_at_11 [ 1 ] ;
} ;
static_assert ( sizeof ( idle_hardware_s ) = = 12 ) ;
// start of dc_io
struct dc_io {
/**
* offset 0
*/
Gpio directionPin1 ;
/**
* offset 2
*/
Gpio directionPin2 ;
/**
* Acts as EN pin in two - wire mode
* offset 4
*/
Gpio controlPin ;
/**
* offset 6
*/
Gpio disablePin ;
} ;
static_assert ( sizeof ( dc_io ) = = 8 ) ;
// start of vr_threshold_s
struct vr_threshold_s {
/**
2024-01-03 12:32:11 -08:00
* units : rpm
2023-12-19 21:03:15 -08:00
* offset 0
*/
scaled_channel < uint8_t , 1 , 50 > rpmBins [ 6 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : volts
2023-12-19 21:03:15 -08:00
* offset 6
*/
scaled_channel < uint8_t , 100 , 1 > values [ 6 ] ;
/**
* offset 12
*/
Gpio pin ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 14
*/
uint8_t alignmentFill_at_14 [ 2 ] ;
} ;
static_assert ( sizeof ( vr_threshold_s ) = = 16 ) ;
// start of engine_configuration_s
struct engine_configuration_s {
/**
* http : //rusefi.com/wiki/index.php?title=Manual:Engine_Type
* set engine_type X
* offset 0
*/
engine_type_e engineType ;
/**
* offset 2
*/
uint16_t startButtonSuppressOnStartUpMs ;
/**
* Disable sensor sniffer above this rpm
2024-01-03 12:32:11 -08:00
* units : RPM
2023-12-19 21:03:15 -08:00
* offset 4
*/
uint16_t sensorSnifferRpmThreshold ;
/**
* A secondary Rev limit engaged by the driver to help launch the vehicle faster
2024-01-03 12:32:11 -08:00
* units : rpm
2023-12-19 21:03:15 -08:00
* offset 6
*/
uint16_t launchRpm ;
/**
* set rpm_hard_limit X
2024-01-03 12:32:11 -08:00
* units : rpm
2023-12-19 21:03:15 -08:00
* offset 8
*/
uint16_t rpmHardLimit ;
/**
* Engine sniffer would be disabled above this rpm
* set engineSnifferRpmThreshold X
2024-01-03 12:32:11 -08:00
* units : RPM
2023-12-19 21:03:15 -08:00
* offset 10
*/
uint16_t engineSnifferRpmThreshold ;
/**
* Disable multispark above this engine speed .
2024-01-03 12:32:11 -08:00
* units : rpm
2023-12-19 21:03:15 -08:00
* offset 12
*/
scaled_channel < uint8_t , 1 , 50 > multisparkMaxRpm ;
/**
* Above this RPM , disable AC . Set to 0 to disable check .
2024-01-03 12:32:11 -08:00
* units : rpm
2023-12-19 21:03:15 -08:00
* offset 13
*/
scaled_channel < uint8_t , 1 , 50 > maxAcRpm ;
/**
* Above this TPS , disable AC . Set to 0 to disable check .
2024-01-03 12:32:11 -08:00
* units : %
2023-12-19 21:03:15 -08:00
* offset 14
*/
uint8_t maxAcTps ;
/**
* Above this CLT , disable AC to prevent overheating the engine . Set to 0 to disable check .
2024-01-03 12:32:11 -08:00
* units : deg C
2023-12-19 21:03:15 -08:00
* offset 15
*/
uint8_t maxAcClt ;
/**
2024-03-20 14:09:51 -07:00
* Just for reference really , not taken into account by any logic at this point
* units : CR
2023-12-19 21:03:15 -08:00
* offset 16
*/
2024-03-20 14:09:51 -07:00
float compressionRatio ;
/**
* Voltage when the wastegate is closed .
* You probably don ' t have one of these !
* units : mv
* offset 20
*/
uint16_t wastegatePositionMin ;
/**
* Voltage when the wastegate is fully open .
* You probably don ' t have one of these !
* 1 volt = 1000 units
* units : mv
* offset 22
*/
uint16_t wastegatePositionMax ;
/**
* Voltage when the idle valve is closed .
* You probably don ' t have one of these !
* units : mv
* offset 24
*/
uint16_t idlePositionMin ;
/**
* Voltage when the idle valve is open .
* You probably don ' t have one of these !
* 1 volt = 1000 units
* units : mv
* offset 26
*/
uint16_t idlePositionMax ;
/**
* offset 28
*/
output_pin_e mainRelayPin ;
/**
* offset 30
*/
Gpio sdCardCsPin ;
/**
* offset 32
*/
Gpio canTxPin ;
/**
* offset 34
*/
Gpio canRxPin ;
/**
* By the way ETB PID runs at 500 hz , length in 1 / 500 of second here .
* offset 36
*/
uint16_t etbExpAverageLength ;
/**
* units : %
* offset 38
*/
int8_t launchFuelAdderPercent ;
/**
* Time required to detect a stuck throttle .
* units : sec
* offset 39
*/
scaled_channel < uint8_t , 50 , 1 > etbJamTimeout ;
/**
* offset 40
*/
output_pin_e tachOutputPin ;
/**
* offset 42
*/
pin_output_mode_e tachOutputPinMode ;
/**
* Additional idle % while A / C is active
* units : %
* offset 43
*/
uint8_t acIdleExtraOffset ;
/**
* Value between 0 and 100 used in Manual mode
* units : %
* offset 44
*/
float manIdlePosition ;
2023-12-19 21:03:15 -08:00
/**
* 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 .
2024-01-03 12:32:11 -08:00
* units : deg
2023-12-19 21:03:15 -08:00
* offset 48
*/
uint8_t multisparkMaxSparkingAngle ;
/**
* Configures the maximum number of extra sparks to fire ( does not include main spark )
2024-01-03 12:32:11 -08:00
* units : count
2023-12-19 21:03:15 -08:00
* offset 49
*/
uint8_t multisparkMaxExtraSparkCount ;
/**
2024-03-20 14:09:51 -07:00
* units : RPM
2023-12-19 21:03:15 -08:00
* offset 50
*/
2024-03-20 14:09:51 -07:00
int16_t vvtControlMinRpm ;
2023-12-19 21:03:15 -08:00
/**
* offset 52
*/
injector_s injector ;
2024-01-17 06:06:58 -08:00
/**
* offset 120
*/
injector_s injectorSecondary ;
2023-12-19 21:03:15 -08:00
/**
* Does the vehicle have a turbo or supercharger ?
2024-01-17 06:06:58 -08:00
offset 188 bit 0 */
2023-12-19 21:03:15 -08:00
bool isForcedInduction : 1 { } ;
/**
* On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range , i . e . in the specific range of the positions we effectively have only one sensor .
2024-01-17 06:06:58 -08:00
offset 188 bit 1 */
2023-12-19 21:03:15 -08:00
bool useFordRedundantTps : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 2 */
2023-12-19 21:03:15 -08:00
bool enableKline : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 3 */
2023-12-19 21:03:15 -08:00
bool overrideTriggerGaps : 1 { } ;
/**
* Turn on this fan when AC is on .
2024-01-17 06:06:58 -08:00
offset 188 bit 4 */
2023-12-19 21:03:15 -08:00
bool enableFan1WithAc : 1 { } ;
/**
* Turn on this fan when AC is on .
2024-01-17 06:06:58 -08:00
offset 188 bit 5 */
2023-12-19 21:03:15 -08:00
bool enableFan2WithAc : 1 { } ;
/**
* Inhibit operation of this fan while the engine is not running .
2024-01-17 06:06:58 -08:00
offset 188 bit 6 */
2023-12-19 21:03:15 -08:00
bool disableFan1WhenStopped : 1 { } ;
/**
* Inhibit operation of this fan while the engine is not running .
2024-01-17 06:06:58 -08:00
offset 188 bit 7 */
2023-12-19 21:03:15 -08:00
bool disableFan2WhenStopped : 1 { } ;
/**
* Enable secondary spark outputs that fire after the primary ( rotaries , twin plug engines ) .
2024-01-17 06:06:58 -08:00
offset 188 bit 8 */
2023-12-19 21:03:15 -08:00
bool enableTrailingSparks : 1 { } ;
/**
* TLE7209 uses two - wire mode . TLE9201 and VNH2SP30 do NOT use two wire mode .
2024-01-17 06:06:58 -08:00
offset 188 bit 9 */
2023-12-19 21:03:15 -08:00
bool etb_use_two_wires : 1 { } ;
/**
* Subaru / BMW style where default valve position is somewhere in the middle . First solenoid opens it more while second can close it more than default position .
2024-01-17 06:06:58 -08:00
offset 188 bit 10 */
2023-12-19 21:03:15 -08:00
bool isDoubleSolenoidIdle : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 11 */
2023-12-19 21:03:15 -08:00
bool useEeprom : 1 { } ;
/**
* Switch between Industrial and Cic PID implementation
2024-01-17 06:06:58 -08:00
offset 188 bit 12 */
2023-12-19 21:03:15 -08:00
bool useCicPidForIdle : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 13 */
2023-12-19 21:03:15 -08:00
bool useTLE8888_cranking_hack : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 14 */
2023-12-19 21:03:15 -08:00
bool kickStartCranking : 1 { } ;
/**
* This uses separate ignition timing and VE tables not only for idle conditions , also during the postcranking - to - idle taper transition ( See also afterCrankingIACtaperDuration ) .
2024-01-17 06:06:58 -08:00
offset 188 bit 15 */
2023-12-19 21:03:15 -08:00
bool useSeparateIdleTablesForCrankingTaper : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 16 */
2023-12-19 21:03:15 -08:00
bool launchControlEnabled : 1 { } ;
/**
* " Detect double trigger edges "
2024-01-17 06:06:58 -08:00
offset 188 bit 17 */
2023-12-19 21:03:15 -08:00
bool doNotFilterTriggerEdgeNoise : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 18 */
2023-12-19 21:03:15 -08:00
bool antiLagEnabled : 1 { } ;
/**
* For cranking either use the specified fixed base fuel mass , or use the normal running math ( VE table ) .
2024-01-17 06:06:58 -08:00
offset 188 bit 19 */
2023-12-19 21:03:15 -08:00
bool useRunningMathForCranking : 1 { } ;
/**
* Shall we display real life signal or just the part consumed by trigger decoder .
* Applies to both trigger and cam / vvt input .
*
* enable logic_level_trigger
2024-01-17 06:06:58 -08:00
offset 188 bit 20 */
2023-12-19 21:03:15 -08:00
bool displayLogicLevelsInEngineSniffer : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 21 */
2023-12-19 21:03:15 -08:00
bool useTLE8888_stepper : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 22 */
2023-12-19 21:03:15 -08:00
bool usescriptTableForCanSniffingFiltering : 1 { } ;
/**
* Print incoming and outgoing first bus CAN messages in rusEFI console
2024-01-17 06:06:58 -08:00
offset 188 bit 23 */
2023-12-19 21:03:15 -08:00
bool verboseCan : 1 { } ;
/**
* Experimental setting that will cause a misfire
* DO NOT ENABLE .
2024-01-17 06:06:58 -08:00
offset 188 bit 24 */
2023-12-19 21:03:15 -08:00
bool artificialTestMisfire : 1 { } ;
/**
* On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range , i . e . in the specific range of the positions we effectively have only one sensor .
2024-01-17 06:06:58 -08:00
offset 188 bit 25 */
2023-12-19 21:03:15 -08:00
bool useFordRedundantPps : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 26 */
2023-12-19 21:03:15 -08:00
bool cltSensorPulldown : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 27 */
2023-12-19 21:03:15 -08:00
bool iatSensorPulldown : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 28 */
2023-12-19 21:03:15 -08:00
bool allowIdenticalPps : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 29 */
2023-12-19 21:03:15 -08:00
bool overrideVvtTriggerGaps : 1 { } ;
/**
2024-02-18 04:30:00 -08:00
* If enabled - use onboard SPI Accelerometer , otherwise listen for CAN messages
2024-01-17 06:06:58 -08:00
offset 188 bit 30 */
2023-12-19 21:03:15 -08:00
bool useSpiImu : 1 { } ;
/**
2024-01-17 06:06:58 -08:00
offset 188 bit 31 */
2024-01-07 15:18:17 -08:00
bool enableStagedInjection : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
* Closed throttle , 1 volt = 200 units .
* See also tps1_1AdcChannel
* set tps_min X
2024-01-03 12:32:11 -08:00
* units : ADC
2024-01-17 06:06:58 -08:00
* offset 192
2023-12-19 21:03:15 -08:00
*/
int16_t tpsMin ;
/**
* Full throttle .
* See also tps1_1AdcChannel
* set tps_max X
2024-01-03 12:32:11 -08:00
* units : ADC
2024-01-17 06:06:58 -08:00
* offset 194
2023-12-19 21:03:15 -08:00
*/
int16_t tpsMax ;
/**
* TPS error detection : what throttle % is unrealistically low ?
2024-02-21 10:42:26 -08:00
* Also used for accelerator pedal error detection if so equipped .
2024-01-03 12:32:11 -08:00
* units : %
2024-01-17 06:06:58 -08:00
* offset 196
2023-12-19 21:03:15 -08:00
*/
int16_t tpsErrorDetectionTooLow ;
/**
* TPS error detection : what throttle % is unrealistically high ?
2024-02-21 10:42:26 -08:00
* Also used for accelerator pedal error detection if so equipped .
2024-01-03 12:32:11 -08:00
* units : %
2024-01-17 06:06:58 -08:00
* offset 198
2023-12-19 21:03:15 -08:00
*/
int16_t tpsErrorDetectionTooHigh ;
/**
2024-01-17 06:06:58 -08:00
* offset 200
2023-12-19 21:03:15 -08:00
*/
cranking_parameters_s cranking ;
/**
* Dwell duration while cranking
2024-01-03 12:32:11 -08:00
* units : ms
2024-01-17 06:06:58 -08:00
* offset 208
2023-12-19 21:03:15 -08:00
*/
float ignitionDwellForCrankingMs ;
/**
* Once engine speed passes this value , start reducing ETB angle .
2024-01-03 12:32:11 -08:00
* units : rpm
2024-01-17 06:06:58 -08:00
* offset 212
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : rpm
2024-01-17 06:06:58 -08:00
* offset 214
2023-12-19 21:03:15 -08:00
*/
uint16_t etbRevLimitRange ;
/**
* @ see isMapAveragingEnabled
2024-01-17 06:06:58 -08:00
* offset 216
2023-12-19 21:03:15 -08:00
*/
MAP_sensor_config_s map ;
/**
* todo : merge with channel settings , use full - scale Thermistor here !
2024-01-17 06:06:58 -08:00
* offset 356
2023-12-19 21:03:15 -08:00
*/
ThermistorConf clt ;
/**
2024-01-17 06:06:58 -08:00
* offset 388
2023-12-19 21:03:15 -08:00
*/
ThermistorConf iat ;
/**
2024-01-03 12:32:11 -08:00
* units : deg
2024-01-17 06:06:58 -08:00
* offset 420
2023-12-19 21:03:15 -08:00
*/
2024-03-09 05:42:30 -08:00
float launchTimingRetard ;
2023-12-19 21:03:15 -08:00
/**
* value ' 6 ' for 8 MHz hw osc
* read hip9011 datasheet for details
* todo split into two bit fields
2024-01-03 12:32:11 -08:00
* units : integer
2024-01-17 06:06:58 -08:00
* offset 424
2023-12-19 21:03:15 -08:00
*/
int hip9011PrescalerAndSDO ;
/**
2024-05-06 13:28:37 -07:00
* Use any online calculator and input your bore .
* Reminder that in some cases double frequency works better !
2024-01-03 12:32:11 -08:00
* units : kHz
2024-01-17 06:06:58 -08:00
* offset 428
2023-12-19 21:03:15 -08:00
*/
float knockBandCustom ;
/**
* Engine displacement in litres
2024-01-03 12:32:11 -08:00
* units : L
2024-01-17 06:06:58 -08:00
* offset 432
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 1000 , 1 > displacement ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-01-17 06:06:58 -08:00
* offset 434
2023-12-19 21:03:15 -08:00
*/
uint16_t triggerSimulatorRpm ;
/**
* Number of cylinder the engine has .
2024-01-17 06:06:58 -08:00
* offset 436
2023-12-19 21:03:15 -08:00
*/
uint32_t cylindersCount ;
/**
2024-01-17 06:06:58 -08:00
* offset 440
2023-12-19 21:03:15 -08:00
*/
firing_order_e firingOrder ;
/**
2024-01-17 06:06:58 -08:00
* offset 441
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
uint8_t justATempTest ;
2024-03-05 14:22:55 -08:00
/**
* offset 442
*/
Gpio communityCommsLedPid ;
2023-12-19 21:03:15 -08:00
/**
* Cylinder diameter in mm .
2024-01-03 12:32:11 -08:00
* units : mm
2024-01-17 06:06:58 -08:00
* offset 444
2023-12-19 21:03:15 -08:00
*/
float cylinderBore ;
/**
* This setting controls which fuel quantity control algorithm is used .
* Alpha - N means drive by TPS commonly only used for NA engines
* Speed Density requires MAP sensor and is the default choice for may installs
* MAF air charge is a cylinder filling based method that uses a mass air flow sensor .
2024-01-17 06:06:58 -08:00
* offset 448
2023-12-19 21:03:15 -08:00
*/
engine_load_mode_e fuelAlgorithm ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-01-17 06:06:58 -08:00
* offset 449
2023-12-19 21:03:15 -08:00
*/
uint8_t ALSMaxTPS ;
/**
* This is the injection strategy during engine start . See Fuel / Injection settings for more detail . It is suggested to use " Simultaneous " .
2024-01-17 06:06:58 -08:00
* offset 450
2023-12-19 21:03:15 -08:00
*/
injection_mode_e crankingInjectionMode ;
/**
* This is where the fuel injection type is defined : " Simultaneous " means all injectors will fire together at once . " Sequential " fires the injectors on a per cylinder basis , which requires individually wired injectors . " Batched " will fire the injectors in groups .
2024-01-17 06:06:58 -08:00
* offset 451
2023-12-19 21:03:15 -08:00
*/
injection_mode_e injectionMode ;
/**
* Minimum RPM to enable boost control . Use this to avoid solenoid noise at idle , and help spool in some cases .
2024-01-17 06:06:58 -08:00
* offset 452
2023-12-19 21:03:15 -08:00
*/
uint16_t boostControlMinRpm ;
/**
* Minimum TPS to enable boost control . Use this to avoid solenoid noise at idle , and help spool in some cases .
2024-01-17 06:06:58 -08:00
* offset 454
2023-12-19 21:03:15 -08:00
*/
uint8_t boostControlMinTps ;
/**
* Minimum MAP to enable boost control . Use this to avoid solenoid noise at idle , and help spool in some cases .
2024-01-17 06:06:58 -08:00
* offset 455
2023-12-19 21:03:15 -08:00
*/
uint8_t boostControlMinMap ;
/**
* 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
2024-01-03 12:32:11 -08:00
* units : deg
2024-01-17 06:06:58 -08:00
* offset 456
2023-12-19 21:03:15 -08:00
*/
angle_t crankingTimingAngle ;
/**
* Single coil = distributor
* Individual coils = one coil per cylinder ( COP , coil - near - plug ) , requires sequential mode
* Wasted spark = Fires pairs of cylinders together , either one coil per pair of cylinders or one coil per cylinder
* Two distributors = A pair of distributors , found on some BMW , Toyota and other engines
* set ignition_mode X
2024-01-17 06:06:58 -08:00
* offset 460
2023-12-19 21:03:15 -08:00
*/
ignition_mode_e ignitionMode ;
/**
* How many consecutive gap rations have to match expected ranges for sync to happen
2024-01-03 12:32:11 -08:00
* units : count
2024-01-17 06:06:58 -08:00
* offset 461
2023-12-19 21:03:15 -08:00
*/
int8_t gapTrackingLengthOverride ;
/**
* Above this speed , disable closed loop idle control . Set to 0 to disable ( allow closed loop idle at any speed ) .
2024-01-03 12:32:11 -08:00
* units : kph
2024-01-17 06:06:58 -08:00
* offset 462
2023-12-19 21:03:15 -08:00
*/
uint8_t maxIdleVss ;
/**
2024-01-17 06:06:58 -08:00
* offset 463
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
uint8_t camDecoder2jzPrecision ;
2023-12-19 21:03:15 -08:00
/**
* 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 .
2024-01-03 12:32:11 -08:00
* units : kPa
2024-01-17 06:06:58 -08:00
* offset 464
2023-12-19 21:03:15 -08:00
*/
uint16_t minOilPressureAfterStart ;
/**
2024-04-02 16:20:54 -07:00
* Dynamic uses the timing map to decide the ignition timing
* Static timing fixes the timing to the value set below ( only use for checking static timing with a timing light ) .
2024-01-17 06:06:58 -08:00
* offset 466
2023-12-19 21:03:15 -08:00
*/
timing_mode_e timingMode ;
/**
2024-03-20 14:09:51 -07:00
* set can_mode X
2024-01-17 06:06:58 -08:00
* offset 467
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
can_nbc_e canNbcType ;
2023-12-19 21:03:15 -08:00
/**
* This value is the ignition timing used when in ' fixed timing ' mode , i . e . constant timing
* This mode is useful when adjusting distributor location .
2024-01-03 12:32:11 -08:00
* units : RPM
2024-01-17 06:06:58 -08:00
* offset 468
2023-12-19 21:03:15 -08:00
*/
angle_t fixedModeTiming ;
/**
* Angle between Top Dead Center ( TDC ) and the first trigger event .
2024-02-21 10:42:26 -08:00
* Positive value in case of synchronization point before TDC and negative in case of synchronization point after TDC
2023-12-19 21:03:15 -08:00
* . Knowing this angle allows us to control timing and other angles in reference to TDC .
2024-04-02 16:20:54 -07:00
* HOWTO :
* 1 : Switch to fixed timing mode on ' ignition setting ' dialog
2024-04-02 16:33:12 -07:00
* 2 : use an actual timing light to calibrate
* 3 : add / subtract until timing light confirms desired fixed timing value ! '
2024-01-03 12:32:11 -08:00
* units : deg btdc
2024-01-17 06:06:58 -08:00
* offset 472
2023-12-19 21:03:15 -08:00
*/
angle_t globalTriggerAngleOffset ;
/**
* Ratio / coefficient of input voltage dividers on your PCB . For example , use ' 2 ' if your board divides 5 v into 2.5 v . Use ' 1.66 ' if your board divides 5 v into 3 v .
2024-01-03 12:32:11 -08:00
* units : coef
2024-01-17 06:06:58 -08:00
* offset 476
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : coef
2024-01-17 06:06:58 -08:00
* offset 480
2023-12-19 21:03:15 -08:00
*/
float vbattDividerCoeff ;
/**
* Cooling fan turn - on temperature threshold , in Celsius
2024-01-03 12:32:11 -08:00
* units : deg C
2024-01-17 06:06:58 -08:00
* offset 484
2023-12-19 21:03:15 -08:00
*/
float fanOnTemperature ;
/**
* Cooling fan turn - off temperature threshold , in Celsius
2024-01-03 12:32:11 -08:00
* units : deg C
2024-01-17 06:06:58 -08:00
* offset 488
2023-12-19 21:03:15 -08:00
*/
float fanOffTemperature ;
/**
2024-01-17 06:06:58 -08:00
* offset 492
2023-12-19 21:03:15 -08:00
*/
output_pin_e acrPin ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-01-17 06:06:58 -08:00
* offset 494
2023-12-19 21:03:15 -08:00
*/
2024-01-17 06:06:58 -08:00
uint8_t alignmentFill_at_494 [ 2 ] ;
2023-12-19 21:03:15 -08:00
/**
* 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 .
2024-01-03 12:32:11 -08:00
* units : revs / km
2024-01-17 06:06:58 -08:00
* offset 496
2023-12-19 21:03:15 -08:00
*/
float driveWheelRevPerKm ;
/**
* CANbus thread period in ms
2024-01-03 12:32:11 -08:00
* units : ms
2024-03-20 14:09:51 -07:00
* offset 500
2023-12-19 21:03:15 -08:00
*/
int canSleepPeriodMs ;
/**
2024-01-03 12:32:11 -08:00
* units : index
2024-03-20 14:09:51 -07:00
* offset 504
2023-12-19 21:03:15 -08:00
*/
int byFirmwareVersion ;
/**
* First throttle body , first sensor . See also pedalPositionAdcChannel
2024-03-20 14:09:51 -07:00
* offset 508
2023-12-19 21:03:15 -08:00
*/
adc_channel_e tps1_1AdcChannel ;
/**
* This is the processor input pin that the battery voltage circuit is connected to , if you are unsure of what pin to use , check the schematic that corresponds to your PCB .
2024-03-20 14:09:51 -07:00
* offset 509
2023-12-19 21:03:15 -08:00
*/
adc_channel_e vbattAdcChannel ;
/**
* This is the processor pin that your fuel level sensor in connected to . This is a non standard input so will need to be user defined .
2024-03-20 14:09:51 -07:00
* offset 510
2023-12-19 21:03:15 -08:00
*/
adc_channel_e fuelLevelSensor ;
/**
* Second throttle body position sensor , single channel so far
2024-03-20 14:09:51 -07:00
* offset 511
2023-12-19 21:03:15 -08:00
*/
adc_channel_e tps2_1AdcChannel ;
/**
* 0.1 is a good default value
2024-01-03 12:32:11 -08:00
* units : x
2024-03-20 14:09:51 -07:00
* offset 512
2023-12-19 21:03:15 -08:00
*/
float idle_derivativeFilterLoss ;
/**
* just a temporary solution
2024-01-03 12:32:11 -08:00
* units : angle
2024-03-20 14:09:51 -07:00
* offset 516
2023-12-19 21:03:15 -08:00
*/
int trailingSparkAngle ;
/**
2024-03-20 14:09:51 -07:00
* offset 520
2023-12-19 21:03:15 -08:00
*/
trigger_config_s trigger ;
/**
* Extra air taper amount
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:09:51 -07:00
* offset 532
2023-12-19 21:03:15 -08:00
*/
float airByRpmTaper ;
/**
2024-03-20 14:09:51 -07:00
* offset 536
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:09:51 -07:00
* offset 537
2023-12-19 21:03:15 -08:00
*/
uint8_t boostControlSafeDutyCycle ;
/**
2024-03-20 14:09:51 -07:00
* offset 538
2023-12-19 21:03:15 -08:00
*/
adc_channel_e mafAdcChannel ;
/**
2024-03-20 14:09:51 -07:00
* offset 539
2023-12-19 21:03:15 -08:00
*/
uint8_t acrRevolutions ;
/**
2024-03-20 14:09:51 -07:00
* offset 540
2023-12-19 21:03:15 -08:00
*/
2024-03-06 19:17:50 -08:00
int calibrationBirthday ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : volts
2024-03-20 14:09:51 -07:00
* offset 544
2023-12-19 21:03:15 -08:00
*/
float adcVcc ;
/**
2024-01-03 12:32:11 -08:00
* units : Deg
2024-03-20 14:09:51 -07:00
* offset 548
2023-12-19 21:03:15 -08:00
*/
float mapCamDetectionAnglePosition ;
/**
* Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as ' primary ' channel , or it could be used for Variable Valve timing on one of the camshafts .
2024-03-20 14:09:51 -07:00
* offset 552
2023-12-19 21:03:15 -08:00
*/
brain_input_pin_e camInputs [ CAM_INPUTS_COUNT ] ;
/**
2024-03-20 14:09:51 -07:00
* offset 560
2023-12-19 21:03:15 -08:00
*/
afr_sensor_s afr ;
/**
* Electronic throttle pedal position first channel
* See throttlePedalPositionSecondAdcChannel for second channel
* See also tps1_1AdcChannel
* See throttlePedalUpVoltage and throttlePedalWOTVoltage
2024-03-20 14:09:51 -07:00
* offset 580
2023-12-19 21:03:15 -08:00
*/
adc_channel_e throttlePedalPositionAdcChannel ;
/**
* TPS / PPS error threshold
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:09:51 -07:00
* offset 581
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > etbSplit ;
/**
2024-03-20 14:09:51 -07:00
* offset 582
2023-12-19 21:03:15 -08:00
*/
Gpio tle6240_cs ;
/**
2024-03-20 14:09:51 -07:00
* offset 584
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e tle6240_csPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 585
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e mc33810_csPinMode ;
/**
* Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata
2024-03-20 14:09:51 -07:00
* offset 586
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e throttlePedalUpPin ;
/**
* @ see hasBaroSensor
2024-03-20 14:09:51 -07:00
* offset 588
2023-12-19 21:03:15 -08:00
*/
air_pressure_sensor_config_s baroSensor ;
/**
2024-03-20 14:09:51 -07:00
* offset 600
2023-12-19 21:03:15 -08:00
*/
idle_hardware_s idle ;
/**
2024-06-03 12:01:31 -07:00
* Ignition timing to remove when a knock event occurs . Advice : 5 % ( mild ) , 10 % ( turbo / high comp . ) , 15 % ( high knock , e . g . GDI ) , 20 % ( spicy lump ) ,
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:09:51 -07:00
* offset 612
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > knockRetardAggression ;
/**
* After a knock event , reapply timing at this rate .
2024-01-03 12:32:11 -08:00
* units : deg / s
2024-03-20 14:09:51 -07:00
* offset 613
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > knockRetardReapplyRate ;
/**
* Select which cam is used for engine sync . Other cams will be used only for VVT measurement , but not engine sync .
2024-03-20 14:09:51 -07:00
* offset 614
2023-12-19 21:03:15 -08:00
*/
engineSyncCam_e engineSyncCam ;
/**
2024-03-20 14:09:51 -07:00
* offset 615
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
pin_output_mode_e sdCardCsPinMode ;
2023-12-19 21:03:15 -08:00
/**
* 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 .
2024-01-03 12:32:11 -08:00
* units : ratio
2024-03-20 14:09:51 -07:00
* offset 616
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 1000 , 1 > vssGearRatio ;
2024-03-20 14:09:51 -07:00
/**
* Set this so your vehicle speed signal is responsive , but not noisy . Larger value give smoother but slower response .
* offset 618
*/
uint8_t vssFilterReciprocal ;
2023-12-19 21:03:15 -08:00
/**
* 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 .
2024-01-03 12:32:11 -08:00
* units : count
2024-03-20 14:09:51 -07:00
* offset 619
2023-12-19 21:03:15 -08:00
*/
uint8_t vssToothCount ;
/**
* Override the Y axis ( load ) value used for only the Idle VE table .
* Advanced users only : If you aren ' t sure you need this , you probably don ' t need this .
2024-03-20 14:09:51 -07:00
* offset 620
2023-12-19 21:03:15 -08:00
*/
ve_override_e idleVeOverrideMode ;
/**
2024-03-20 14:09:51 -07:00
* need 4 byte alignment
* units : units
* offset 621
*/
uint8_t alignmentFill_at_621 [ 1 ] ;
/**
* offset 622
2023-12-19 21:03:15 -08:00
*/
Gpio l9779_cs ;
/**
2024-03-20 14:09:51 -07:00
* offset 624
2023-12-19 21:03:15 -08:00
*/
output_pin_e injectionPins [ MAX_CYLINDER_COUNT ] ;
/**
2024-03-20 14:09:51 -07:00
* offset 648
2023-12-19 21:03:15 -08:00
*/
output_pin_e ignitionPins [ MAX_CYLINDER_COUNT ] ;
/**
2024-03-20 14:09:51 -07:00
* offset 672
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e injectionPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 673
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e ignitionPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 674
2023-12-19 21:03:15 -08:00
*/
output_pin_e fuelPumpPin ;
/**
2024-03-20 14:09:51 -07:00
* offset 676
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e fuelPumpPinMode ;
/**
* How many consecutive VVT gap rations have to match expected ranges for sync to happen
2024-01-03 12:32:11 -08:00
* units : count
2024-03-20 14:09:51 -07:00
* offset 677
2023-12-19 21:03:15 -08:00
*/
int8_t gapVvtTrackingLengthOverride ;
/**
* Check engine light , also malfunction indicator light . Always blinks once on boot .
2024-03-20 14:09:51 -07:00
* offset 678
2023-12-19 21:03:15 -08:00
*/
output_pin_e malfunctionIndicatorPin ;
/**
2024-03-20 14:09:51 -07:00
* offset 680
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e malfunctionIndicatorPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 681
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e fanPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 682
2023-12-19 21:03:15 -08:00
*/
output_pin_e fanPin ;
/**
* Some cars have a switch to indicate that clutch pedal is all the way down
2024-03-20 14:09:51 -07:00
* offset 684
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e clutchDownPin ;
/**
2024-03-20 14:09:51 -07:00
* offset 686
2023-12-19 21:03:15 -08:00
*/
output_pin_e alternatorControlPin ;
/**
2024-03-20 14:09:51 -07:00
* offset 688
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e alternatorControlPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 689
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e clutchDownPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 690
2023-12-19 21:03:15 -08:00
*/
Gpio digitalPotentiometerChipSelect [ DIGIPOT_COUNT ] ;
/**
2024-03-20 14:09:51 -07:00
* offset 698
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e electronicThrottlePin1Mode ;
/**
2024-03-20 14:09:51 -07:00
* offset 699
2023-12-19 21:03:15 -08:00
*/
spi_device_e max31855spiDevice ;
/**
2024-03-20 14:09:51 -07:00
* offset 700
2023-12-19 21:03:15 -08:00
*/
Gpio debugTriggerSync ;
/**
* Digital Potentiometer is used by stock ECU stimulation code
2024-03-20 14:09:51 -07:00
* offset 702
2023-12-19 21:03:15 -08:00
*/
spi_device_e digitalPotentiometerSpiDevice ;
/**
2024-03-20 14:09:51 -07:00
* offset 703
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
pin_input_mode_e brakePedalPinMode ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
* offset 704
2023-12-19 21:03:15 -08:00
*/
Gpio mc33972_cs ;
/**
2024-03-20 14:09:51 -07:00
* offset 706
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e mc33972_csPinMode ;
/**
* Useful in Research & Development phase
2024-03-20 14:09:51 -07:00
* offset 707
2023-12-19 21:03:15 -08:00
*/
adc_channel_e auxFastSensor1_adcChannel ;
/**
* First throttle body , second sensor .
2024-03-20 14:09:51 -07:00
* offset 708
2023-12-19 21:03:15 -08:00
*/
adc_channel_e tps1_2AdcChannel ;
/**
* Second throttle body , second sensor .
2024-03-20 14:09:51 -07:00
* offset 709
2023-12-19 21:03:15 -08:00
*/
adc_channel_e tps2_2AdcChannel ;
/**
* Electronic throttle pedal position input
* Second channel
* See also tps1_1AdcChannel
* See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage
2024-03-20 14:09:51 -07:00
* offset 710
2023-12-19 21:03:15 -08:00
*/
adc_channel_e throttlePedalPositionSecondAdcChannel ;
/**
* AFR , WBO , EGO - whatever you like to call it
2024-03-20 14:09:51 -07:00
* offset 711
2023-12-19 21:03:15 -08:00
*/
ego_sensor_e afr_type ;
/**
2024-03-20 14:09:51 -07:00
* offset 712
2023-12-19 21:03:15 -08:00
*/
Gpio mc33810_cs [ C_MC33810_COUNT ] ;
2024-03-20 14:09:51 -07:00
/**
* need 4 byte alignment
* units : units
* offset 714
*/
uint8_t alignmentFill_at_714 [ 2 ] ;
2023-12-19 21:03:15 -08:00
/**
* 0.1 is a good default value
2024-01-03 12:32:11 -08:00
* units : x
2024-03-20 14:09:51 -07:00
* offset 716
2023-12-19 21:03:15 -08:00
*/
float idle_antiwindupFreq ;
/**
2024-03-20 14:09:51 -07:00
* offset 720
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : us
2024-03-20 14:09:51 -07:00
* offset 724
2023-12-19 21:03:15 -08:00
*/
uint16_t mc33_t_min_boost ;
/**
2024-03-20 14:09:51 -07:00
* offset 726
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e hip9011CsPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 727
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e throttlePedalUpPinMode ;
/**
* Ratio between the wheels and your transmission output .
2024-01-03 12:32:11 -08:00
* units : ratio
2024-03-20 14:09:51 -07:00
* offset 728
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 100 , 1 > finalGearRatio ;
/**
2024-03-20 14:09:51 -07:00
* offset 730
*/
2023-12-19 21:03:15 -08:00
brain_input_pin_e tcuInputSpeedSensorPin ;
/**
2024-03-20 20:05:53 -07:00
* offset 732
2023-12-19 21:03:15 -08:00
*/
uint8_t tcuInputSpeedSensorTeeth ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 20:05:53 -07:00
* offset 733
2023-12-19 21:03:15 -08:00
*/
2024-03-20 20:05:53 -07:00
uint8_t alignmentFill_at_733 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
* Each rusEFI piece can provide synthetic trigger signal for external ECU . Sometimes these wires are routed back into trigger inputs of the same rusEFI board .
* See also directSelfStimulation which is different .
2024-03-20 20:05:53 -07:00
* offset 734
2023-12-19 21:03:15 -08:00
*/
Gpio triggerSimulatorPins [ TRIGGER_SIMULATOR_PIN_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : g / s
2024-03-20 20:05:53 -07:00
* offset 738
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 1000 , 1 > fordInjectorSmallPulseSlope ;
/**
2024-03-20 20:05:53 -07:00
* offset 740
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e triggerSimulatorPinModes [ TRIGGER_SIMULATOR_PIN_COUNT ] ;
/**
2024-03-20 20:05:53 -07:00
* offset 742
2023-12-19 21:03:15 -08:00
*/
adc_channel_e maf2AdcChannel ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 20:05:53 -07:00
* offset 743
2023-12-19 21:03:15 -08:00
*/
2024-03-20 20:05:53 -07:00
uint8_t alignmentFill_at_743 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
* On - off O2 sensor heater control . ' ON ' if engine is running , ' OFF ' if stopped or cranking .
2024-03-20 20:05:53 -07:00
* offset 744
2023-12-19 21:03:15 -08:00
*/
output_pin_e o2heaterPin ;
/**
2024-03-20 20:05:53 -07:00
* offset 746
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e o2heaterPinModeTodO ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-03-20 20:05:53 -07:00
* offset 747
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 100 > lambdaProtectionMinRpm ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 20:05:53 -07:00
* offset 748
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 10 > lambdaProtectionMinLoad ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 20:05:53 -07:00
* offset 749
2023-12-19 21:03:15 -08:00
*/
2024-03-20 20:05:53 -07:00
uint8_t alignmentFill_at_749 [ 3 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 0 */
2023-12-19 21:03:15 -08:00
bool is_enabled_spi_1 : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 1 */
2023-12-19 21:03:15 -08:00
bool is_enabled_spi_2 : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 2 */
2023-12-19 21:03:15 -08:00
bool is_enabled_spi_3 : 1 { } ;
/**
* enable sd / disable sd
2024-03-20 14:09:51 -07:00
offset 752 bit 3 */
2023-12-19 21:03:15 -08:00
bool isSdCardEnabled : 1 { } ;
/**
* Use 11 bit ( standard ) or 29 bit ( extended ) IDs for rusEFI verbose CAN format .
2024-03-20 14:09:51 -07:00
offset 752 bit 4 */
2023-12-19 21:03:15 -08:00
bool rusefiVerbose29b : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 5 */
2023-12-19 21:03:15 -08:00
bool rethrowHardFault : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 6 */
2023-12-19 21:03:15 -08:00
bool isHip9011Enabled : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 7 */
2023-12-19 21:03:15 -08:00
bool requireFootOnBrakeToCrank : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 8 */
2023-12-19 21:03:15 -08:00
bool verboseQuad : 1 { } ;
/**
* This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed .
2024-03-20 14:09:51 -07:00
offset 752 bit 9 */
2023-12-19 21:03:15 -08:00
bool useStepperIdle : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 10 */
2023-12-19 21:03:15 -08:00
bool enabledStep1Limiter : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 11 */
2023-12-19 21:03:15 -08:00
bool useTpicAdvancedMode : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 12 */
2023-12-19 21:03:15 -08:00
bool lambdaProtectionEnable : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 13 */
2023-12-19 21:03:15 -08:00
bool verboseTLE8888 : 1 { } ;
/**
* CAN broadcast using custom rusEFI protocol
* enable can_broadcast / disable can_broadcast
2024-03-20 14:09:51 -07:00
offset 752 bit 14 */
2023-12-19 21:03:15 -08:00
bool enableVerboseCanTx : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 15 */
2023-12-19 21:03:15 -08:00
bool etb1configured : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 16 */
2023-12-19 21:03:15 -08:00
bool etb2configured : 1 { } ;
/**
* Useful for individual intakes
2024-03-20 14:09:51 -07:00
offset 752 bit 17 */
2023-12-19 21:03:15 -08:00
bool measureMapOnlyInOneCylinder : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 18 */
2023-12-19 21:03:15 -08:00
bool stepperForceParkingEveryRestart : 1 { } ;
/**
* If enabled , try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation . As soon as the trigger syncs plus 90 degrees rotation , fuel and ignition events will occur . If disabled , worst case may require up to 4 full crank rotations before any events are scheduled .
2024-03-20 14:09:51 -07:00
offset 752 bit 19 */
2023-12-19 21:03:15 -08:00
bool isFasterEngineSpinUpEnabled : 1 { } ;
/**
* This setting disables fuel injection while the engine is in overrun , this is useful as a fuel saving measure and to prevent back firing .
2024-03-20 14:09:51 -07:00
offset 752 bit 20 */
2023-12-19 21:03:15 -08:00
bool coastingFuelCutEnabled : 1 { } ;
/**
* Override the IAC position during overrun conditions to help reduce engine breaking , this can be helpful for large engines in light weight cars or engines that have trouble returning to idle .
2024-03-20 14:09:51 -07:00
offset 752 bit 21 */
2023-12-19 21:03:15 -08:00
bool useIacTableForCoasting : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 22 */
2023-12-19 21:03:15 -08:00
bool useNoiselessTriggerDecoder : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 23 */
2023-12-19 21:03:15 -08:00
bool useIdleTimingPidControl : 1 { } ;
/**
* Allows disabling the ETB when the engine is stopped . You may not like the power draw or PWM noise from the motor , so this lets you turn it off until it ' s necessary .
2024-03-20 14:09:51 -07:00
offset 752 bit 24 */
2023-12-19 21:03:15 -08:00
bool disableEtbWhenEngineStopped : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 25 */
2023-12-19 21:03:15 -08:00
bool is_enabled_spi_4 : 1 { } ;
/**
* Disable the electronic throttle motor and DC idle motor for testing .
* This mode is for testing ETB / DC idle position sensors , etc without actually driving the throttle .
2024-03-20 14:09:51 -07:00
offset 752 bit 26 */
2023-12-19 21:03:15 -08:00
bool pauseEtbControl : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 27 */
2024-06-09 16:35:23 -07:00
bool tpsTpsPercentMode : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 28 */
2023-12-19 21:03:15 -08:00
bool verboseKLine : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 29 */
2023-12-19 21:03:15 -08:00
bool idleIncrementalPidCic : 1 { } ;
/**
* AEM X - Series or rusEFI Wideband
2024-03-20 14:09:51 -07:00
offset 752 bit 30 */
2023-12-19 21:03:15 -08:00
bool enableAemXSeries : 1 { } ;
/**
2024-03-20 14:09:51 -07:00
offset 752 bit 31 */
2024-05-11 17:36:16 -07:00
bool unused32nd : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
* offset 756
2023-12-19 21:03:15 -08:00
*/
brain_input_pin_e logicAnalyzerPins [ LOGIC_ANALYZER_CHANNEL_COUNT ] ;
/**
2024-03-20 14:09:51 -07:00
* offset 764
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e mainRelayPinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:09:51 -07:00
* offset 765
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
uint8_t alignmentFill_at_765 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
* offset 766
2023-12-19 21:03:15 -08:00
*/
Gpio hip9011CsPin ;
/**
2024-03-20 14:09:51 -07:00
* offset 768
2023-12-19 21:03:15 -08:00
*/
Gpio hip9011IntHoldPin ;
/**
2024-03-20 14:09:51 -07:00
* offset 770
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e hip9011IntHoldPinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:09:51 -07:00
* offset 771
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
uint8_t alignmentFill_at_771 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
* offset 772
2023-12-19 21:03:15 -08:00
*/
uint32_t verboseCanBaseAddress ;
/**
* Boost Voltage
2024-01-03 12:32:11 -08:00
* units : v
2024-03-20 14:09:51 -07:00
* offset 776
2023-12-19 21:03:15 -08:00
*/
uint8_t mc33_hvolt ;
/**
* Minimum MAP before closed loop boost is enabled . Use to prevent misbehavior upon entering boost .
2024-01-03 12:32:11 -08:00
* units : kPa
2024-03-20 14:09:51 -07:00
* offset 777
2023-12-19 21:03:15 -08:00
*/
uint8_t minimumBoostClosedLoopMap ;
/**
2024-05-29 11:44:57 -07:00
* units : %
2024-03-20 14:09:51 -07:00
* offset 778
2023-12-19 21:03:15 -08:00
*/
2024-05-29 11:44:57 -07:00
int8_t initialIgnitionCutPercent ;
/**
* units : %
* offset 779
*/
int8_t finalIgnitionCutPercentBeforeLaunch ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
* offset 780
2023-12-19 21:03:15 -08:00
*/
2024-05-10 14:14:58 -07:00
gppwm_channel_e boostOpenLoopYAxis ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
* offset 781
2023-12-19 21:03:15 -08:00
*/
spi_device_e l9779spiDevice ;
/**
2024-03-20 14:09:51 -07:00
* offset 782
2023-12-19 21:03:15 -08:00
*/
imu_type_e imuType ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:09:51 -07:00
* offset 783
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
uint8_t alignmentFill_at_783 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : kg
2024-03-20 14:09:51 -07:00
* offset 784
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : RPM
2024-03-20 14:09:51 -07:00
* offset 786
2023-12-19 21:03:15 -08:00
*/
int16_t idlePidRpmUpperLimit ;
/**
* Apply nonlinearity correction below a pulse of this duration . Pulses longer than this duration will receive no adjustment .
2024-01-03 12:32:11 -08:00
* units : ms
2024-03-20 14:09:51 -07:00
* offset 788
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 1000 , 1 > applyNonlinearBelowPulse ;
/**
2024-03-20 14:09:51 -07:00
* offset 790
2023-12-19 21:03:15 -08:00
*/
Gpio lps25BaroSensorScl ;
/**
2024-03-20 14:09:51 -07:00
* offset 792
2023-12-19 21:03:15 -08:00
*/
Gpio lps25BaroSensorSda ;
/**
2024-03-20 14:09:51 -07:00
* offset 794
2023-12-19 21:03:15 -08:00
*/
brain_input_pin_e vehicleSpeedSensorInputPin ;
/**
* Some vehicles have a switch to indicate that clutch pedal is all the way up
2024-03-20 14:09:51 -07:00
* offset 796
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e clutchUpPin ;
/**
2024-03-20 14:09:51 -07:00
* offset 798
2023-12-19 21:03:15 -08:00
*/
InjectorNonlinearMode injectorNonlinearMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 799
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e clutchUpPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 800
2023-12-19 21:03:15 -08:00
*/
Gpio max31855_cs [ EGT_CHANNEL_COUNT ] ;
/**
* Continental / GM flex fuel sensor , 50 - 150 hz type
2024-03-20 14:09:51 -07:00
* offset 816
2023-12-19 21:03:15 -08:00
*/
brain_input_pin_e flexSensorPin ;
/**
2024-03-20 14:09:51 -07:00
* offset 818
2023-12-19 21:03:15 -08:00
*/
Gpio test557pin ;
/**
2024-03-20 14:09:51 -07:00
* offset 820
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e stepperDirectionPinMode ;
/**
2024-03-20 14:09:51 -07:00
* offset 821
2023-12-19 21:03:15 -08:00
*/
spi_device_e mc33972spiDevice ;
/**
* Stoichiometric ratio for your secondary fuel . This value is used when the Flex Fuel sensor indicates E100 , typically 9.0
2024-01-03 12:32:11 -08:00
* units : : 1
2024-03-20 14:09:51 -07:00
* offset 822
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > stoichRatioSecondary ;
/**
* Maximum allowed ETB position . Some throttles go past fully open , so this allows you to limit it to fully open .
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:09:51 -07:00
* offset 823
2023-12-19 21:03:15 -08:00
*/
uint8_t etbMaximumPosition ;
/**
* Rate the ECU will log to the SD card , in hz ( log lines per second ) .
2024-01-03 12:32:11 -08:00
* units : hz
2024-03-20 14:09:51 -07:00
* offset 824
2023-12-19 21:03:15 -08:00
*/
uint16_t sdCardLogFrequency ;
/**
2024-03-20 14:09:51 -07:00
* offset 826
2023-12-19 21:03:15 -08:00
*/
adc_channel_e idlePositionChannel ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:09:51 -07:00
* offset 827
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
uint8_t alignmentFill_at_827 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
* offset 828
2023-12-19 21:03:15 -08:00
*/
2024-05-29 12:12:50 -07:00
uint16_t launchCorrectionsEndRpm ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
* offset 830
2023-12-19 21:03:15 -08:00
*/
output_pin_e starterRelayDisablePin ;
/**
* On some vehicles we can disable starter once engine is already running
2024-03-20 14:09:51 -07:00
* offset 832
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e starterRelayDisablePinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:09:51 -07:00
* offset 833
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
uint8_t alignmentFill_at_833 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
* Some Subaru and some Mazda use double - solenoid idle air valve
2024-03-20 14:09:51 -07:00
* offset 834
2023-12-19 21:03:15 -08:00
*/
output_pin_e secondSolenoidPin ;
/**
* See also starterControlPin
2024-03-20 14:09:51 -07:00
* offset 836
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e startStopButtonPin ;
/**
2024-03-20 14:19:27 -07:00
* units : RPM
2024-03-20 14:09:51 -07:00
* offset 838
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
scaled_channel < uint8_t , 1 , 100 > lambdaProtectionRestoreRpm ;
/**
* offset 839
*/
pin_output_mode_e acRelayPinMode ;
2023-12-19 21:03:15 -08:00
/**
* 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 .
2024-01-03 12:32:11 -08:00
* units : count
2024-03-20 14:09:51 -07:00
* offset 840
2023-12-19 21:03:15 -08:00
*/
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 % .
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:09:51 -07:00
* offset 844
2023-12-19 21:03:15 -08:00
*/
int16_t idlePidDeactivationTpsThreshold ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:09:51 -07:00
* offset 846
2023-12-19 21:03:15 -08:00
*/
int16_t stepperParkingExtraSteps ;
/**
2024-01-03 12:32:11 -08:00
* units : ADC
2024-03-20 14:09:51 -07:00
* offset 848
2023-12-19 21:03:15 -08:00
*/
uint16_t tps1SecondaryMin ;
/**
2024-01-03 12:32:11 -08:00
* units : ADC
2024-03-20 14:09:51 -07:00
* offset 850
2023-12-19 21:03:15 -08:00
*/
uint16_t tps1SecondaryMax ;
/**
2024-01-03 12:32:11 -08:00
* units : rpm
2024-03-20 14:09:51 -07:00
* offset 852
2023-12-19 21:03:15 -08:00
*/
int16_t antiLagRpmTreshold ;
/**
* Maximum time to crank starter when start / stop button is pressed
2024-01-03 12:32:11 -08:00
* units : Seconds
2024-03-20 14:09:51 -07:00
* offset 854
2023-12-19 21:03:15 -08:00
*/
uint16_t startCrankingDuration ;
/**
* This pin is used for debugging - snap a logic analyzer on it and see if it ' s ever high
2024-03-20 14:09:51 -07:00
* offset 856
2023-12-19 21:03:15 -08:00
*/
Gpio triggerErrorPin ;
/**
2024-03-20 14:09:51 -07:00
* offset 858
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e triggerErrorPinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:09:51 -07:00
* offset 859
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
uint8_t alignmentFill_at_859 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:09:51 -07:00
* offset 860
2023-12-19 21:03:15 -08:00
*/
output_pin_e acRelayPin ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:09:51 -07:00
* offset 862
2023-12-19 21:03:15 -08:00
*/
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
2024-01-03 12:32:11 -08:00
* units : s
2024-03-20 14:09:51 -07:00
* offset 863
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > lambdaProtectionTimeout ;
/**
2024-03-20 14:09:51 -07:00
* offset 864
2023-12-19 21:03:15 -08:00
*/
script_setting_t scriptSetting [ SCRIPT_SETTING_COUNT ] ;
/**
2024-03-20 14:19:27 -07:00
* offset 896
2023-12-19 21:03:15 -08:00
*/
Gpio spi1mosiPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 898
2023-12-19 21:03:15 -08:00
*/
Gpio spi1misoPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 900
2023-12-19 21:03:15 -08:00
*/
Gpio spi1sckPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 902
2023-12-19 21:03:15 -08:00
*/
Gpio spi2mosiPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 904
2023-12-19 21:03:15 -08:00
*/
Gpio spi2misoPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 906
2023-12-19 21:03:15 -08:00
*/
Gpio spi2sckPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 908
2023-12-19 21:03:15 -08:00
*/
Gpio spi3mosiPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 910
2023-12-19 21:03:15 -08:00
*/
Gpio spi3misoPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 912
2023-12-19 21:03:15 -08:00
*/
Gpio spi3sckPin ;
/**
* Saab Combustion Detection Module knock signal input pin
* also known as Saab Ion Sensing Module
2024-03-20 14:19:27 -07:00
* offset 914
2023-12-19 21:03:15 -08:00
*/
Gpio cdmInputPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 916
2023-12-19 21:03:15 -08:00
*/
uart_device_e consoleUartDevice ;
/**
* rusEFI console Sensor Sniffer mode
2024-03-20 14:19:27 -07:00
* offset 917
2023-12-19 21:03:15 -08:00
*/
sensor_chart_e sensorChartMode ;
/**
2024-03-20 14:19:27 -07:00
* offset 918
2023-12-19 21:03:15 -08:00
*/
maf_sensor_type_e mafSensorType ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 919
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_919 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 0 */
2023-12-19 21:03:15 -08:00
bool clutchUpPinInverted : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 1 */
2023-12-19 21:03:15 -08:00
bool clutchDownPinInverted : 1 { } ;
/**
* If enabled we use two H - bridges to drive stepper idle air valve
2024-03-20 14:19:27 -07:00
offset 920 bit 2 */
2023-12-19 21:03:15 -08:00
bool useHbridgesToDriveIdleStepper : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 3 */
2023-12-19 21:03:15 -08:00
bool multisparkEnable : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 4 */
2023-12-19 21:03:15 -08:00
bool enableLaunchRetard : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 5 */
2023-12-19 21:03:15 -08:00
bool canInputBCM : 1 { } ;
/**
* This property is useful if using rusEFI as TCM or BCM only
2024-03-20 14:19:27 -07:00
offset 920 bit 6 */
2023-12-19 21:03:15 -08:00
bool consumeObdSensors : 1 { } ;
/**
* Read VSS from OEM CAN bus according to selected CAN vehicle configuration .
2024-03-20 14:19:27 -07:00
offset 920 bit 7 */
2023-12-19 21:03:15 -08:00
bool enableCanVss : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 8 */
2023-12-19 21:03:15 -08:00
bool enableInnovateLC2 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 9 */
2023-12-19 21:03:15 -08:00
bool showHumanReadableWarning : 1 { } ;
/**
2024-01-03 08:20:20 -08:00
* 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 .
2024-03-20 14:19:27 -07:00
offset 920 bit 10 */
2023-12-19 21:03:15 -08:00
bool stftIgnoreErrorMagnitude : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 11 */
2023-12-19 21:03:15 -08:00
bool vvtBooleanForVerySpecialCases : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 12 */
2023-12-19 21:03:15 -08:00
bool enableSoftwareKnock : 1 { } ;
/**
* Verbose info in console below engineSnifferRpmThreshold
* enable vvt_details
2024-03-20 14:19:27 -07:00
offset 920 bit 13 */
2023-12-19 21:03:15 -08:00
bool verboseVVTDecoding : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 14 */
2023-12-19 21:03:15 -08:00
bool invertCamVVTSignal : 1 { } ;
/**
* In Alpha - N mode , compensate for air temperature .
2024-03-20 14:19:27 -07:00
offset 920 bit 15 */
2023-12-19 21:03:15 -08:00
bool alphaNUseIat : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 16 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl1 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 17 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl2 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 18 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl3 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 19 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl4 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 20 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl5 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 21 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl6 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 22 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl7 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 23 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl8 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 24 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl9 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 25 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl10 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 26 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl11 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 27 */
2023-12-19 21:03:15 -08:00
bool knockBankCyl12 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 28 */
2023-12-19 21:03:15 -08:00
bool tcuEnabled : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 920 bit 29 */
2023-12-19 21:03:15 -08:00
bool canBroadcastUseChannelTwo : 1 { } ;
/**
2024-02-16 12:25:25 -08:00
* If enabled we use four Push - Pull outputs to directly drive stepper idle air valve coils
2024-03-20 14:19:27 -07:00
offset 920 bit 30 */
2023-12-19 21:03:15 -08:00
bool useRawOutputToDriveIdleStepper : 1 { } ;
/**
* Print incoming and outgoing second bus CAN messages in rusEFI console
2024-03-20 14:19:27 -07:00
offset 920 bit 31 */
2023-12-19 21:03:15 -08:00
bool verboseCan2 : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
* offset 924
2023-12-19 21:03:15 -08:00
*/
dc_io etbIo [ ETB_COUNT ] ;
/**
* Wastegate control Solenoid
2024-03-20 14:19:27 -07:00
* offset 940
2023-12-19 21:03:15 -08:00
*/
output_pin_e boostControlPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 942
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e boostControlPinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 943
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_943 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
* offset 944
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e ALSActivatePin ;
/**
2024-03-20 14:19:27 -07:00
* offset 946
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e launchActivatePin ;
/**
2024-03-20 14:19:27 -07:00
* offset 948
2023-12-19 21:03:15 -08:00
*/
pid_s boostPid ;
/**
2024-03-20 14:19:27 -07:00
* offset 968
2023-12-19 21:03:15 -08:00
*/
boostType_e boostType ;
/**
2024-03-20 14:19:27 -07:00
* offset 969
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e ignitionKeyDigitalPinMode ;
/**
2024-03-20 14:19:27 -07:00
* offset 970
2023-12-19 21:03:15 -08:00
*/
Gpio ignitionKeyDigitalPin ;
/**
2024-01-03 12:32:11 -08:00
* units : Hz
2024-03-20 14:19:27 -07:00
* offset 972
2023-12-19 21:03:15 -08:00
*/
int boostPwmFrequency ;
/**
2024-03-20 14:19:27 -07:00
* offset 976
2023-12-19 21:03:15 -08:00
*/
launchActivationMode_e launchActivationMode ;
/**
2024-03-20 14:19:27 -07:00
* offset 977
2023-12-19 21:03:15 -08:00
*/
antiLagActivationMode_e antiLagActivationMode ;
/**
2024-03-20 14:19:27 -07:00
* How long to look back for TPS - based acceleration enrichment . Increasing this time will trigger enrichment for longer when a throttle position change occurs .
* units : sec
* offset 978
*/
scaled_channel < uint8_t , 20 , 1 > tpsAccelLookback ;
/**
* Pause closed loop fueling after deceleration fuel cut occurs . Set this to a little longer than however long is required for normal fueling behavior to resume after fuel cut .
* units : sec
* offset 979
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
scaled_channel < uint8_t , 10 , 1 > noFuelTrimAfterDfcoTime ;
2023-12-19 21:03:15 -08:00
/**
* Launch disabled above this speed if setting is above zero
2024-01-03 12:32:11 -08:00
* units : Kph
2024-03-20 14:19:27 -07:00
* offset 980
2023-12-19 21:03:15 -08:00
*/
int launchSpeedThreshold ;
/**
2024-03-16 16:09:24 -07:00
* Starting Launch RPM window to activate ( subtracts from Launch RPM )
2024-01-03 12:32:11 -08:00
* units : RPM
2024-03-20 14:19:27 -07:00
* offset 984
2023-12-19 21:03:15 -08:00
*/
2024-03-16 16:09:24 -07:00
int launchRpmWindow ;
2023-12-19 21:03:15 -08:00
/**
2024-06-07 17:37:32 -07:00
* units : ms
2024-03-20 14:19:27 -07:00
* offset 988
2023-12-19 21:03:15 -08:00
*/
2024-06-07 17:37:32 -07:00
float triggerEventsTimeoutMs ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
* offset 992
2023-12-19 21:03:15 -08:00
*/
2024-06-15 07:33:55 -07:00
float mapExpAverageAlpha ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
* offset 996
2023-12-19 21:03:15 -08:00
*/
2024-03-17 17:44:34 -07:00
float magicNumberAvailableForDevTricks ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
* offset 1000
2023-12-19 21:03:15 -08:00
*/
float turbochargerFilter ;
/**
2024-03-20 14:19:27 -07:00
* offset 1004
2023-12-19 21:03:15 -08:00
*/
int launchTpsThreshold ;
/**
2024-03-20 14:19:27 -07:00
* offset 1008
2023-12-19 21:03:15 -08:00
*/
float launchActivateDelay ;
/**
2024-03-20 14:19:27 -07:00
* offset 1012
2023-12-19 21:03:15 -08:00
*/
stft_s stft ;
/**
2024-03-20 14:19:27 -07:00
* offset 1036
2023-12-19 21:03:15 -08:00
*/
dc_io stepperDcIo [ DC_PER_STEPPER ] ;
/**
* For example , BMW , GM or Chevrolet
* REQUIRED for rusEFI Online
2024-03-20 14:19:27 -07:00
* offset 1052
2023-12-19 21:03:15 -08:00
*/
vehicle_info_t engineMake ;
/**
* For example , LS1 or NB2
* REQUIRED for rusEFI Online
2024-03-20 14:19:27 -07:00
* offset 1084
2023-12-19 21:03:15 -08:00
*/
vehicle_info_t engineCode ;
/**
* For example , Hunchback or Orange Miata
* Vehicle name has to be unique between your vehicles .
* REQUIRED for rusEFI Online
2024-03-20 14:19:27 -07:00
* offset 1116
2023-12-19 21:03:15 -08:00
*/
vehicle_info_t vehicleName ;
/**
2024-03-20 14:19:27 -07:00
* offset 1148
2023-12-19 21:03:15 -08:00
*/
output_pin_e tcu_solenoid [ TCU_SOLENOID_COUNT ] ;
/**
2024-03-20 14:19:27 -07:00
* offset 1160
2023-12-19 21:03:15 -08:00
*/
dc_function_e etbFunctions [ ETB_COUNT ] ;
/**
2024-03-20 14:19:27 -07:00
* offset 1162
2023-12-19 21:03:15 -08:00
*/
spi_device_e drv8860spiDevice ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 1163
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_1163 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
* offset 1164
2023-12-19 21:03:15 -08:00
*/
Gpio drv8860_cs ;
/**
2024-03-20 14:19:27 -07:00
* offset 1166
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e drv8860_csPinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 1167
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_1167 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
* offset 1168
2023-12-19 21:03:15 -08:00
*/
Gpio drv8860_miso ;
/**
2024-03-20 14:19:27 -07:00
* offset 1170
2023-12-19 21:03:15 -08:00
*/
output_pin_e luaOutputPins [ LUA_PWM_COUNT ] ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 1186
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_1186 [ 2 ] ;
2023-12-19 21:03:15 -08:00
/**
* Angle between cam sensor and VVT zero position
2024-01-03 12:32:11 -08:00
* units : value
2024-03-20 14:19:27 -07:00
* offset 1188
2023-12-19 21:03:15 -08:00
*/
float vvtOffsets [ CAM_INPUTS_COUNT ] ;
/**
2024-03-20 14:19:27 -07:00
* offset 1204
2023-12-19 21:03:15 -08:00
*/
vr_threshold_s vrThreshold [ VR_THRESHOLD_COUNT ] ;
/**
2024-03-20 14:19:27 -07:00
* offset 1236
2023-12-19 21:03:15 -08:00
*/
gppwm_note_t gpPwmNote [ GPPWM_CHANNELS ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ADC
2024-03-20 14:19:27 -07:00
* offset 1300
2023-12-19 21:03:15 -08:00
*/
uint16_t tps2SecondaryMin ;
/**
2024-01-03 12:32:11 -08:00
* units : ADC
2024-03-20 14:19:27 -07:00
* offset 1302
2023-12-19 21:03:15 -08:00
*/
uint16_t tps2SecondaryMax ;
/**
* Select which bus the wideband controller is attached to .
2024-03-20 14:19:27 -07:00
offset 1304 bit 0 */
2023-12-19 21:03:15 -08:00
bool widebandOnSecondBus : 1 { } ;
/**
* Enables lambda sensor closed loop feedback for fuelling .
2024-03-20 14:19:27 -07:00
offset 1304 bit 1 */
2023-12-19 21:03:15 -08:00
bool fuelClosedLoopCorrectionEnabled : 1 { } ;
/**
2024-01-31 15:25:00 -08:00
* On even fire engines with even number of cylinders we go wasted spark during cranking . Use this setting to disable wasted spark cranking on odd fire engines .
2024-03-20 14:19:27 -07:00
offset 1304 bit 2 */
2023-12-19 21:03:15 -08:00
bool oddFireEngine : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 3 */
2023-12-19 21:03:15 -08:00
bool boardUseTachPullUp : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 4 */
2023-12-19 21:03:15 -08:00
bool boardUseTempPullUp : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 5 */
2023-12-19 21:03:15 -08:00
bool yesUnderstandLocking : 1 { } ;
/**
* Sometimes we have a performance issue while printing error
2024-03-20 14:19:27 -07:00
offset 1304 bit 6 */
2023-12-19 21:03:15 -08:00
bool silentTriggerError : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 7 */
2023-12-19 21:03:15 -08:00
bool useLinearCltSensor : 1 { } ;
/**
* enable can_read / disable can_read
2024-03-20 14:19:27 -07:00
offset 1304 bit 8 */
2023-12-19 21:03:15 -08:00
bool canReadEnabled : 1 { } ;
/**
* enable can_write / disable can_write . See also can1ListenMode
2024-03-20 14:19:27 -07:00
offset 1304 bit 9 */
2023-12-19 21:03:15 -08:00
bool canWriteEnabled : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 10 */
2023-12-19 21:03:15 -08:00
bool useLinearIatSensor : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 11 */
2023-12-19 21:03:15 -08:00
bool boardUse2stepPullDown : 1 { } ;
/**
* Treat milliseconds value as duty cycle value , i . e . 0.5 ms would become 50 %
2024-03-20 14:19:27 -07:00
offset 1304 bit 12 */
2023-12-19 21:03:15 -08:00
bool tachPulseDurationAsDutyCycle : 1 { } ;
/**
* This enables smart alternator control and activates the extra alternator settings .
2024-03-20 14:19:27 -07:00
offset 1304 bit 13 */
2023-12-19 21:03:15 -08:00
bool isAlternatorControlEnabled : 1 { } ;
/**
* https : //wiki.rusefi.com/Trigger-Configuration-Guide
* This setting flips the signal from the primary engine speed sensor .
2024-03-20 14:19:27 -07:00
offset 1304 bit 14 */
2023-12-19 21:03:15 -08:00
bool invertPrimaryTriggerSignal : 1 { } ;
/**
* https : //wiki.rusefi.com/Trigger-Configuration-Guide
* This setting flips the signal from the secondary engine speed sensor .
2024-03-20 14:19:27 -07:00
offset 1304 bit 15 */
2023-12-19 21:03:15 -08:00
bool invertSecondaryTriggerSignal : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 16 */
2023-12-19 21:03:15 -08:00
bool cutFuelOnHardLimit : 1 { } ;
/**
* Be careful enabling this : some engines are known to self - disassemble their valvetrain with a spark cut . Fuel cut is much safer .
2024-03-20 14:19:27 -07:00
offset 1304 bit 17 */
2023-12-19 21:03:15 -08:00
bool cutSparkOnHardLimit : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 18 */
2023-12-19 21:03:15 -08:00
bool launchFuelCutEnable : 1 { } ;
/**
* This is the Cut Mode normally used
2024-03-20 14:19:27 -07:00
offset 1304 bit 19 */
2023-12-19 21:03:15 -08:00
bool launchSparkCutEnable : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 20 */
2023-12-19 21:03:15 -08:00
bool boardUseCrankPullUp : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 21 */
2023-12-19 21:03:15 -08:00
bool boardUseCamPullDown : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 22 */
2023-12-19 21:03:15 -08:00
bool boardUseCamVrPullUp : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 23 */
2023-12-19 21:03:15 -08:00
bool boardUseD2PullDown : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 24 */
2023-12-19 21:03:15 -08:00
bool boardUseD3PullDown : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 25 */
2023-12-19 21:03:15 -08:00
bool boardUseD4PullDown : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 26 */
2023-12-19 21:03:15 -08:00
bool boardUseD5PullDown : 1 { } ;
/**
* Are you a developer troubleshooting TS over CAN ISO / TP ?
2024-03-20 14:19:27 -07:00
offset 1304 bit 27 */
2023-12-19 21:03:15 -08:00
bool verboseIsoTp : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 28 */
2023-12-19 21:03:15 -08:00
bool engineSnifferFocusOnInputs : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 29 */
2023-12-19 21:03:15 -08:00
bool launchActivateInverted : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1304 bit 30 */
2023-12-19 21:03:15 -08:00
bool twoStroke : 1 { } ;
/**
* Where is your primary skipped wheel located ?
2024-03-20 14:19:27 -07:00
offset 1304 bit 31 */
2023-12-19 21:03:15 -08:00
bool skippedWheelOnCam : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
* offset 1308
2023-12-19 21:03:15 -08:00
*/
adc_channel_e hipOutputChannel ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 1309
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_1309 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
* A / C button input
2024-03-20 14:19:27 -07:00
* offset 1310
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e acSwitch ;
/**
2024-03-20 14:19:27 -07:00
* offset 1312
2023-12-19 21:03:15 -08:00
*/
adc_channel_e vRefAdcChannel ;
/**
* Expected neutral position
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:19:27 -07:00
* offset 1313
2023-12-19 21:03:15 -08:00
*/
uint8_t etbNeutralPosition ;
/**
* See also idleRpmPid
2024-03-20 14:19:27 -07:00
* offset 1314
2023-12-19 21:03:15 -08:00
*/
idle_mode_e idleMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 1315
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_1315 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 0 */
2023-12-19 21:03:15 -08:00
bool isInjectionEnabled : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 1 */
2023-12-19 21:03:15 -08:00
bool isIgnitionEnabled : 1 { } ;
/**
* When enabled if TPS is held above 95 % no fuel is injected while cranking to clear excess fuel from the cylinders .
2024-03-20 14:19:27 -07:00
offset 1316 bit 2 */
2023-12-19 21:03:15 -08:00
bool isCylinderCleanupEnabled : 1 { } ;
/**
* Should we use tables to vary tau / beta based on CLT / MAP , or just with fixed values ?
2024-03-20 14:19:27 -07:00
offset 1316 bit 3 */
2023-12-19 21:03:15 -08:00
bool complexWallModel : 1 { } ;
/**
* RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution
2024-03-20 14:19:27 -07:00
offset 1316 bit 4 */
2023-12-19 21:03:15 -08:00
bool alwaysInstantRpm : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 5 */
2023-12-19 21:03:15 -08:00
bool isMapAveragingEnabled : 1 { } ;
/**
* If enabled , use separate temperature multiplier table for cranking idle position .
* If disabled , use normal running multiplier table applied to the cranking base position .
2024-03-20 14:19:27 -07:00
offset 1316 bit 6 */
2023-12-19 21:03:15 -08:00
bool overrideCrankingIacSetting : 1 { } ;
/**
* This activates a separate ignition timing table for idle conditions , this can help idle stability by using ignition retard and advance either side of the desired idle speed . Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed .
2024-03-20 14:19:27 -07:00
offset 1316 bit 7 */
2023-12-19 21:03:15 -08:00
bool useSeparateAdvanceForIdle : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 8 */
2023-12-19 21:03:15 -08:00
bool isWaveAnalyzerEnabled : 1 { } ;
/**
* This activates a separate fuel table for Idle , this allows fine tuning of the idle fuelling .
2024-03-20 14:19:27 -07:00
offset 1316 bit 9 */
2023-12-19 21:03:15 -08:00
bool useSeparateVeForIdle : 1 { } ;
/**
* Verbose info in console below engineSnifferRpmThreshold
* enable trigger_details
2024-03-20 14:19:27 -07:00
offset 1316 bit 10 */
2023-12-19 21:03:15 -08:00
bool verboseTriggerSynchDetails : 1 { } ;
/**
* Usually if we have no trigger events that means engine is stopped
* Unless we are troubleshooting and spinning the engine by hand - this case a longer
* delay is needed
2024-03-20 14:19:27 -07:00
offset 1316 bit 11 */
2023-12-19 21:03:15 -08:00
bool isManualSpinningMode : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 12 */
2023-12-19 21:03:15 -08:00
bool cutFuelInAcr : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 13 */
2023-12-19 21:03:15 -08:00
bool hondaK : 1 { } ;
/**
* This is needed if your coils are individually wired ( COP ) and you wish to use batch ignition ( Wasted Spark ) .
2024-03-20 14:19:27 -07:00
offset 1316 bit 14 */
2023-12-19 21:03:15 -08:00
bool twoWireBatchIgnition : 1 { } ;
/**
2024-05-03 12:13:29 -07:00
* Read MAP sensor on ECU start - up to use as baro value .
2024-03-20 14:19:27 -07:00
offset 1316 bit 15 */
2023-12-19 21:03:15 -08:00
bool useFixedBaroCorrFromMap : 1 { } ;
/**
* In Constant mode , timing is automatically tapered to running as RPM increases .
* In Table mode , the " Cranking ignition advance " table is used directly .
2024-03-20 14:19:27 -07:00
offset 1316 bit 16 */
2023-12-19 21:03:15 -08:00
bool useSeparateAdvanceForCranking : 1 { } ;
/**
* This enables the various ignition corrections during cranking ( IAT , CLT , FSIO and PID idle ) .
* You probably don ' t need this .
2024-03-20 14:19:27 -07:00
offset 1316 bit 17 */
2023-12-19 21:03:15 -08:00
bool useAdvanceCorrectionsForCranking : 1 { } ;
/**
* Enable a second cranking table to use for E100 flex fuel , interpolating between the two based on flex fuel sensor .
2024-03-20 14:19:27 -07:00
offset 1316 bit 18 */
2023-12-19 21:03:15 -08:00
bool flexCranking : 1 { } ;
/**
* This flag allows to use a special ' PID Multiplier ' table ( 0.0 - 1.0 ) to compensate for nonlinear nature of IAC - RPM controller
2024-03-20 14:19:27 -07:00
offset 1316 bit 19 */
2023-12-19 21:03:15 -08:00
bool useIacPidMultTable : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 20 */
2023-12-19 21:03:15 -08:00
bool isBoostControlEnabled : 1 { } ;
/**
* Interpolates the Ignition Retard from 0 to 100 % within the RPM Range
2024-03-20 14:19:27 -07:00
offset 1316 bit 21 */
2023-12-19 21:03:15 -08:00
bool launchSmoothRetard : 1 { } ;
/**
* Some engines are OK running semi - random sequential while other engine require phase synchronization
2024-03-20 14:19:27 -07:00
offset 1316 bit 22 */
2023-12-19 21:03:15 -08:00
bool isPhaseSyncRequiredForIgnition : 1 { } ;
/**
* If enabled , use a curve for RPM limit ( based on coolant temperature ) instead of a constant value .
2024-03-20 14:19:27 -07:00
offset 1316 bit 23 */
2023-12-19 21:03:15 -08:00
bool useCltBasedRpmLimit : 1 { } ;
/**
* If enabled , don ' t wait for engine start to heat O2 sensors . WARNING : this will reduce the life of your sensor , as condensation in the exhaust from a cold start can crack the sensing element .
2024-03-20 14:19:27 -07:00
offset 1316 bit 24 */
2023-12-19 21:03:15 -08:00
bool forceO2Heating : 1 { } ;
/**
* If increased VVT duty cycle increases the indicated VVT angle , set this to ' advance ' . If it decreases , set this to ' retard ' . Most intake cams use ' advance ' , and most exhaust cams use ' retard ' .
2024-03-20 14:19:27 -07:00
offset 1316 bit 25 */
2023-12-19 21:03:15 -08:00
bool invertVvtControlIntake : 1 { } ;
/**
* If increased VVT duty cycle increases the indicated VVT angle , set this to ' advance ' . If it decreases , set this to ' retard ' . Most intake cams use ' advance ' , and most exhaust cams use ' retard ' .
2024-03-20 14:19:27 -07:00
offset 1316 bit 26 */
2023-12-19 21:03:15 -08:00
bool invertVvtControlExhaust : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 27 */
2023-12-19 21:03:15 -08:00
bool useBiQuadOnAuxSpeedSensors : 1 { } ;
/**
* ' Trigger ' mode will write a high speed log of trigger events ( warning : uses lots of space ! ) . ' Normal ' mode will write a standard MLG of sensors , engine function , etc . similar to the one captured in TunerStudio .
2024-03-20 14:19:27 -07:00
offset 1316 bit 28 */
2023-12-19 21:03:15 -08:00
bool sdTriggerLog : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 29 */
2023-12-19 21:03:15 -08:00
bool ALSActivateInverted : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 30 */
2023-12-19 21:03:15 -08:00
bool stepper_dc_use_two_wires : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1316 bit 31 */
2023-12-19 21:03:15 -08:00
bool watchOutForLinearTime : 1 { } ;
/**
2024-01-03 12:32:11 -08:00
* units : count
2024-03-20 14:19:27 -07:00
* offset 1320
2023-12-19 21:03:15 -08:00
*/
uint32_t engineChartSize ;
/**
2024-01-03 12:32:11 -08:00
* units : mult
2024-03-20 14:19:27 -07:00
* offset 1324
2023-12-19 21:03:15 -08:00
*/
float turboSpeedSensorMultiplier ;
/**
2024-03-20 14:19:27 -07:00
* offset 1328
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : RPM
2024-03-20 14:19:27 -07:00
* offset 1336
2023-12-19 21:03:15 -08:00
*/
int16_t acIdleRpmTarget ;
/**
* set warningPeriod X
2024-01-03 12:32:11 -08:00
* units : seconds
2024-03-20 14:19:27 -07:00
* offset 1338
2023-12-19 21:03:15 -08:00
*/
int16_t warningPeriod ;
/**
2024-01-03 12:32:11 -08:00
* units : angle
2024-03-20 14:19:27 -07:00
* offset 1340
2023-12-19 21:03:15 -08:00
*/
float knockDetectionWindowStart ;
/**
2024-01-03 12:32:11 -08:00
* units : angle
2024-03-20 14:19:27 -07:00
* offset 1344
2023-12-19 21:03:15 -08:00
*/
float knockDetectionWindowEnd ;
/**
2024-01-03 12:32:11 -08:00
* units : ms
2024-03-20 14:19:27 -07:00
* offset 1348
2023-12-19 21:03:15 -08:00
*/
float idleStepperReactionTime ;
/**
2024-01-03 12:32:11 -08:00
* units : count
2024-03-20 14:19:27 -07:00
* offset 1352
2023-12-19 21:03:15 -08:00
*/
int idleStepperTotalSteps ;
/**
* TODO : finish this # 413
2024-01-03 12:32:11 -08:00
* units : sec
2024-03-20 14:19:27 -07:00
* offset 1356
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : index
2024-03-20 14:19:27 -07:00
* offset 1360
2023-12-19 21:03:15 -08:00
*/
int mapAveragingSchedulingAtIndex ;
/**
* Duration in ms or duty cycle depending on selected mode
2024-03-20 14:19:27 -07:00
* offset 1364
2023-12-19 21:03:15 -08:00
*/
float tachPulseDuractionMs ;
/**
* Length of time the deposited wall fuel takes to dissipate after the start of acceleration .
2024-01-03 12:32:11 -08:00
* units : Seconds
2024-03-20 14:19:27 -07:00
* offset 1368
2023-12-19 21:03:15 -08:00
*/
float wwaeTau ;
/**
2024-03-20 14:19:27 -07:00
* offset 1372
2023-12-19 21:03:15 -08:00
*/
pid_s alternatorControl ;
/**
2024-03-20 14:19:27 -07:00
* offset 1392
2023-12-19 21:03:15 -08:00
*/
pid_s etb ;
/**
2024-03-20 14:19:27 -07:00
* offset 1412
2023-12-19 21:03:15 -08:00
*/
Gpio triggerInputDebugPins [ TRIGGER_INPUT_PIN_COUNT ] ;
/**
* RPM range above upper limit for extra air taper
2024-01-03 12:32:11 -08:00
* units : RPM
2024-03-20 14:19:27 -07:00
* offset 1416
2023-12-19 21:03:15 -08:00
*/
int16_t airTaperRpmRange ;
/**
2024-03-20 14:19:27 -07:00
* offset 1418
2023-12-19 21:03:15 -08:00
*/
brain_input_pin_e turboSpeedSensorInputPin ;
/**
* Closed throttle # 2. todo : extract these two fields into a structure
* See also tps2_1AdcChannel
2024-01-03 12:32:11 -08:00
* units : ADC
2024-03-20 14:19:27 -07:00
* offset 1420
2023-12-19 21:03:15 -08:00
*/
int16_t tps2Min ;
/**
* Full throttle # 2. tpsMax value as 10 bit ADC value . Not Voltage !
* See also tps1_1AdcChannel
2024-01-03 12:32:11 -08:00
* units : ADC
2024-03-20 14:19:27 -07:00
* offset 1422
2023-12-19 21:03:15 -08:00
*/
int16_t tps2Max ;
/**
* See also startStopButtonPin
2024-03-20 14:19:27 -07:00
* offset 1424
2023-12-19 21:03:15 -08:00
*/
output_pin_e starterControlPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 1426
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e startStopButtonMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 1427
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_1427 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
* offset 1428
2023-12-19 21:03:15 -08:00
*/
Gpio mc33816_flag0 ;
/**
2024-01-03 12:32:11 -08:00
* units : Pulse
2024-03-20 14:19:27 -07:00
* offset 1430
2023-12-19 21:03:15 -08:00
*/
uint8_t tachPulsePerRev ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 1431
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_1431 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
* kPa value which is too low to be true
2024-01-03 12:32:11 -08:00
* units : kPa
2024-03-20 14:19:27 -07:00
* offset 1432
2023-12-19 21:03:15 -08:00
*/
float mapErrorDetectionTooLow ;
/**
* kPa value which is too high to be true
2024-01-03 12:32:11 -08:00
* units : kPa
2024-03-20 14:19:27 -07:00
* offset 1436
2023-12-19 21:03:15 -08:00
*/
float mapErrorDetectionTooHigh ;
/**
* How long to wait for the spark to fire before recharging the coil for another spark .
2024-01-03 12:32:11 -08:00
* units : ms
2024-03-20 14:19:27 -07:00
* offset 1440
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 1000 , 1 > multisparkSparkDuration ;
/**
* This sets the dwell time for subsequent sparks . The main spark ' s dwell is set by the dwell table .
2024-01-03 12:32:11 -08:00
* units : ms
2024-03-20 14:19:27 -07:00
* offset 1442
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 1000 , 1 > multisparkDwell ;
/**
* See cltIdleRpmBins
2024-03-20 14:19:27 -07:00
* offset 1444
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : Fraction
2024-03-20 14:19:27 -07:00
* offset 1464
2023-12-19 21:03:15 -08:00
*/
float wwaeBeta ;
/**
* See also EFI_CONSOLE_RX_BRAIN_PIN
2024-03-20 14:19:27 -07:00
* offset 1468
2023-12-19 21:03:15 -08:00
*/
Gpio binarySerialTxPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 1470
2023-12-19 21:03:15 -08:00
*/
Gpio binarySerialRxPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 1472
2023-12-19 21:03:15 -08:00
*/
Gpio auxValves [ AUX_DIGITAL_VALVE_COUNT ] ;
/**
2024-03-20 14:19:27 -07:00
* offset 1476
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e tcuUpshiftButtonPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 1478
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e tcuDownshiftButtonPin ;
/**
2024-01-03 12:32:11 -08:00
* units : voltage
2024-03-20 14:19:27 -07:00
* offset 1480
2023-12-19 21:03:15 -08:00
*/
float throttlePedalUpVoltage ;
/**
* Pedal in the floor
2024-01-03 12:32:11 -08:00
* units : voltage
2024-03-20 14:19:27 -07:00
* offset 1484
2023-12-19 21:03:15 -08:00
*/
float throttlePedalWOTVoltage ;
/**
* on IGN voltage detection turn fuel pump on to build fuel pressure
2024-01-03 12:32:11 -08:00
* units : seconds
2024-03-20 14:19:27 -07:00
* offset 1488
2023-12-19 21:03:15 -08:00
*/
int16_t startUpFuelPumpDuration ;
/**
* If the RPM closer to target than this value , disable closed loop idle correction to prevent oscillation
2024-01-03 12:32:11 -08:00
* units : RPM
2024-03-20 14:19:27 -07:00
* offset 1490
2023-12-19 21:03:15 -08:00
*/
int16_t idlePidRpmDeadZone ;
/**
* This is the target battery voltage the alternator PID control will attempt to maintain
2024-01-03 12:32:11 -08:00
* units : Volts
2024-03-20 14:19:27 -07:00
* offset 1492
2023-12-19 21:03:15 -08:00
*/
float targetVBatt ;
/**
2024-01-03 08:41:23 -08:00
* See Over / Undervoltage Shutdown / Retry bit in documentation
2024-03-20 14:19:27 -07:00
offset 1496 bit 0 */
2024-01-03 08:41:23 -08:00
bool mc33810DisableRecoveryMode : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 1 */
2024-01-03 08:41:23 -08:00
bool mc33810Gpgd0Mode : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 2 */
2024-01-03 08:41:23 -08:00
bool mc33810Gpgd1Mode : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 3 */
2024-01-03 08:41:23 -08:00
bool mc33810Gpgd2Mode : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 4 */
2024-01-03 08:41:23 -08:00
bool mc33810Gpgd3Mode : 1 { } ;
/**
2024-06-08 17:17:19 -07:00
* Send out board statistics
2024-03-20 14:19:27 -07:00
offset 1496 bit 5 */
2024-01-19 13:45:00 -08:00
bool enableExtendedCanBroadcast : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 6 */
2024-02-24 07:00:59 -08:00
bool luaCanRxWorkaround : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 7 */
2024-03-03 15:41:30 -08:00
bool flexSensorInverted : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 8 */
2024-03-04 17:57:20 -08:00
bool useHardSkipInTraction : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 9 */
2024-05-22 07:35:57 -07:00
bool unusedHere1212 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 10 */
2024-05-22 07:35:57 -07:00
bool unusedHere1213 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-04-02 10:50:29 -07:00
* Use Aux Speed 1 as one of speeds for wheel slip ratio ?
2024-03-20 14:19:27 -07:00
offset 1496 bit 11 */
2024-02-01 10:11:28 -08:00
bool useAuxSpeedForSlipRatio : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-04-02 10:50:29 -07:00
* VSS and Aux Speed 1 or Aux Speed 1 with Aux Speed 2 ?
2024-03-20 14:19:27 -07:00
offset 1496 bit 12 */
2024-02-02 06:10:33 -08:00
bool useVssAsSecondWheelSpeed : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 13 */
2024-02-26 09:55:57 -08:00
bool is_enabled_spi_5 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 14 */
2024-02-26 09:55:57 -08:00
bool is_enabled_spi_6 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-17 06:43:41 -07:00
* AEM X - Series EGT gauge kit or rusEFI EGT sensor from Wideband controller
2024-03-20 14:19:27 -07:00
offset 1496 bit 15 */
2024-03-17 06:43:41 -07:00
bool enableAemXSeriesEgt : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 16 */
2024-04-11 21:17:41 -07:00
bool startRequestPinInverted : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 17 */
2024-04-14 17:18:00 -07:00
bool tcu_rangeSensorPulldown : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 18 */
2024-03-24 19:13:21 -07:00
bool skipBoardCanDash : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 19 */
2024-05-12 10:58:04 -07:00
bool brakePedalPinInverted : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 20 */
2024-04-10 12:07:08 -07:00
bool devBit0 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 21 */
2024-04-10 12:07:08 -07:00
bool devBit1 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 22 */
2024-04-10 12:07:08 -07:00
bool devBit2 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 23 */
2024-04-10 12:07:08 -07:00
bool devBit3 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 24 */
2024-04-10 12:07:08 -07:00
bool devBit4 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 25 */
2024-04-10 12:07:08 -07:00
bool devBit5 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 26 */
2024-04-10 12:07:08 -07:00
bool devBit6 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 27 */
2024-04-10 12:07:08 -07:00
bool devBit7 : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 28 */
2024-04-22 16:55:10 -07:00
bool skipADC12bitAssert : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 29 */
2024-04-24 18:11:19 -07:00
bool invertExhaustCamVVTSignal : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 30 */
2024-04-28 06:44:09 -07:00
bool enableKnockSpectrogram : 1 { } ;
2024-01-03 08:41:23 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1496 bit 31 */
2024-05-29 11:44:57 -07:00
bool unusedBit_516_31 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-15 09:51:03 -07:00
* 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 . \ Should be 100 once tune is better
2024-01-03 12:32:11 -08:00
* units : cycles
2024-03-20 14:19:27 -07:00
* offset 1500
2023-12-19 21:03:15 -08:00
*/
int16_t afterCrankingIACtaperDuration ;
/**
* IAC Value added when coasting and transitioning into idle .
2024-01-03 12:32:11 -08:00
* units : percent
2024-03-20 14:19:27 -07:00
* offset 1502
2023-12-19 21:03:15 -08:00
*/
int16_t iacByTpsTaper ;
/**
* Auxiliary sensor serial , not to be confused with secondary calibration serial
2024-03-20 14:19:27 -07:00
* offset 1504
2023-12-19 21:03:15 -08:00
*/
Gpio auxSerialTxPin ;
/**
* Auxiliary sensor serial , not to be confused with secondary calibration serial
2024-03-20 14:19:27 -07:00
* offset 1506
2023-12-19 21:03:15 -08:00
*/
Gpio auxSerialRxPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 1508
2023-12-19 21:03:15 -08:00
*/
Gpio accelerometerCsPin ;
/**
* Below this speed , disable DFCO . Use this to prevent jerkiness from fuel enable / disable in low gears .
2024-01-03 12:32:11 -08:00
* units : kph
2024-03-20 14:19:27 -07:00
* offset 1510
2023-12-19 21:03:15 -08:00
*/
uint8_t coastingFuelCutVssLow ;
/**
* Above this speed , allow DFCO . Use this to prevent jerkiness from fuel enable / disable in low gears .
2024-01-03 12:32:11 -08:00
* units : kph
2024-03-20 14:19:27 -07:00
* offset 1511
2023-12-19 21:03:15 -08:00
*/
uint8_t coastingFuelCutVssHigh ;
/**
* 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 .
2024-01-03 12:32:11 -08:00
* units : roc
2024-03-20 14:19:27 -07:00
* offset 1512
2023-12-19 21:03:15 -08:00
*/
float tpsAccelEnrichmentThreshold ;
/**
2024-03-20 14:19:27 -07:00
* offset 1516
2023-12-19 21:03:15 -08:00
*/
brain_input_pin_e auxSpeedSensorInputPin [ AUX_SPEED_SENSOR_COUNT ] ;
/**
2024-03-20 14:19:27 -07:00
* offset 1520
2023-12-19 21:03:15 -08:00
*/
uint8_t totalGearsCount ;
/**
* Sets what part of injection ' s is controlled by the injection phase table .
2024-03-20 14:19:27 -07:00
* offset 1521
2023-12-19 21:03:15 -08:00
*/
InjectionTimingMode injectionTimingMode ;
/**
* See http : //rusefi.com/s/debugmode
2024-03-20 14:19:27 -07:00
* offset 1522
2023-12-19 21:03:15 -08:00
*/
debug_mode_e debugMode ;
/**
* Additional idle % when fan # 1 is active
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:19:27 -07:00
* offset 1523
2023-12-19 21:03:15 -08:00
*/
uint8_t fan1ExtraIdle ;
/**
* Band rate for primary TTL
2024-01-03 12:32:11 -08:00
* units : BPs
2024-03-20 14:19:27 -07:00
* offset 1524
2023-12-19 21:03:15 -08:00
*/
uint32_t uartConsoleSerialSpeed ;
/**
* For decel we simply multiply delta of TPS and tFor decel we do not use table ? !
2024-01-03 12:32:11 -08:00
* units : roc
2024-03-20 14:19:27 -07:00
* offset 1528
2023-12-19 21:03:15 -08:00
*/
float tpsDecelEnleanmentThreshold ;
/**
* Magic multiplier , we multiply delta of TPS and get fuel squirt duration
2024-01-03 12:32:11 -08:00
* units : coeff
2024-03-20 14:19:27 -07:00
* offset 1532
2023-12-19 21:03:15 -08:00
*/
float tpsDecelEnleanmentMultiplier ;
/**
2024-01-03 12:32:11 -08:00
* units : BPs
2024-03-20 14:19:27 -07:00
* offset 1536
2023-12-19 21:03:15 -08:00
*/
uint32_t auxSerialSpeed ;
/**
2024-01-03 12:32:11 -08:00
* units : voltage
2024-03-20 14:19:27 -07:00
* offset 1540
2023-12-19 21:03:15 -08:00
*/
float throttlePedalSecondaryUpVoltage ;
/**
* Pedal in the floor
2024-01-03 12:32:11 -08:00
* units : voltage
2024-03-20 14:19:27 -07:00
* offset 1544
2023-12-19 21:03:15 -08:00
*/
float throttlePedalSecondaryWOTVoltage ;
/**
2024-03-20 14:19:27 -07:00
* offset 1548
2023-12-19 21:03:15 -08:00
*/
can_baudrate_e canBaudRate ;
/**
* Override the Y axis ( load ) value used for the VE table .
* Advanced users only : If you aren ' t sure you need this , you probably don ' t need this .
2024-03-20 14:19:27 -07:00
* offset 1549
2023-12-19 21:03:15 -08:00
*/
ve_override_e veOverrideMode ;
/**
2024-03-20 14:19:27 -07:00
* offset 1550
2023-12-19 21:03:15 -08:00
*/
can_baudrate_e can2BaudRate ;
/**
* Override the Y axis ( load ) value used for the AFR table .
* Advanced users only : If you aren ' t sure you need this , you probably don ' t need this .
2024-03-20 14:19:27 -07:00
* offset 1551
2023-12-19 21:03:15 -08:00
*/
load_override_e afrOverrideMode ;
/**
2024-01-03 12:32:11 -08:00
* units : A
2024-03-20 14:19:27 -07:00
* offset 1552
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > mc33_hpfp_i_peak ;
/**
2024-01-03 12:32:11 -08:00
* units : A
2024-03-20 14:19:27 -07:00
* offset 1553
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > mc33_hpfp_i_hold ;
/**
* How long to deactivate power when hold current is reached before applying power again
2024-01-03 12:32:11 -08:00
* units : us
2024-03-20 14:19:27 -07:00
* offset 1554
2023-12-19 21:03:15 -08:00
*/
uint8_t mc33_hpfp_i_hold_off ;
/**
* Maximum amount of time the solenoid can be active before assuming a programming error
2024-01-03 12:32:11 -08:00
* units : ms
2024-03-20 14:19:27 -07:00
* offset 1555
2023-12-19 21:03:15 -08:00
*/
uint8_t mc33_hpfp_max_hold ;
/**
* Enable if DC - motor driver ( H - bridge ) inverts the signals ( eg . RZ7899 on Hellen boards )
2024-03-20 14:19:27 -07:00
offset 1556 bit 0 */
2023-12-19 21:03:15 -08:00
bool stepperDcInvertedPins : 1 { } ;
/**
* Allow OpenBLT on Primary CAN
2024-03-20 14:19:27 -07:00
offset 1556 bit 1 */
2023-12-19 21:03:15 -08:00
bool canOpenBLT : 1 { } ;
/**
* Allow OpenBLT on Secondary CAN
2024-03-20 14:19:27 -07:00
offset 1556 bit 2 */
2023-12-19 21:03:15 -08:00
bool can2OpenBLT : 1 { } ;
/**
* Select whether to configure injector flow in volumetric flow ( defualt , cc / min ) or mass flow ( g / s ) .
2024-03-20 14:19:27 -07:00
offset 1556 bit 3 */
2023-12-19 21:03:15 -08:00
bool injectorFlowAsMassFlow : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 4 */
2023-12-19 21:03:15 -08:00
bool boardUseCanTerminator : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 5 */
2023-12-19 21:03:15 -08:00
bool kLineDoHondaSend : 1 { } ;
/**
* ListenMode is about acknowledging CAN traffic on the protocol level . Different from canWriteEnabled
2024-03-20 14:19:27 -07:00
offset 1556 bit 6 */
2023-12-19 21:03:15 -08:00
bool can1ListenMode : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 7 */
2023-12-19 21:03:15 -08:00
bool can2ListenMode : 1 { } ;
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 8 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_8 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 9 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_9 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 10 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_10 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 11 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_11 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 12 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_12 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 13 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_13 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 14 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_14 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 15 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_15 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 16 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_16 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 17 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_17 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 18 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_18 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 19 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_19 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 20 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_20 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 21 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_21 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 22 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_22 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 23 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_23 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 24 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_24 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 25 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_25 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 26 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_26 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 27 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_27 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 28 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_28 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 29 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_29 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 30 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_30 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
offset 1556 bit 31 */
2024-05-29 11:44:57 -07:00
bool unusedBit_552_31 : 1 { } ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
* offset 1560
2023-12-19 21:03:15 -08:00
*/
uint8_t camDecoder2jzPosition ;
/**
2024-03-20 14:19:27 -07:00
* offset 1561
2023-12-19 21:03:15 -08:00
*/
2024-01-03 13:44:02 -08:00
mc33810maxDwellTimer_e mc33810maxDwellTimer ;
2023-12-19 21:03:15 -08:00
/**
* Duration of each test pulse
2024-01-03 12:32:11 -08:00
* units : ms
2024-03-20 14:19:27 -07:00
* offset 1562
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 100 , 1 > benchTestOnTime ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:19:27 -07:00
* offset 1564
2023-12-19 21:03:15 -08:00
*/
uint8_t lambdaProtectionRestoreTps ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:19:27 -07:00
* offset 1565
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 10 > lambdaProtectionRestoreLoad ;
/**
2024-03-20 14:19:27 -07:00
* offset 1566
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e launchActivatePinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 1567
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_1567 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-03-20 14:19:27 -07:00
* offset 1568
2023-12-19 21:03:15 -08:00
*/
Gpio can2TxPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 1570
2023-12-19 21:03:15 -08:00
*/
Gpio can2RxPin ;
/**
2024-03-20 14:19:27 -07:00
* offset 1572
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e starterControlPinMode ;
/**
2024-03-20 14:19:27 -07:00
* offset 1573
2023-12-19 21:03:15 -08:00
*/
adc_channel_e wastegatePositionSensor ;
/**
* Override the Y axis ( load ) value used for the ignition table .
* Advanced users only : If you aren ' t sure you need this , you probably don ' t need this .
2024-03-20 14:19:27 -07:00
* offset 1574
2023-12-19 21:03:15 -08:00
*/
load_override_e ignOverrideMode ;
/**
* Select which fuel pressure sensor measures the pressure of the fuel at your injectors .
2024-03-20 14:19:27 -07:00
* offset 1575
2023-12-19 21:03:15 -08:00
*/
injector_pressure_type_e injectorPressureType ;
/**
2024-03-20 14:19:27 -07:00
* offset 1576
2023-12-19 21:03:15 -08:00
*/
output_pin_e hpfpValvePin ;
/**
2024-03-20 14:19:27 -07:00
* offset 1578
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e hpfpValvePinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-03-20 14:19:27 -07:00
* offset 1579
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:19:27 -07:00
uint8_t alignmentFill_at_1579 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
* MAP value above which fuel is cut in case of overboost .
* Set to 0 to disable overboost cut .
2024-01-03 12:32:11 -08:00
* units : kPa ( absolute )
2024-03-20 14:19:27 -07:00
* offset 1580
2023-12-19 21:03:15 -08:00
*/
float boostCutPressure ;
/**
2024-01-03 12:32:11 -08:00
* units : kg / h
2024-03-20 14:19:27 -07:00
* offset 1584
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 5 > tchargeBins [ 16 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-03-20 14:19:27 -07:00
* offset 1600
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 100 , 1 > tchargeValues [ 16 ] ;
/**
* Fixed timing , useful for TDC testing
2024-01-03 12:32:11 -08:00
* units : deg
2024-03-20 14:19:27 -07:00
* offset 1616
2023-12-19 21:03:15 -08:00
*/
float fixedTiming ;
/**
* MAP voltage for low point
2024-01-03 12:32:11 -08:00
* units : v
2024-03-20 14:19:27 -07:00
* offset 1620
2023-12-19 21:03:15 -08:00
*/
float mapLowValueVoltage ;
/**
* MAP voltage for low point
2024-01-03 12:32:11 -08:00
* units : v
2024-03-20 14:19:27 -07:00
* offset 1624
2023-12-19 21:03:15 -08:00
*/
float mapHighValueVoltage ;
/**
* EGO value correction
2024-01-03 12:32:11 -08:00
* units : value
2024-03-20 14:19:27 -07:00
* offset 1628
2023-12-19 21:03:15 -08:00
*/
float egoValueShift ;
/**
* VVT output solenoid pin for this cam
2024-03-20 14:19:27 -07:00
* offset 1632
2023-12-19 21:03:15 -08:00
*/
output_pin_e vvtPins [ CAM_INPUTS_COUNT ] ;
/**
* This is the IAC position during cranking , some engines start better if given more air during cranking to improve cylinder filling .
2024-01-03 12:32:11 -08:00
* units : percent
2024-03-20 14:19:27 -07:00
* offset 1640
2023-12-19 21:03:15 -08:00
*/
int crankingIACposition ;
/**
2024-03-20 14:19:27 -07:00
* offset 1644
2023-12-19 21:03:15 -08:00
*/
float tChargeMinRpmMinTps ;
/**
2024-03-20 14:19:27 -07:00
* offset 1648
2023-12-19 21:03:15 -08:00
*/
float tChargeMinRpmMaxTps ;
/**
2024-03-20 14:19:27 -07:00
* offset 1652
2023-12-19 21:03:15 -08:00
*/
float tChargeMaxRpmMinTps ;
/**
2024-03-20 14:19:27 -07:00
* offset 1656
2023-12-19 21:03:15 -08:00
*/
float tChargeMaxRpmMaxTps ;
/**
2024-03-20 14:19:27 -07:00
* offset 1660
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : deg BTDC
2024-03-20 14:19:27 -07:00
* offset 1662
2023-12-19 21:03:15 -08:00
*/
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
2024-01-03 12:32:11 -08:00
* units : deg BTDC
2024-03-20 14:19:27 -07:00
* offset 1663
2023-12-19 21:03:15 -08:00
*/
int8_t maximumIgnitionTiming ;
/**
2024-01-03 12:32:11 -08:00
* units : Hz
2024-03-20 14:19:27 -07:00
* offset 1664
2023-12-19 21:03:15 -08:00
*/
int alternatorPwmFrequency ;
/**
* set vvt_mode X
2024-03-20 14:19:27 -07:00
* offset 1668
2023-12-19 21:03:15 -08:00
*/
vvt_mode_e vvtMode [ CAMS_PER_BANK ] ;
/**
* Additional idle % when fan # 2 is active
2024-01-03 12:32:11 -08:00
* units : %
2024-03-20 14:19:27 -07:00
* offset 1670
2023-12-19 21:03:15 -08:00
*/
uint8_t fan2ExtraIdle ;
/**
* Delay to allow fuel pressure to build before firing the priming pulse .
2024-01-03 12:32:11 -08:00
* units : sec
2024-03-20 14:19:27 -07:00
* offset 1671
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 100 , 1 > primingDelay ;
/**
2024-03-20 14:19:27 -07:00
* offset 1672
2023-12-19 21:03:15 -08:00
*/
adc_channel_e auxAnalogInputs [ LUA_ANALOG_INPUT_COUNT ] ;
/**
2024-03-20 14:19:27 -07:00
* offset 1680
2023-12-19 21:03:15 -08:00
*/
output_pin_e trailingCoilPins [ MAX_CYLINDER_COUNT ] ;
/**
2024-03-20 14:19:27 -07:00
* offset 1704
2023-12-19 21:03:15 -08:00
*/
tle8888_mode_e tle8888mode ;
/**
2024-03-20 14:19:27 -07:00
* offset 1705
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e accelerometerCsPinMode ;
/**
* None = I have a MAP - referenced fuel pressure regulator
* Fixed rail pressure = I have an atmosphere - referenced fuel pressure regulator ( returnless , typically )
* Sensed rail pressure = I have a fuel pressure sensor
2024-03-20 14:19:27 -07:00
* offset 1706
2023-12-19 21:03:15 -08:00
*/
injector_compensation_mode_e injectorCompensationMode ;
/**
2024-03-20 14:19:27 -07:00
* offset 1707
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e fan2PinMode ;
/**
* This is the pressure at which your injector flow is known .
* For example if your injectors flow 400 cc / min at 3.5 bar , enter 350 kpa here .
2024-01-03 12:32:11 -08:00
* units : kPa
2024-03-20 14:19:27 -07:00
* offset 1708
2023-12-19 21:03:15 -08:00
*/
float fuelReferencePressure ;
/**
2024-01-03 12:32:11 -08:00
* units : mult
2024-03-20 14:19:27 -07:00
* offset 1712
2023-12-19 21:03:15 -08:00
*/
float postCrankingFactor [ CRANKING_ENRICH_COUNT ] [ CRANKING_ENRICH_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : count
2024-03-20 14:19:27 -07:00
* offset 1856
2023-12-19 21:03:15 -08:00
*/
float postCrankingDurationBins [ CRANKING_ENRICH_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : C
2024-03-20 14:19:27 -07:00
* offset 1880
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
int16_t postCrankingCLTBins [ CRANKING_ENRICH_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 1892
2023-12-19 21:03:15 -08:00
*/
ThermistorConf auxTempSensor1 ;
/**
2024-06-05 19:28:23 -07:00
* offset 1924
2023-12-19 21:03:15 -08:00
*/
ThermistorConf auxTempSensor2 ;
/**
2024-01-03 12:32:11 -08:00
* units : Deg
2024-06-05 19:28:23 -07:00
* offset 1956
2023-12-19 21:03:15 -08:00
*/
int16_t knockSamplingDuration ;
/**
2024-01-03 12:32:11 -08:00
* units : Hz
2024-06-05 19:28:23 -07:00
* offset 1958
2023-12-19 21:03:15 -08:00
*/
int16_t etbFreq ;
/**
2024-06-05 19:28:23 -07:00
* offset 1960
2023-12-19 21:03:15 -08:00
*/
pid_s etbWastegatePid ;
/**
* For micro - stepping , make sure that PWM frequency ( etbFreq ) is high enough
2024-06-05 19:28:23 -07:00
* offset 1980
2023-12-19 21:03:15 -08:00
*/
stepper_num_micro_steps_e stepperNumMicroSteps ;
/**
* Use to limit the current when the stepper motor is idle , not moving ( 100 % = no limit )
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 1981
2023-12-19 21:03:15 -08:00
*/
uint8_t stepperMinDutyCycle ;
/**
* Use to limit the max . current through the stepper motor ( 100 % = no limit )
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 1982
2023-12-19 21:03:15 -08:00
*/
uint8_t stepperMaxDutyCycle ;
/**
2024-06-05 19:28:23 -07:00
* offset 1983
2023-12-19 21:03:15 -08:00
*/
spi_device_e sdCardSpiDevice ;
/**
2024-01-17 08:24:14 -08:00
* per - cylinder ignition and fueling timing correction for uneven engines
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-05 19:28:23 -07:00
* offset 1984
2023-12-19 21:03:15 -08:00
*/
angle_t timing_offset_cylinder [ MAX_CYLINDER_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : seconds
2024-06-05 19:28:23 -07:00
* offset 2032
2023-12-19 21:03:15 -08:00
*/
float idlePidActivationTime ;
/**
2024-06-05 19:28:23 -07:00
* offset 2036
2023-12-19 21:03:15 -08:00
*/
pin_mode_e spi1SckMode ;
/**
* Modes count be used for 3 v < > 5 v integration using pull - ups / pull - downs etc .
2024-06-05 19:28:23 -07:00
* offset 2037
2023-12-19 21:03:15 -08:00
*/
pin_mode_e spi1MosiMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 2038
2023-12-19 21:03:15 -08:00
*/
pin_mode_e spi1MisoMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 2039
2023-12-19 21:03:15 -08:00
*/
pin_mode_e spi2SckMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 2040
2023-12-19 21:03:15 -08:00
*/
pin_mode_e spi2MosiMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 2041
2023-12-19 21:03:15 -08:00
*/
pin_mode_e spi2MisoMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 2042
2023-12-19 21:03:15 -08:00
*/
pin_mode_e spi3SckMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 2043
2023-12-19 21:03:15 -08:00
*/
pin_mode_e spi3MosiMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 2044
2023-12-19 21:03:15 -08:00
*/
pin_mode_e spi3MisoMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 2045
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e stepperEnablePinMode ;
/**
* ResetB
2024-06-05 19:28:23 -07:00
* offset 2046
2023-12-19 21:03:15 -08:00
*/
Gpio mc33816_rstb ;
/**
2024-06-05 19:28:23 -07:00
* offset 2048
2023-12-19 21:03:15 -08:00
*/
Gpio mc33816_driven ;
/**
* Brake pedal switch
2024-06-05 19:28:23 -07:00
* offset 2050
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e brakePedalPin ;
/**
* VVT output PID
* TODO : rename to vvtPid
2024-06-05 19:28:23 -07:00
* offset 2052
2023-12-19 21:03:15 -08:00
*/
pid_s auxPid [ CAMS_PER_BANK ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 2092
2023-12-19 21:03:15 -08:00
*/
float injectorCorrectionPolynomial [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 2124
2023-12-19 21:03:15 -08:00
*/
int8_t primeBins [ PRIME_CURVE_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 2132
2023-12-19 21:03:15 -08:00
*/
linear_sensor_s oilPressure ;
/**
2024-06-05 19:28:23 -07:00
* offset 2152
2023-12-19 21:03:15 -08:00
*/
spi_device_e accelerometerSpiDevice ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 2153
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_2153 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 2154
2023-12-19 21:03:15 -08:00
*/
output_pin_e fan2Pin ;
/**
* Cooling fan turn - on temperature threshold , in Celsius
2024-01-03 12:32:11 -08:00
* units : deg C
2024-06-05 19:28:23 -07:00
* offset 2156
2023-12-19 21:03:15 -08:00
*/
uint8_t fan2OnTemperature ;
/**
* Cooling fan turn - off temperature threshold , in Celsius
2024-01-03 12:32:11 -08:00
* units : deg C
2024-06-05 19:28:23 -07:00
* offset 2157
2023-12-19 21:03:15 -08:00
*/
uint8_t fan2OffTemperature ;
/**
2024-06-05 19:28:23 -07:00
* offset 2158
2023-12-19 21:03:15 -08:00
*/
Gpio stepperEnablePin ;
/**
2024-06-05 19:28:23 -07:00
* offset 2160
2023-12-19 21:03:15 -08:00
*/
Gpio tle8888_cs ;
/**
2024-06-05 19:28:23 -07:00
* offset 2162
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e tle8888_csPinMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 2163
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_2163 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 2164
2023-12-19 21:03:15 -08:00
*/
Gpio mc33816_cs ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 2166
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_2166 [ 2 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : hz
2024-06-05 19:28:23 -07:00
* offset 2168
2023-12-19 21:03:15 -08:00
*/
float auxFrequencyFilter ;
/**
2024-06-05 19:28:23 -07:00
* offset 2172
2023-12-19 21:03:15 -08:00
*/
sent_input_pin_e sentInputPins [ SENT_INPUT_COUNT ] ;
/**
* This sets the RPM above which fuel cut is active .
2024-01-03 12:32:11 -08:00
* units : rpm
2024-06-05 19:28:23 -07:00
* offset 2174
2023-12-19 21:03:15 -08:00
*/
int16_t coastingFuelCutRpmHigh ;
/**
* This sets the RPM below which fuel cut is deactivated , this prevents jerking or issues transitioning to idle
2024-01-03 12:32:11 -08:00
* units : rpm
2024-06-05 19:28:23 -07:00
* offset 2176
2023-12-19 21:03:15 -08:00
*/
int16_t coastingFuelCutRpmLow ;
/**
* Throttle position below which fuel cut is active . With an electronic throttle enabled , this checks against pedal position .
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 2178
2023-12-19 21:03:15 -08:00
*/
int16_t coastingFuelCutTps ;
/**
* Fuel cutoff is disabled when the engine is cold .
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 2180
2023-12-19 21:03:15 -08:00
*/
int16_t coastingFuelCutClt ;
/**
* Increases PID reaction for RPM < target by adding extra percent to PID - error
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 2182
2023-12-19 21:03:15 -08:00
*/
int16_t pidExtraForLowRpm ;
/**
* MAP value above which fuel injection is re - enabled .
2024-01-03 12:32:11 -08:00
* units : kPa
2024-06-05 19:28:23 -07:00
* offset 2184
2023-12-19 21:03:15 -08:00
*/
int16_t coastingFuelCutMap ;
/**
2024-03-20 14:09:51 -07:00
* need 4 byte alignment
* units : units
2024-06-05 19:28:23 -07:00
* offset 2186
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_2186 [ 2 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 2188
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
linear_sensor_s highPressureFuel ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 2208
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
linear_sensor_s lowPressureFuel ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 2228
2023-12-19 21:03:15 -08:00
*/
gppwm_note_t scriptCurveName [ SCRIPT_CURVE_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 2324
2023-12-19 21:03:15 -08:00
*/
gppwm_note_t scriptTableName [ SCRIPT_TABLE_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 2388
2023-12-19 21:03:15 -08:00
*/
gppwm_note_t scriptSettingName [ SCRIPT_SETTING_COUNT ] ;
/**
* Heat transfer coefficient at zero flow .
* 0 means the air charge is fully heated to the same temperature as CLT .
* 1 means the air charge gains no heat , and enters the cylinder at the temperature measured by IAT .
2024-06-05 19:28:23 -07:00
* offset 2516
2023-12-19 21:03:15 -08:00
*/
float tChargeAirCoefMin ;
/**
* Heat transfer coefficient at high flow , as defined by " max air flow " .
* 0 means the air charge is fully heated to the same temperature as CLT .
* 1 means the air charge gains no heat , and enters the cylinder at the temperature measured by IAT .
2024-06-05 19:28:23 -07:00
* offset 2520
2023-12-19 21:03:15 -08:00
*/
float tChargeAirCoefMax ;
/**
* High flow point for heat transfer estimation .
* Set this to perhaps 50 - 75 % of your maximum airflow at wide open throttle .
2024-01-03 12:32:11 -08:00
* units : kg / h
2024-06-05 19:28:23 -07:00
* offset 2524
2023-12-19 21:03:15 -08:00
*/
float tChargeAirFlowMax ;
/**
* Maximum allowed rate of increase allowed for the estimated charge temperature
2024-01-03 12:32:11 -08:00
* units : deg / sec
2024-06-05 19:28:23 -07:00
* offset 2528
2023-12-19 21:03:15 -08:00
*/
float tChargeAirIncrLimit ;
/**
* Maximum allowed rate of decrease allowed for the estimated charge temperature
2024-01-03 12:32:11 -08:00
* units : deg / sec
2024-06-05 19:28:23 -07:00
* offset 2532
2023-12-19 21:03:15 -08:00
*/
float tChargeAirDecrLimit ;
/**
2024-06-05 19:28:23 -07:00
* offset 2536
2023-12-19 21:03:15 -08:00
*/
float hip9011Gain ;
/**
* iTerm min value
2024-06-05 19:28:23 -07:00
* offset 2540
2023-12-19 21:03:15 -08:00
*/
int16_t etb_iTermMin ;
/**
* iTerm max value
2024-06-05 19:28:23 -07:00
* offset 2542
2023-12-19 21:03:15 -08:00
*/
int16_t etb_iTermMax ;
/**
* See useIdleTimingPidControl
2024-06-05 19:28:23 -07:00
* offset 2544
2023-12-19 21:03:15 -08:00
*/
pid_s idleTimingPid ;
/**
* When entering idle , and the PID settings are aggressive , it ' s good to make a soft entry upon entering closed loop
2024-06-05 19:28:23 -07:00
* offset 2564
2023-12-19 21:03:15 -08:00
*/
float idleTimingSoftEntryTime ;
/**
* By the way ETB PID runs at 500 hz , length in 1 / 500 of second here .
2024-06-05 19:28:23 -07:00
* offset 2568
2023-12-19 21:03:15 -08:00
*/
int16_t etbRocExpAverageLength ;
/**
* A delay in cycles between fuel - enrich . portions
2024-01-03 12:32:11 -08:00
* units : cycles
2024-06-05 19:28:23 -07:00
* offset 2570
2023-12-19 21:03:15 -08:00
*/
int16_t tpsAccelFractionPeriod ;
/**
* A fraction divisor : 1 or less = entire portion at once , or split into diminishing fractions
2024-01-03 12:32:11 -08:00
* units : coef
2024-06-05 19:28:23 -07:00
* offset 2572
2023-12-19 21:03:15 -08:00
*/
float tpsAccelFractionDivisor ;
/**
2024-06-05 19:28:23 -07:00
* offset 2576
2023-12-19 21:03:15 -08:00
*/
spi_device_e tle8888spiDevice ;
/**
2024-06-05 19:28:23 -07:00
* offset 2577
2023-12-19 21:03:15 -08:00
*/
spi_device_e mc33816spiDevice ;
/**
* iTerm min value
2024-06-05 19:28:23 -07:00
* offset 2578
2023-12-19 21:03:15 -08:00
*/
int16_t idlerpmpid_iTermMin ;
/**
2024-06-05 19:28:23 -07:00
* offset 2580
2023-12-19 21:03:15 -08:00
*/
spi_device_e tle6240spiDevice ;
/**
* Stoichiometric ratio for your primary fuel . When Flex Fuel is enabled , this value is used when the Flex Fuel sensor indicates E0 .
* E0 = 14.7
* E10 = 14.1
* E85 = 9.9
* E100 = 9.0
2024-01-03 12:32:11 -08:00
* units : : 1
2024-06-05 19:28:23 -07:00
* offset 2581
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > stoichRatioPrimary ;
/**
* iTerm max value
2024-06-05 19:28:23 -07:00
* offset 2582
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 2584
2023-12-19 21:03:15 -08:00
*/
float etbIdleThrottleRange ;
/**
* Select which fuel correction bank this cylinder belongs to . Group cylinders that share the same O2 sensor
2024-06-05 19:28:23 -07:00
* offset 2588
2023-12-19 21:03:15 -08:00
*/
uint8_t cylinderBankSelect [ MAX_CYLINDER_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : mg
2024-06-05 19:28:23 -07:00
* offset 2600
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 5 > primeValues [ PRIME_CURVE_COUNT ] ;
/**
* Trigger comparator center point voltage
2024-01-03 12:32:11 -08:00
* units : V
2024-06-05 19:28:23 -07:00
* offset 2608
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 50 , 1 > triggerCompCenterVolt ;
/**
* Trigger comparator hysteresis voltage ( Min )
2024-01-03 12:32:11 -08:00
* units : V
2024-06-05 19:28:23 -07:00
* offset 2609
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 50 , 1 > triggerCompHystMin ;
/**
* Trigger comparator hysteresis voltage ( Max )
2024-01-03 12:32:11 -08:00
* units : V
2024-06-05 19:28:23 -07:00
* offset 2610
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 50 , 1 > triggerCompHystMax ;
/**
* VR - sensor saturation RPM
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 2611
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 50 > triggerCompSensorSatRpm ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 2612
2023-12-19 21:03:15 -08:00
*/
2023-12-31 14:07:38 -08:00
scaled_channel < uint16_t , 100 , 1 > tractionControlSlipBins [ TRACTION_CONTROL_ETB_DROP_SIZE ] ;
2023-12-31 12:19:26 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 2624
2023-12-31 12:19:26 -08:00
*/
uint8_t tractionControlSpeedBins [ TRACTION_CONTROL_ETB_DROP_SIZE ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 2630
2023-12-31 12:19:26 -08:00
*/
2024-01-13 18:36:38 -08:00
int8_t disableFan1AtSpeed ;
/**
2024-06-05 19:28:23 -07:00
* offset 2631
2024-01-13 18:36:38 -08:00
*/
int8_t disableFan2AtSpeed ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 2632
2023-12-19 21:03:15 -08:00
*/
can_vss_nbc_e canVssNbcType ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 2634
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_2634 [ 2 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 2636
2023-12-19 21:03:15 -08:00
*/
gppwm_channel gppwm [ GPPWM_CHANNELS ] ;
/**
* Boost Current
2024-01-03 12:32:11 -08:00
* units : mA
2024-06-05 19:28:23 -07:00
* offset 3068
2023-12-19 21:03:15 -08:00
*/
uint16_t mc33_i_boost ;
/**
* Peak Current
2024-01-03 12:32:11 -08:00
* units : mA
2024-06-05 19:28:23 -07:00
* offset 3070
2023-12-19 21:03:15 -08:00
*/
uint16_t mc33_i_peak ;
/**
* Hold Current
2024-01-03 12:32:11 -08:00
* units : mA
2024-06-05 19:28:23 -07:00
* offset 3072
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : us
2024-06-05 19:28:23 -07:00
* offset 3074
2023-12-19 21:03:15 -08:00
*/
uint16_t mc33_t_max_boost ;
/**
2024-01-03 12:32:11 -08:00
* units : us
2024-06-05 19:28:23 -07:00
* offset 3076
2023-12-19 21:03:15 -08:00
*/
uint16_t mc33_t_peak_off ;
/**
* Peak phase duration
2024-01-03 12:32:11 -08:00
* units : us
2024-06-05 19:28:23 -07:00
* offset 3078
2023-12-19 21:03:15 -08:00
*/
uint16_t mc33_t_peak_tot ;
/**
2024-01-03 12:32:11 -08:00
* units : us
2024-06-05 19:28:23 -07:00
* offset 3080
2023-12-19 21:03:15 -08:00
*/
uint16_t mc33_t_bypass ;
/**
2024-01-03 12:32:11 -08:00
* units : us
2024-06-05 19:28:23 -07:00
* offset 3082
2023-12-19 21:03:15 -08:00
*/
uint16_t mc33_t_hold_off ;
/**
* Hold phase duration
2024-01-03 12:32:11 -08:00
* units : us
2024-06-05 19:28:23 -07:00
* offset 3084
2023-12-19 21:03:15 -08:00
*/
uint16_t mc33_t_hold_tot ;
/**
2024-06-05 19:28:23 -07:00
* offset 3086
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e tcuUpshiftButtonPinMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3087
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e tcuDownshiftButtonPinMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3088
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e acSwitchMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3089
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
pin_output_mode_e tcu_solenoid_mode [ TCU_SOLENOID_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3095
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3095 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 3096
2023-12-19 21:03:15 -08:00
*/
float triggerGapOverrideFrom [ GAP_TRACKING_LENGTH ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 3168
2023-12-19 21:03:15 -08:00
*/
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 .
2024-01-03 12:32:11 -08:00
* units : rpm
2024-06-05 19:28:23 -07:00
* offset 3240
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 50 > maxCamPhaseResolveRpm ;
/**
* Delay before cutting fuel . Set to 0 to cut immediately with no delay . May cause rumbles and pops out of your exhaust . . .
2024-01-03 12:32:11 -08:00
* units : sec
2024-06-05 19:28:23 -07:00
* offset 3241
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > 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 .
2024-01-03 12:32:11 -08:00
* units : sec
2024-06-05 19:28:23 -07:00
* offset 3242
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > acDelay ;
/**
2024-06-05 19:28:23 -07:00
* offset 3243
2023-12-19 21:03:15 -08:00
*/
2024-03-20 14:09:51 -07:00
tChargeMode_e tChargeMode ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : mg
2024-06-05 19:28:23 -07:00
* offset 3244
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 1000 , 1 > fordInjectorSmallPulseBreakPoint ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3246
2023-12-19 21:03:15 -08:00
*/
uint8_t etbJamIntegratorLimit ;
/**
2024-01-03 12:32:11 -08:00
* units : lobes / cam
2024-06-05 19:28:23 -07:00
* offset 3247
2023-12-19 21:03:15 -08:00
*/
uint8_t hpfpCamLobes ;
/**
2024-06-05 19:28:23 -07:00
* offset 3248
2023-12-19 21:03:15 -08:00
*/
hpfp_cam_e hpfpCam ;
/**
2024-06-09 12:12:46 -07:00
* Low engine speed for A / C . Larger engines can survive lower values
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 3249
2023-12-19 21:03:15 -08:00
*/
2024-06-09 12:12:46 -07:00
scaled_channel < int8_t , 1 , 10 > acLowRpmLimit ;
2023-12-19 21:03:15 -08:00
/**
* If the requested activation time is below this angle , don ' t bother running the pump
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-05 19:28:23 -07:00
* offset 3250
2023-12-19 21:03:15 -08:00
*/
uint8_t hpfpMinAngle ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3251
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3251 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
* Size of the pump chamber in cc . Typical Bosch HDP5 has a 9.0 mm diameter , typical BMW N * stroke is 4.4 mm .
2024-01-03 12:32:11 -08:00
* units : cc
2024-06-05 19:28:23 -07:00
* offset 3252
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 1000 , 1 > 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 )
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-05 19:28:23 -07:00
* offset 3254
2023-12-19 21:03:15 -08:00
*/
uint8_t hpfpActivationAngle ;
/**
2024-06-05 19:28:23 -07:00
* offset 3255
2023-12-19 21:03:15 -08:00
*/
uint8_t issFilterReciprocal ;
/**
2024-01-03 12:32:11 -08:00
* units : % / kPa
2024-06-05 19:28:23 -07:00
* offset 3256
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 1000 , 1 > hpfpPidP ;
/**
2024-01-03 12:32:11 -08:00
* units : % / kPa / lobe
2024-06-05 19:28:23 -07:00
* offset 3258
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 100000 , 1 > 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 .
2024-01-03 12:32:11 -08:00
* units : kPa / s
2024-06-05 19:28:23 -07:00
* offset 3260
2023-12-19 21:03:15 -08:00
*/
uint16_t hpfpTargetDecay ;
/**
2024-06-05 19:28:23 -07:00
* offset 3262
2023-12-19 21:03:15 -08:00
*/
output_pin_e stepper_raw_output [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 3270
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 100 , 1 > gearRatio [ TCU_GEAR_COUNT ] ;
/**
* We need to give engine time to build oil pressure without diverting it to VVT
2024-01-03 12:32:11 -08:00
* units : ms
2024-06-05 19:28:23 -07:00
* offset 3290
2023-12-19 21:03:15 -08:00
*/
uint16_t vvtActivationDelayMs ;
/**
2024-01-03 12:32:11 -08:00
* units : Nm
2024-06-05 19:28:23 -07:00
* offset 3292
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 10 > torqueTable [ TORQUE_CURVE_SIZE ] [ TORQUE_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 3328
2023-12-19 21:03:15 -08:00
*/
uint16_t torqueRpmBins [ TORQUE_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : Load
2024-06-05 19:28:23 -07:00
* offset 3340
2023-12-19 21:03:15 -08:00
*/
uint16_t torqueLoadBins [ TORQUE_CURVE_SIZE ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 3352
2023-12-19 21:03:15 -08:00
*/
GearControllerMode gearControllerMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3353
2023-12-19 21:03:15 -08:00
*/
TransmissionControllerMode transmissionControllerMode ;
/**
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-05 19:28:23 -07:00
* offset 3354
2023-12-19 21:03:15 -08:00
*/
uint16_t acrDisablePhase ;
/**
2024-06-05 19:28:23 -07:00
* offset 3356
2023-12-19 21:03:15 -08:00
*/
linear_sensor_s auxLinear1 ;
/**
2024-06-05 19:28:23 -07:00
* offset 3376
2023-12-19 21:03:15 -08:00
*/
linear_sensor_s auxLinear2 ;
/**
2024-06-05 19:28:23 -07:00
* offset 3396
2023-12-19 21:03:15 -08:00
*/
output_pin_e tcu_tcc_onoff_solenoid ;
/**
2024-06-05 19:28:23 -07:00
* offset 3398
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e tcu_tcc_onoff_solenoid_mode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3399
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3399 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3400
2023-12-19 21:03:15 -08:00
*/
output_pin_e tcu_tcc_pwm_solenoid ;
/**
2024-06-05 19:28:23 -07:00
* offset 3402
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e tcu_tcc_pwm_solenoid_mode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3403
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3403 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3404
2023-12-19 21:03:15 -08:00
*/
pwm_freq_t tcu_tcc_pwm_solenoid_freq ;
/**
2024-06-05 19:28:23 -07:00
* offset 3406
2023-12-19 21:03:15 -08:00
*/
output_pin_e tcu_pc_solenoid_pin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3408
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e tcu_pc_solenoid_pin_mode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3409
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3409 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3410
2023-12-19 21:03:15 -08:00
*/
pwm_freq_t tcu_pc_solenoid_freq ;
/**
2024-06-05 19:28:23 -07:00
* offset 3412
2023-12-19 21:03:15 -08:00
*/
output_pin_e tcu_32_solenoid_pin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3414
2023-12-19 21:03:15 -08:00
*/
pin_output_mode_e tcu_32_solenoid_pin_mode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3415
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3415 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3416
2023-12-19 21:03:15 -08:00
*/
pwm_freq_t tcu_32_solenoid_freq ;
/**
2024-06-05 19:28:23 -07:00
* offset 3418
2023-12-19 21:03:15 -08:00
*/
output_pin_e acrPin2 ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3420
2023-12-19 21:03:15 -08:00
*/
float etbMinimumPosition ;
/**
2024-06-05 19:28:23 -07:00
* offset 3424
2023-12-19 21:03:15 -08:00
*/
uint16_t tuneHidingKey ;
/**
2024-06-05 19:28:23 -07:00
* offset 3426
2023-12-19 21:03:15 -08:00
*/
vin_number_t vinNumber ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3443
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3443 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3444
2023-12-19 21:03:15 -08:00
*/
uint16_t highSpeedOffsets [ HIGH_SPEED_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 3508
2023-12-19 21:03:15 -08:00
*/
fuel_pressure_sensor_mode_e fuelPressureSensorMode ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3509
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3509 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3510
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e luaDigitalInputPins [ LUA_DIGITAL_INPUT_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : rpm
2024-06-05 19:28:23 -07:00
* offset 3526
2023-12-19 21:03:15 -08:00
*/
int16_t ALSMinRPM ;
/**
2024-01-03 12:32:11 -08:00
* units : rpm
2024-06-05 19:28:23 -07:00
* offset 3528
2023-12-19 21:03:15 -08:00
*/
int16_t ALSMaxRPM ;
/**
2024-01-03 12:32:11 -08:00
* units : sec
2024-06-05 19:28:23 -07:00
* offset 3530
2023-12-19 21:03:15 -08:00
*/
int16_t ALSMaxDuration ;
/**
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 3532
2023-12-19 21:03:15 -08:00
*/
int8_t ALSMinCLT ;
/**
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 3533
2023-12-19 21:03:15 -08:00
*/
int8_t ALSMaxCLT ;
/**
2024-06-05 19:28:23 -07:00
* offset 3534
2023-12-19 21:03:15 -08:00
*/
uint8_t alsMinTimeBetween ;
/**
2024-06-05 19:28:23 -07:00
* offset 3535
2023-12-19 21:03:15 -08:00
*/
uint8_t alsEtbPosition ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3536
2023-12-19 21:03:15 -08:00
*/
uint8_t acRelayAlternatorDutyAdder ;
/**
2024-06-05 19:28:23 -07:00
* offset 3537
2023-12-19 21:03:15 -08:00
*/
SentEtbType sentEtbType ;
/**
2024-06-05 19:28:23 -07:00
* offset 3538
2023-12-19 21:03:15 -08:00
*/
uint16_t customSentTpsMin ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3540
2023-12-19 21:03:15 -08:00
*/
int ALSIdleAdd ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3544
2023-12-19 21:03:15 -08:00
*/
int ALSEtbAdd ;
/**
2024-06-05 19:28:23 -07:00
* offset 3548
2023-12-19 21:03:15 -08:00
*/
float ALSSkipRatio ;
/**
2024-06-05 19:28:23 -07:00
* offset 3552
2023-12-19 21:03:15 -08:00
*/
2024-04-23 20:40:23 -07:00
uint8_t unusedSorry11 ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3553
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e ALSActivatePinMode ;
/**
* For Ford TPS , use 53 % . For Toyota ETCS - i , use ~ 65 %
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3554
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 2 , 1 > tpsSecondaryMaximum ;
/**
* For Toyota ETCS - i , use ~ 69 %
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3555
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 2 , 1 > ppsSecondaryMaximum ;
/**
2024-06-05 19:28:23 -07:00
* offset 3556
2023-12-19 21:03:15 -08:00
*/
pin_input_mode_e luaDigitalInputPinModes [ LUA_DIGITAL_INPUT_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 3564
2023-12-19 21:03:15 -08:00
*/
uint16_t customSentTpsMax ;
/**
2024-06-05 19:28:23 -07:00
* offset 3566
2023-12-19 21:03:15 -08:00
*/
uint16_t kLineBaudRate ;
/**
2024-06-05 19:28:23 -07:00
* offset 3568
2023-12-19 21:03:15 -08:00
*/
CanGpioType canGpioType ;
/**
2024-06-05 19:28:23 -07:00
* offset 3569
2023-12-19 21:03:15 -08:00
*/
UiMode uiMode ;
/**
* Crank angle ATDC of first lobe peak
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-05 19:28:23 -07:00
* offset 3570
2023-12-19 21:03:15 -08:00
*/
int16_t hpfpPeakPos ;
/**
2024-01-03 12:32:11 -08:00
* units : us
2024-06-05 19:28:23 -07:00
* offset 3572
2023-12-19 21:03:15 -08:00
*/
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 6800 RPM , creating a 200 rpm window )
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 3574
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 10 > rpmSoftLimitWindowSize ;
/**
* Degrees of timing REMOVED from actual timing during soft RPM limit window
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-05 19:28:23 -07:00
* offset 3575
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 5 , 1 > rpmSoftLimitTimingRetard ;
/**
* % of fuel ADDED during window
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3576
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 5 , 1 > rpmSoftLimitFuelAdded ;
/**
* Hysterisis : if the hard limit is 7200 rpm and rpmHardLimitHyst is 200 rpm , then when the ECU sees 7200 rpm , fuel / ign will cut , and stay cut until 7000 rpm ( 7200 - 200 ) is reached
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 3577
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 10 > rpmHardLimitHyst ;
/**
* Time between bench test pulses
2024-01-03 12:32:11 -08:00
* units : ms
2024-06-05 19:28:23 -07:00
* offset 3578
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 10 , 1 > benchTestOffTime ;
/**
* Hysterisis : if hard cut is 240 kpa , and boostCutPressureHyst is 20 , when the ECU sees 240 kpa , fuel / ign will cut , and stay cut until 240 - 20 = 220 kpa is reached
2024-01-03 12:32:11 -08:00
* units : kPa ( absolute )
2024-06-05 19:28:23 -07:00
* offset 3580
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 2 , 1 > boostCutPressureHyst ;
/**
2024-03-09 12:29:41 -08:00
* Boost duty cycle modified by gear
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3581
2023-12-19 21:03:15 -08:00
*/
2024-03-09 12:29:41 -08:00
scaled_channel < int8_t , 2 , 1 > gearBasedOpenLoopBoostAdder [ TCU_GEAR_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3591
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3591 [ 1 ] ;
2023-12-19 21:03:15 -08:00
/**
* How many test bench pulses do you want
2024-06-05 19:28:23 -07:00
* offset 3592
2023-12-19 21:03:15 -08:00
*/
uint32_t benchTestCount ;
/**
* How long initial IAC adder is held before starting to decay .
2024-01-03 12:32:11 -08:00
* units : seconds
2024-06-05 19:28:23 -07:00
* offset 3596
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > iacByTpsHoldTime ;
/**
* How long it takes to remove initial IAC adder to return to normal idle .
2024-01-03 12:32:11 -08:00
* units : seconds
2024-06-05 19:28:23 -07:00
* offset 3597
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > iacByTpsDecayTime ;
/**
2024-06-05 19:28:23 -07:00
* offset 3598
2023-12-19 21:03:15 -08:00
*/
switch_input_pin_e tcu_rangeInput [ RANGE_INPUT_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 3610
2023-12-19 21:03:15 -08:00
*/
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 50 kph , ECU will report 55 kph instead .
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 3616
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 10000 , 1 > canVssScaling ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3618
2023-12-19 21:03:15 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3618 [ 2 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3620
2023-12-19 21:03:15 -08:00
*/
ThermistorConf oilTempSensor ;
/**
2024-06-05 19:28:23 -07:00
* offset 3652
2023-12-19 21:03:15 -08:00
*/
ThermistorConf fuelTempSensor ;
/**
2024-06-05 19:28:23 -07:00
* offset 3684
2023-12-19 21:03:15 -08:00
*/
ThermistorConf ambientTempSensor ;
/**
2024-06-05 19:28:23 -07:00
* offset 3716
2023-12-19 21:03:15 -08:00
*/
ThermistorConf compressorDischargeTemperature ;
/**
* Place the sensor before the throttle , but after any turbocharger / supercharger and intercoolers if fitted . Uses the same calibration as the MAP sensor .
2024-06-05 19:28:23 -07:00
* offset 3748
2023-12-19 21:03:15 -08:00
*/
adc_channel_e throttleInletPressureChannel ;
/**
* Place the sensor after the turbocharger / supercharger , but before any intercoolers if fitted . Uses the same calibration as the MAP sensor .
2024-06-05 19:28:23 -07:00
* offset 3749
2023-12-19 21:03:15 -08:00
*/
adc_channel_e compressorDischargePressureChannel ;
/**
2024-06-05 19:28:23 -07:00
* offset 3750
2023-12-19 21:03:15 -08:00
*/
Gpio dacOutputPins [ DAC_OUTPUT_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 3754
2023-12-19 21:03:15 -08:00
*/
output_pin_e speedometerOutputPin ;
/**
* Number of speedometer pulses per kilometer travelled .
2024-06-05 19:28:23 -07:00
* offset 3756
2023-12-19 21:03:15 -08:00
*/
uint16_t speedometerPulsePerKm ;
/**
2024-06-05 19:28:23 -07:00
* offset 3758
2023-12-19 21:03:15 -08:00
*/
uint8_t simulatorCamPosition [ CAM_INPUTS_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 3762
2023-12-19 21:03:15 -08:00
*/
adc_channel_e ignKeyAdcChannel ;
/**
2024-06-05 19:28:23 -07:00
* offset 3763
2023-12-19 21:03:15 -08:00
*/
2024-02-26 17:11:24 -08:00
pin_mode_e spi6MisoMode ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 3764
2023-12-19 21:03:15 -08:00
*/
float triggerVVTGapOverrideFrom [ VVT_TRACKING_LENGTH ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 3780
2023-12-19 21:03:15 -08:00
*/
float triggerVVTGapOverrideTo [ VVT_TRACKING_LENGTH ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 3796
2023-12-19 21:03:15 -08:00
*/
2023-12-31 12:19:26 -08:00
int8_t tractionControlEtbDrop [ TRACTION_CONTROL_ETB_DROP_SIZE ] [ TRACTION_CONTROL_ETB_DROP_SIZE ] ;
/**
2024-01-07 10:32:19 -08:00
* If injector duty cycle hits this value , instantly cut fuel .
* units : %
2024-06-05 19:28:23 -07:00
* offset 3832
2023-12-31 12:19:26 -08:00
*/
2024-01-07 10:32:19 -08:00
uint8_t maxInjectorDutyInstant ;
/**
* If injector duty cycle hits this value for the specified delay time , cut fuel .
* units : %
2024-06-05 19:28:23 -07:00
* offset 3833
2024-01-07 10:32:19 -08:00
*/
uint8_t maxInjectorDutySustained ;
/**
* Timeout period for duty cycle over the sustained limit to trigger duty cycle protection .
* units : sec
2024-06-05 19:28:23 -07:00
* offset 3834
2024-01-07 10:32:19 -08:00
*/
scaled_channel < uint8_t , 10 , 1 > maxInjectorDutySustainedTimeout ;
/**
2024-01-07 15:18:17 -08:00
* need 4 byte alignment
2024-01-07 10:32:19 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3835
2024-01-07 10:32:19 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3835 [ 1 ] ;
2024-01-07 15:18:17 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3836
2024-01-07 15:18:17 -08:00
*/
output_pin_e injectionPinsStage2 [ MAX_CYLINDER_COUNT ] ;
2024-01-07 10:32:19 -08:00
/**
2024-02-01 17:07:44 -08:00
* units : Deg
2024-06-05 19:28:23 -07:00
* offset 3860
2024-01-07 10:32:19 -08:00
*/
2024-02-01 17:07:44 -08:00
int8_t tractionControlTimingDrop [ TRACTION_CONTROL_ETB_DROP_SIZE ] [ TRACTION_CONTROL_ETB_DROP_SIZE ] ;
/**
* units : %
2024-06-05 19:28:23 -07:00
* offset 3896
2024-02-01 17:07:44 -08:00
*/
int8_t tractionControlIgnitionSkip [ TRACTION_CONTROL_ETB_DROP_SIZE ] [ TRACTION_CONTROL_ETB_DROP_SIZE ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 3932
2024-02-01 17:07:44 -08:00
*/
2024-02-02 06:10:33 -08:00
float auxSpeed1Multiplier ;
/**
2024-06-05 19:28:23 -07:00
* offset 3936
2024-02-02 06:10:33 -08:00
*/
2024-02-17 15:39:54 -08:00
float brakeMeanEffectivePressureDifferential ;
/**
2024-06-05 19:28:23 -07:00
* offset 3940
2024-02-17 15:39:54 -08:00
*/
2024-02-26 15:48:39 -08:00
Gpio spi4mosiPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3942
2024-02-26 15:48:39 -08:00
*/
Gpio spi4misoPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3944
2024-02-26 15:48:39 -08:00
*/
Gpio spi4sckPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3946
2024-02-26 15:48:39 -08:00
*/
Gpio spi5mosiPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3948
2024-02-26 15:48:39 -08:00
*/
Gpio spi5misoPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3950
2024-02-26 15:48:39 -08:00
*/
Gpio spi5sckPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3952
2024-02-26 15:48:39 -08:00
*/
Gpio spi6mosiPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3954
2024-02-26 15:48:39 -08:00
*/
Gpio spi6misoPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3956
2024-02-26 15:48:39 -08:00
*/
Gpio spi6sckPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3958
2024-02-26 15:48:39 -08:00
*/
2024-02-26 17:11:24 -08:00
pin_mode_e spi4SckMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3959
2024-02-26 17:11:24 -08:00
*/
pin_mode_e spi4MosiMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3960
2024-02-26 17:11:24 -08:00
*/
pin_mode_e spi4MisoMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3961
2024-02-26 17:11:24 -08:00
*/
pin_mode_e spi5SckMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3962
2024-02-26 17:11:24 -08:00
*/
pin_mode_e spi5MosiMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3963
2024-02-26 17:11:24 -08:00
*/
pin_mode_e spi5MisoMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3964
2024-02-26 17:11:24 -08:00
*/
pin_mode_e spi6SckMode ;
/**
2024-06-05 19:28:23 -07:00
* offset 3965
2024-02-26 17:11:24 -08:00
*/
pin_mode_e spi6MosiMode ;
/**
2024-03-20 20:05:53 -07:00
* need 4 byte alignment
2024-02-26 17:11:24 -08:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3966
2024-02-26 17:11:24 -08:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3966 [ 2 ] ;
2024-03-20 20:05:53 -07:00
/**
* Secondary TTL channel baud rate
* units : BPs
2024-06-05 19:28:23 -07:00
* offset 3968
2024-03-20 20:05:53 -07:00
*/
uint32_t tunerStudioSerialSpeed ;
2024-02-01 17:07:44 -08:00
/**
2024-06-05 19:28:23 -07:00
* offset 3972
2024-02-01 17:07:44 -08:00
*/
2024-03-23 18:52:32 -07:00
Gpio camSimulatorPin ;
/**
2024-06-05 19:28:23 -07:00
* offset 3974
2024-03-23 18:52:32 -07:00
*/
2024-03-26 21:55:50 -07:00
pin_output_mode_e camSimulatorPinMode ;
2024-03-24 15:08:54 -07:00
/**
2024-03-28 11:45:11 -07:00
* need 4 byte alignment
2024-03-24 15:08:54 -07:00
* units : units
2024-06-05 19:28:23 -07:00
* offset 3975
2024-03-24 15:08:54 -07:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3975 [ 1 ] ;
2024-03-28 11:45:11 -07:00
/**
2024-06-05 19:28:23 -07:00
* offset 3976
2024-03-28 11:45:11 -07:00
*/
int anotherCiTest ;
/**
2024-06-05 19:28:23 -07:00
* offset 3980
2024-03-28 11:45:11 -07:00
*/
2024-04-08 13:33:10 -07:00
uint32_t device_uid [ 3 ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 3992
2024-04-08 13:33:10 -07:00
*/
2024-04-14 17:18:00 -07:00
adc_channel_e tcu_rangeAnalogInput [ RANGE_INPUT_COUNT ] ;
2024-03-24 15:08:54 -07:00
/**
* need 4 byte alignment
* units : units
2024-06-05 19:28:23 -07:00
* offset 3998
2024-04-14 17:18:00 -07:00
*/
2024-06-05 19:28:23 -07:00
uint8_t alignmentFill_at_3998 [ 2 ] ;
2024-04-14 17:18:00 -07:00
/**
* units : Ohm
2024-06-05 19:28:23 -07:00
* offset 4000
2024-04-14 17:18:00 -07:00
*/
float tcu_rangeSensorBiasResistor ;
/**
2024-06-05 19:28:23 -07:00
* offset 4004
2024-03-24 15:08:54 -07:00
*/
2024-04-20 05:22:40 -07:00
MsIoBox_config_s msIoBox0 ;
/**
2024-05-26 07:02:34 -07:00
* Nominal coil charge current , 0.25 A step
* units : A
2024-06-05 19:28:23 -07:00
* offset 4008
2024-04-20 05:22:40 -07:00
*/
2024-05-26 07:02:34 -07:00
scaled_channel < uint8_t , 4 , 1 > mc33810Nomi ;
/**
* Maximum coil charge current , 1 A step
* units : A
2024-06-05 19:28:23 -07:00
* offset 4009
2024-05-26 07:02:34 -07:00
*/
uint8_t mc33810Maxi ;
/**
* units : units
2024-06-05 19:28:23 -07:00
* offset 4010
2024-05-26 07:02:34 -07:00
*/
2024-04-29 19:11:50 -07:00
uint8_t unusedOftenChangesDuringFirmwareUpdate [ END_OF_CALIBRATION_PADDING ] ;
2023-12-19 21:03:15 -08:00
} ;
2024-06-05 19:28:23 -07:00
static_assert ( sizeof ( engine_configuration_s ) = = 4208 ) ;
2023-12-19 21:03:15 -08:00
2024-04-18 13:31:43 -07:00
// start of ign_cyl_trim_s
struct ign_cyl_trim_s {
2023-12-19 21:03:15 -08:00
/**
* offset 0
*/
2024-04-18 13:31:43 -07:00
scaled_channel < int8_t , 5 , 1 > table [ IGN_TRIM_SIZE ] [ IGN_TRIM_SIZE ] ;
2023-12-19 21:03:15 -08:00
} ;
2024-04-18 13:31:43 -07:00
static_assert ( sizeof ( ign_cyl_trim_s ) = = 16 ) ;
// start of fuel_cyl_trim_s
struct fuel_cyl_trim_s {
/**
* offset 0
*/
scaled_channel < int8_t , 5 , 1 > table [ FUEL_TRIM_SIZE ] [ FUEL_TRIM_SIZE ] ;
} ;
static_assert ( sizeof ( fuel_cyl_trim_s ) = = 16 ) ;
2023-12-19 21:03:15 -08:00
// start of blend_table_s
struct blend_table_s {
/**
* offset 0
*/
scaled_channel < int16_t , 10 , 1 > table [ 8 ] [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : Load
2023-12-19 21:03:15 -08:00
* offset 128
*/
uint16_t loadBins [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2023-12-19 21:03:15 -08:00
* offset 144
*/
uint16_t rpmBins [ 8 ] ;
/**
* offset 160
*/
gppwm_channel_e blendParameter ;
/**
* offset 161
*/
2024-01-17 06:42:27 -08:00
gppwm_channel_e yAxisOverride ;
2023-12-19 21:03:15 -08:00
/**
* offset 162
*/
scaled_channel < int16_t , 10 , 1 > blendBins [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2023-12-19 21:03:15 -08:00
* offset 178
*/
scaled_channel < uint8_t , 2 , 1 > blendValues [ 8 ] ;
/**
* need 4 byte alignment
2024-01-03 12:32:11 -08:00
* units : units
2023-12-19 21:03:15 -08:00
* offset 186
*/
uint8_t alignmentFill_at_186 [ 2 ] ;
} ;
static_assert ( sizeof ( blend_table_s ) = = 188 ) ;
// start of persistent_config_s
struct persistent_config_s {
/**
* offset 0
*/
engine_configuration_s engineConfiguration ;
/**
* target TPS value , 0 to 100 %
* TODO : use int8 data date once we template interpolation method
2024-01-03 12:32:11 -08:00
* units : target TPS position
2024-06-05 19:28:23 -07:00
* offset 4208
2023-12-19 21:03:15 -08:00
*/
float etbBiasBins [ ETB_BIAS_CURVE_LENGTH ] ;
/**
* PWM bias , 0 to 100 %
2024-01-03 12:32:11 -08:00
* units : ETB duty cycle bias
2024-06-05 19:28:23 -07:00
* offset 4240
2023-12-19 21:03:15 -08:00
*/
float etbBiasValues [ ETB_BIAS_CURVE_LENGTH ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 4272
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 20 , 1 > iacPidMultTable [ IAC_PID_MULT_SIZE ] [ IAC_PID_MULT_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : Load
2024-06-05 19:28:23 -07:00
* offset 4336
2023-12-19 21:03:15 -08:00
*/
uint8_t iacPidMultLoadBins [ IAC_PID_MULT_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 4344
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 10 > iacPidMultRpmBins [ IAC_PID_MULT_SIZE ] ;
/**
* On Single Coil or Wasted Spark setups you have to lower dwell at high RPM
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 4352
2023-12-19 21:03:15 -08:00
*/
uint16_t sparkDwellRpmBins [ DWELL_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ms
2024-06-05 19:28:23 -07:00
* offset 4368
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 100 , 1 > sparkDwellValues [ DWELL_CURVE_SIZE ] ;
/**
* CLT - based target RPM for automatic idle controller
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 4384
2023-12-19 21:03:15 -08:00
*/
scaled_channel < int8_t , 1 , 2 > cltIdleRpmBins [ CLT_CURVE_SIZE ] ;
/**
* See idleRpmPid
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 4400
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 20 > cltIdleRpm [ CLT_CURVE_SIZE ] ;
/**
* CLT - based timing correction
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 4416
2023-12-19 21:03:15 -08:00
*/
float cltTimingBins [ CLT_TIMING_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : degree
2024-06-05 19:28:23 -07:00
* offset 4448
2023-12-19 21:03:15 -08:00
*/
float cltTimingExtra [ CLT_TIMING_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : x
2024-06-05 19:28:23 -07:00
* offset 4480
2023-12-19 21:03:15 -08:00
*/
float scriptCurve1Bins [ SCRIPT_CURVE_16 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : y
2024-06-05 19:28:23 -07:00
* offset 4544
2023-12-19 21:03:15 -08:00
*/
float scriptCurve1 [ SCRIPT_CURVE_16 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : x
2024-06-05 19:28:23 -07:00
* offset 4608
2023-12-19 21:03:15 -08:00
*/
float scriptCurve2Bins [ SCRIPT_CURVE_16 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : y
2024-06-05 19:28:23 -07:00
* offset 4672
2023-12-19 21:03:15 -08:00
*/
float scriptCurve2 [ SCRIPT_CURVE_16 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : x
2024-06-05 19:28:23 -07:00
* offset 4736
2023-12-19 21:03:15 -08:00
*/
float scriptCurve3Bins [ SCRIPT_CURVE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : y
2024-06-05 19:28:23 -07:00
* offset 4768
2023-12-19 21:03:15 -08:00
*/
float scriptCurve3 [ SCRIPT_CURVE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : x
2024-06-05 19:28:23 -07:00
* offset 4800
2023-12-19 21:03:15 -08:00
*/
float scriptCurve4Bins [ SCRIPT_CURVE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : y
2024-06-05 19:28:23 -07:00
* offset 4832
2023-12-19 21:03:15 -08:00
*/
float scriptCurve4 [ SCRIPT_CURVE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : x
2024-06-05 19:28:23 -07:00
* offset 4864
2023-12-19 21:03:15 -08:00
*/
float scriptCurve5Bins [ SCRIPT_CURVE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : y
2024-06-05 19:28:23 -07:00
* offset 4896
2023-12-19 21:03:15 -08:00
*/
float scriptCurve5 [ SCRIPT_CURVE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : x
2024-06-05 19:28:23 -07:00
* offset 4928
2023-12-19 21:03:15 -08:00
*/
float scriptCurve6Bins [ SCRIPT_CURVE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : y
2024-06-05 19:28:23 -07:00
* offset 4960
2023-12-19 21:03:15 -08:00
*/
float scriptCurve6 [ SCRIPT_CURVE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : kPa
2024-06-05 19:28:23 -07:00
* offset 4992
2023-12-19 21:03:15 -08:00
*/
float baroCorrPressureBins [ BARO_CORR_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 5008
2023-12-19 21:03:15 -08:00
*/
float baroCorrRpmBins [ BARO_CORR_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 5024
2023-12-19 21:03:15 -08:00
*/
float baroCorrTable [ BARO_CORR_SIZE ] [ BARO_CORR_SIZE ] ;
/**
* Cranking fuel correction coefficient based on TPS
2024-01-03 12:32:11 -08:00
* units : Ratio
2024-06-05 19:28:23 -07:00
* offset 5088
2023-12-19 21:03:15 -08:00
*/
float crankingTpsCoef [ CRANKING_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 5120
2023-12-19 21:03:15 -08:00
*/
float crankingTpsBins [ CRANKING_CURVE_SIZE ] ;
/**
* Optional timing advance table for Cranking ( see useSeparateAdvanceForCranking )
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 5152
2023-12-19 21:03:15 -08:00
*/
uint16_t crankingAdvanceBins [ CRANKING_ADVANCE_CURVE_SIZE ] ;
/**
* Optional timing advance table for Cranking ( see useSeparateAdvanceForCranking )
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-05 19:28:23 -07:00
* offset 5160
2023-12-19 21:03:15 -08:00
*/
scaled_channel < int16_t , 100 , 1 > crankingAdvance [ CRANKING_ADVANCE_CURVE_SIZE ] ;
/**
* RPM - based idle position for coasting
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 5168
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 100 > iacCoastingRpmBins [ CLT_CURVE_SIZE ] ;
/**
* RPM - based idle position for coasting
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 5184
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 2 , 1 > iacCoasting [ CLT_CURVE_SIZE ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 5200
2023-12-19 21:03:15 -08:00
*/
warning_message_t warning_message ;
/**
2024-06-05 19:28:23 -07:00
* offset 5320
2023-12-19 21:03:15 -08:00
*/
2024-05-07 07:33:56 -07:00
uint8_t unusedGapHere [ 16 ] ;
2024-03-19 10:58:48 -07:00
/**
2024-06-05 19:28:23 -07:00
* offset 5336
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 2 , 1 > boostTableOpenLoop [ BOOST_LOAD_COUNT ] [ BOOST_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 5400
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 100 > boostRpmBins [ BOOST_RPM_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 5408
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 2 > boostTableClosedLoop [ BOOST_LOAD_COUNT ] [ BOOST_RPM_COUNT ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 5472
2023-12-19 21:03:15 -08:00
*/
uint8_t boostTpsBins [ BOOST_LOAD_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 5480
2023-12-19 21:03:15 -08:00
*/
uint8_t pedalToTpsTable [ PEDAL_TO_TPS_SIZE ] [ PEDAL_TO_TPS_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 5544
2023-12-19 21:03:15 -08:00
*/
uint8_t pedalToTpsPedalBins [ PEDAL_TO_TPS_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 5552
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 100 > pedalToTpsRpmBins [ PEDAL_TO_TPS_SIZE ] ;
/**
* CLT - based cranking position multiplier for simple manual idle controller
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 5560
2023-12-19 21:03:15 -08:00
*/
float cltCrankingCorrBins [ CLT_CRANKING_CURVE_SIZE ] ;
/**
* CLT - based cranking position multiplier for simple manual idle controller
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 5592
2023-12-19 21:03:15 -08:00
*/
float cltCrankingCorr [ CLT_CRANKING_CURVE_SIZE ] ;
/**
* Optional timing advance table for Idle ( see useSeparateAdvanceForIdle )
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 5624
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 50 > idleAdvanceBins [ IDLE_ADVANCE_CURVE_SIZE ] ;
/**
* Optional timing advance table for Idle ( see useSeparateAdvanceForIdle )
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-05 19:28:23 -07:00
* offset 5632
2023-12-19 21:03:15 -08:00
*/
float idleAdvance [ IDLE_ADVANCE_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-05 19:28:23 -07:00
* offset 5664
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 10 > idleVeRpmBins [ IDLE_VE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : load
2024-06-05 19:28:23 -07:00
* offset 5668
2023-12-19 21:03:15 -08:00
*/
uint8_t idleVeLoadBins [ IDLE_VE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-05 19:28:23 -07:00
* offset 5672
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 10 , 1 > idleVeTable [ IDLE_VE_SIZE ] [ IDLE_VE_SIZE ] ;
/**
2024-06-05 19:28:23 -07:00
* offset 5704
2023-12-19 21:03:15 -08:00
*/
lua_script_t luaScript ;
/**
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 13704
2023-12-19 21:03:15 -08:00
*/
float cltFuelCorrBins [ CLT_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 13768
2023-12-19 21:03:15 -08:00
*/
float cltFuelCorr [ CLT_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 13832
2023-12-19 21:03:15 -08:00
*/
float iatFuelCorrBins [ IAT_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 13896
2023-12-19 21:03:15 -08:00
*/
float iatFuelCorr [ IAT_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-05 19:28:23 -07:00
* offset 13960
2023-12-19 21:03:15 -08:00
*/
float crankingFuelCoef [ CRANKING_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : C
2024-06-05 19:28:23 -07:00
* offset 13992
2023-12-19 21:03:15 -08:00
*/
float crankingFuelBins [ CRANKING_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : counter
2024-06-07 17:37:32 -07:00
* offset 14024
2023-12-19 21:03:15 -08:00
*/
float crankingCycleBins [ CRANKING_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : C
2024-06-07 17:37:32 -07:00
* offset 14056
2023-12-19 21:03:15 -08:00
*/
2024-06-05 20:06:00 -07:00
int16_t crankingCycleFuelCltBins [ CRANKING_CYCLE_CLT_SIZE ] ;
/**
* units : mult
2024-06-07 17:37:32 -07:00
* offset 14064
2024-06-05 20:06:00 -07:00
*/
2024-06-07 16:46:32 -07:00
float crankingCycleFuelCoef [ CRANKING_CYCLE_CLT_SIZE ] [ CRANKING_CURVE_SIZE ] ;
2024-06-05 20:06:00 -07:00
/**
* CLT - based idle position multiplier for simple manual idle controller
* units : C
2024-06-07 17:37:32 -07:00
* offset 14192
2024-06-05 20:06:00 -07:00
*/
2023-12-19 21:03:15 -08:00
float cltIdleCorrBins [ CLT_CURVE_SIZE ] ;
/**
* CLT - based idle position multiplier for simple manual idle controller
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-07 17:37:32 -07:00
* offset 14256
2023-12-19 21:03:15 -08:00
*/
float cltIdleCorr [ CLT_CURVE_SIZE ] ;
/**
* Also known as MAF transfer function .
* kg / hour value .
* By the way 2.081989116 kg / h = 1 ft3 / m
2024-01-03 12:32:11 -08:00
* units : kg / hour
2024-06-07 17:37:32 -07:00
* offset 14320
2023-12-19 21:03:15 -08:00
*/
float mafDecoding [ MAF_DECODING_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : V
2024-06-07 17:37:32 -07:00
* offset 14448
2023-12-19 21:03:15 -08:00
*/
float mafDecodingBins [ MAF_DECODING_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-07 17:37:32 -07:00
* offset 14576
2023-12-19 21:03:15 -08:00
*/
scaled_channel < int8_t , 10 , 1 > ignitionIatCorrTable [ 8 ] [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : C
2024-06-07 17:37:32 -07:00
* offset 14640
2023-12-19 21:03:15 -08:00
*/
int8_t ignitionIatCorrTempBins [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : Load
2024-06-07 17:37:32 -07:00
* offset 14648
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 1 , 5 > ignitionIatCorrLoadBins [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-07 17:37:32 -07:00
* offset 14656
2023-12-19 21:03:15 -08:00
*/
int16_t injectionPhase [ FUEL_LOAD_COUNT ] [ FUEL_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : Load
2024-06-07 17:37:32 -07:00
* offset 15168
2023-12-19 21:03:15 -08:00
*/
uint16_t injPhaseLoadBins [ FUEL_LOAD_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 15200
2023-12-19 21:03:15 -08:00
*/
uint16_t injPhaseRpmBins [ FUEL_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : onoff
2024-06-07 17:37:32 -07:00
* offset 15232
2023-12-19 21:03:15 -08:00
*/
uint8_t tcuSolenoidTable [ TCU_SOLENOID_COUNT ] [ TCU_GEAR_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : kPa
2024-06-07 17:37:32 -07:00
* offset 15292
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 100 , 1 > mapEstimateTable [ FUEL_LOAD_COUNT ] [ FUEL_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : % TPS
2024-06-07 17:37:32 -07:00
* offset 15804
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 100 , 1 > mapEstimateTpsBins [ FUEL_LOAD_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 15836
2023-12-19 21:03:15 -08:00
*/
uint16_t mapEstimateRpmBins [ FUEL_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : value
2024-06-07 17:37:32 -07:00
* offset 15868
2023-12-19 21:03:15 -08:00
*/
int8_t vvtTable1 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : L
2024-06-07 17:37:32 -07:00
* offset 15932
2023-12-19 21:03:15 -08:00
*/
uint16_t vvtTable1LoadBins [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 15948
2023-12-19 21:03:15 -08:00
*/
uint16_t vvtTable1RpmBins [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : value
2024-06-07 17:37:32 -07:00
* offset 15964
2023-12-19 21:03:15 -08:00
*/
int8_t vvtTable2 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : L
2024-06-07 17:37:32 -07:00
* offset 16028
2023-12-19 21:03:15 -08:00
*/
uint16_t vvtTable2LoadBins [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 16044
2023-12-19 21:03:15 -08:00
*/
uint16_t vvtTable2RpmBins [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-07 17:37:32 -07:00
* offset 16060
2023-12-19 21:03:15 -08:00
*/
scaled_channel < int16_t , 10 , 1 > ignitionTable [ IGN_LOAD_COUNT ] [ IGN_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : Load
2024-06-07 17:37:32 -07:00
* offset 16572
2023-12-19 21:03:15 -08:00
*/
uint16_t ignitionLoadBins [ IGN_LOAD_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 16604
2023-12-19 21:03:15 -08:00
*/
uint16_t ignitionRpmBins [ IGN_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 16636
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 10 , 1 > veTable [ FUEL_LOAD_COUNT ] [ FUEL_RPM_COUNT ] ;
/**
2024-05-09 13:36:52 -07:00
* units : { bitStringValue ( fuelUnits , fuelAlgorithm ) }
2024-06-07 17:37:32 -07:00
* offset 17148
2023-12-19 21:03:15 -08:00
*/
uint16_t veLoadBins [ FUEL_LOAD_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 17180
2023-12-19 21:03:15 -08:00
*/
uint16_t veRpmBins [ FUEL_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : lambda
2024-06-07 17:37:32 -07:00
* offset 17212
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 147 , 1 > lambdaTable [ FUEL_LOAD_COUNT ] [ FUEL_RPM_COUNT ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 17468
2023-12-19 21:03:15 -08:00
*/
uint16_t lambdaLoadBins [ FUEL_LOAD_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 17500
2023-12-19 21:03:15 -08:00
*/
uint16_t lambdaRpmBins [ FUEL_RPM_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : value
2024-06-07 17:37:32 -07:00
* offset 17532
2023-12-19 21:03:15 -08:00
*/
float tpsTpsAccelTable [ TPS_TPS_ACCEL_TABLE ] [ TPS_TPS_ACCEL_TABLE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : from
2024-06-07 17:37:32 -07:00
* offset 17788
2023-12-19 21:03:15 -08:00
*/
float tpsTpsAccelFromRpmBins [ TPS_TPS_ACCEL_TABLE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : to
2024-06-07 17:37:32 -07:00
* offset 17820
2023-12-19 21:03:15 -08:00
*/
float tpsTpsAccelToRpmBins [ TPS_TPS_ACCEL_TABLE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : value
2024-06-07 17:37:32 -07:00
* offset 17852
2023-12-19 21:03:15 -08:00
*/
float scriptTable1 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : L
2024-06-07 17:37:32 -07:00
* offset 18108
2023-12-19 21:03:15 -08:00
*/
int16_t scriptTable1LoadBins [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 18124
2023-12-19 21:03:15 -08:00
*/
int16_t scriptTable1RpmBins [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : value
2024-06-07 17:37:32 -07:00
* offset 18140
2023-12-19 21:03:15 -08:00
*/
2024-03-12 14:45:23 -07:00
float scriptTable2 [ TABLE_2_LOAD_SIZE ] [ TABLE_2_RPM_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : L
2024-06-07 17:37:32 -07:00
* offset 18396
2023-12-19 21:03:15 -08:00
*/
2024-03-12 14:45:23 -07:00
int16_t scriptTable2LoadBins [ TABLE_2_LOAD_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 18412
2023-12-19 21:03:15 -08:00
*/
2024-03-12 14:45:23 -07:00
int16_t scriptTable2RpmBins [ TABLE_2_RPM_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : value
2024-06-07 17:37:32 -07:00
* offset 18428
2023-12-19 21:03:15 -08:00
*/
uint8_t scriptTable3 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : L
2024-06-07 17:37:32 -07:00
* offset 18492
2023-12-19 21:03:15 -08:00
*/
int16_t scriptTable3LoadBins [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 18508
2023-12-19 21:03:15 -08:00
*/
int16_t scriptTable3RpmBins [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : value
2024-06-07 17:37:32 -07:00
* offset 18524
2023-12-19 21:03:15 -08:00
*/
uint8_t scriptTable4 [ SCRIPT_TABLE_8 ] [ TABLE_4_RPM ] ;
/**
2024-01-03 12:32:11 -08:00
* units : L
2024-06-07 17:37:32 -07:00
* offset 18604
2023-12-19 21:03:15 -08:00
*/
int16_t scriptTable4LoadBins [ SCRIPT_TABLE_8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 18620
2023-12-19 21:03:15 -08:00
*/
int16_t scriptTable4RpmBins [ TABLE_4_RPM ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 18640
2023-12-19 21:03:15 -08:00
*/
2024-04-18 13:31:43 -07:00
uint16_t ignTrimLoadBins [ IGN_TRIM_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : rpm
2024-06-07 17:37:32 -07:00
* offset 18648
2023-12-19 21:03:15 -08:00
*/
2024-04-18 13:31:43 -07:00
uint16_t ignTrimRpmBins [ IGN_TRIM_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-07 17:37:32 -07:00
* offset 18656
2023-12-19 21:03:15 -08:00
*/
2024-04-18 13:31:43 -07:00
ign_cyl_trim_s ignTrims [ 12 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-07 17:37:32 -07:00
* offset 18848
2023-12-19 21:03:15 -08:00
*/
2024-04-18 13:31:43 -07:00
uint16_t fuelTrimLoadBins [ FUEL_TRIM_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : rpm
2024-06-07 17:37:32 -07:00
* offset 18856
2023-12-19 21:03:15 -08:00
*/
2024-04-18 13:31:43 -07:00
uint16_t fuelTrimRpmBins [ FUEL_TRIM_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-06-07 17:37:32 -07:00
* offset 18864
2023-12-19 21:03:15 -08:00
*/
2024-04-18 13:31:43 -07:00
fuel_cyl_trim_s fuelTrims [ 12 ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-07 17:37:32 -07:00
* offset 19056
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 100 , 1 > crankingFuelCoefE100 [ CRANKING_CURVE_SIZE ] ;
/**
2024-01-03 12:32:11 -08:00
* units : Airmass
2024-06-07 17:37:32 -07:00
* offset 19072
2023-12-19 21:03:15 -08:00
*/
2024-04-08 16:05:22 -07:00
scaled_channel < uint8_t , 1 , 5 > tcu_pcAirmassBins [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19080
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcValsR [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19088
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcValsN [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19096
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals1 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19104
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals2 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19112
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals3 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19120
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals4 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19128
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals12 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19136
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals23 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19144
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals34 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19152
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals21 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19160
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals32 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19168
2023-12-19 21:03:15 -08:00
*/
2024-04-08 06:07:15 -07:00
uint8_t tcu_pcVals43 [ TCU_TABLE_WIDTH ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : TPS
2024-06-07 17:37:32 -07:00
* offset 19176
2023-12-19 21:03:15 -08:00
*/
uint8_t tcu_tccTpsBins [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : MPH
2024-06-07 17:37:32 -07:00
* offset 19184
2023-12-19 21:03:15 -08:00
*/
uint8_t tcu_tccLockSpeed [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : MPH
2024-06-07 17:37:32 -07:00
* offset 19192
2023-12-19 21:03:15 -08:00
*/
uint8_t tcu_tccUnlockSpeed [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : KPH
2024-06-07 17:37:32 -07:00
* offset 19200
2023-12-19 21:03:15 -08:00
*/
uint8_t tcu_32SpeedBins [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19208
2023-12-19 21:03:15 -08:00
*/
uint8_t tcu_32Vals [ 8 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19216
2023-12-19 21:03:15 -08:00
*/
2023-12-31 12:19:26 -08:00
scaled_channel < int8_t , 10 , 1 > throttle2TrimTable [ ETB2_TRIM_SIZE ] [ ETB2_TRIM_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19252
2023-12-19 21:03:15 -08:00
*/
2023-12-31 12:19:26 -08:00
uint8_t throttle2TrimTpsBins [ ETB2_TRIM_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 19258
2023-12-19 21:03:15 -08:00
*/
2023-12-31 12:19:26 -08:00
scaled_channel < uint8_t , 1 , 100 > throttle2TrimRpmBins [ ETB2_TRIM_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-07 17:37:32 -07:00
* offset 19264
2023-12-19 21:03:15 -08:00
*/
2024-05-03 18:03:50 -07:00
scaled_channel < uint8_t , 4 , 1 > maxKnockRetardTable [ KNOCK_TABLE_SIZE ] [ KNOCK_TABLE_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 19300
2023-12-19 21:03:15 -08:00
*/
2024-05-03 18:03:50 -07:00
uint8_t maxKnockRetardLoadBins [ KNOCK_TABLE_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 19306
2023-12-19 21:03:15 -08:00
*/
2024-05-03 18:03:50 -07:00
scaled_channel < uint8_t , 1 , 100 > maxKnockRetardRpmBins [ KNOCK_TABLE_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : deg
2024-06-07 17:37:32 -07:00
* offset 19312
2023-12-19 21:03:15 -08:00
*/
scaled_channel < int16_t , 10 , 1 > ALSTimingRetardTable [ 4 ] [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : TPS
2024-06-07 17:37:32 -07:00
* offset 19344
2023-12-19 21:03:15 -08:00
*/
uint16_t alsIgnRetardLoadBins [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 19352
2023-12-19 21:03:15 -08:00
*/
uint16_t alsIgnRetardrpmBins [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : percent
2024-06-07 17:37:32 -07:00
* offset 19360
2023-12-19 21:03:15 -08:00
*/
scaled_channel < int16_t , 10 , 1 > ALSFuelAdjustment [ 4 ] [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : TPS
2024-06-07 17:37:32 -07:00
* offset 19392
2023-12-19 21:03:15 -08:00
*/
uint16_t alsFuelAdjustmentLoadBins [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 19400
2023-12-19 21:03:15 -08:00
*/
uint16_t alsFuelAdjustmentrpmBins [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : ratio
2024-06-07 17:37:32 -07:00
* offset 19408
2023-12-19 21:03:15 -08:00
*/
scaled_channel < int16_t , 1 , 10 > ALSIgnSkipTable [ 4 ] [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : TPS
2024-06-07 17:37:32 -07:00
* offset 19440
2023-12-19 21:03:15 -08:00
*/
uint16_t alsIgnSkipLoadBins [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 19448
2023-12-19 21:03:15 -08:00
*/
uint16_t alsIgnSkiprpmBins [ 4 ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 19456
2023-12-19 21:03:15 -08:00
*/
blend_table_s ignBlends [ IGN_BLEND_COUNT ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 20208
2023-12-19 21:03:15 -08:00
*/
blend_table_s veBlends [ VE_BLEND_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 20960
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 10 , 1 > throttleEstimateEffectiveAreaBins [ 12 ] ;
/**
* In units of g / s normalized to choked flow conditions
2024-01-03 12:32:11 -08:00
* units : g / s
2024-06-07 17:37:32 -07:00
* offset 20984
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint16_t , 10 , 1 > throttleEstimateEffectiveAreaValues [ 12 ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 21008
2023-12-19 21:03:15 -08:00
*/
blend_table_s boostOpenLoopBlends [ BOOST_BLEND_COUNT ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 21384
2023-12-19 21:03:15 -08:00
*/
blend_table_s boostClosedLoopBlends [ BOOST_BLEND_COUNT ] ;
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21760
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeP [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21784
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeR [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21808
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeN [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21832
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeD [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21856
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeM [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21880
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeM3 [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21904
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeM2 [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21928
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeM1 [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21952
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangePlus [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 21976
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeMinus [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : level
2024-06-07 17:37:32 -07:00
* offset 22000
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_rangeLow [ RANGE_INPUT_COUNT ] ;
2023-12-19 21:03:15 -08:00
/**
2024-01-03 12:32:11 -08:00
* units : lambda
2024-06-07 17:37:32 -07:00
* offset 22024
2023-12-19 21:03:15 -08:00
*/
scaled_channel < uint8_t , 100 , 1 > lambdaMaxDeviationTable [ 4 ] [ 4 ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 22040
2023-12-19 21:03:15 -08:00
*/
uint16_t lambdaMaxDeviationLoadBins [ 4 ] ;
/**
2024-01-03 12:32:11 -08:00
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 22048
2023-12-19 21:03:15 -08:00
*/
uint16_t lambdaMaxDeviationRpmBins [ 4 ] ;
2024-01-07 15:18:17 -08:00
/**
* units : %
2024-06-07 17:37:32 -07:00
* offset 22056
2024-01-07 15:18:17 -08:00
*/
uint8_t injectorStagingTable [ INJ_STAGING_COUNT ] [ INJ_STAGING_COUNT ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 22092
2024-01-07 15:18:17 -08:00
*/
uint16_t injectorStagingLoadBins [ INJ_STAGING_COUNT ] ;
/**
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 22104
2024-01-07 15:18:17 -08:00
*/
uint16_t injectorStagingRpmBins [ INJ_STAGING_COUNT ] ;
2024-03-20 14:09:51 -07:00
/**
* units : deg C
2024-06-07 17:37:32 -07:00
* offset 22116
2024-03-20 14:09:51 -07:00
*/
int8_t wwCltBins [ WWAE_TABLE_SIZE ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 22124
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 100 , 1 > wwTauCltValues [ WWAE_TABLE_SIZE ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 22132
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 100 , 1 > wwBetaCltValues [ WWAE_TABLE_SIZE ] ;
/**
* units : kPa
2024-06-07 17:37:32 -07:00
* offset 22140
2024-03-20 14:09:51 -07:00
*/
int8_t wwMapBins [ WWAE_TABLE_SIZE ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 22148
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 100 , 1 > wwTauMapValues [ WWAE_TABLE_SIZE ] ;
/**
2024-06-07 17:37:32 -07:00
* offset 22156
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 100 , 1 > wwBetaMapValues [ WWAE_TABLE_SIZE ] ;
/**
* units : %
2024-06-07 17:37:32 -07:00
* offset 22164
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 2 , 1 > hpfpLobeProfileQuantityBins [ HPFP_LOBE_PROFILE_SIZE ] ;
/**
* units : deg
2024-06-07 17:37:32 -07:00
* offset 22180
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 2 , 1 > hpfpLobeProfileAngle [ HPFP_LOBE_PROFILE_SIZE ] ;
/**
* units : volts
2024-06-07 17:37:32 -07:00
* offset 22196
2024-03-20 14:09:51 -07:00
*/
uint8_t hpfpDeadtimeVoltsBins [ HPFP_DEADTIME_SIZE ] ;
/**
* units : ms
2024-06-07 17:37:32 -07:00
* offset 22204
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint16_t , 1000 , 1 > hpfpDeadtimeMS [ HPFP_DEADTIME_SIZE ] ;
/**
* units : kPa
2024-06-07 17:37:32 -07:00
* offset 22220
2024-03-20 14:09:51 -07:00
*/
uint16_t hpfpTarget [ HPFP_TARGET_SIZE ] [ HPFP_TARGET_SIZE ] ;
/**
* units : load
2024-06-07 17:37:32 -07:00
* offset 22420
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint16_t , 10 , 1 > hpfpTargetLoadBins [ HPFP_TARGET_SIZE ] ;
/**
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 22440
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 1 , 50 > hpfpTargetRpmBins [ HPFP_TARGET_SIZE ] ;
/**
* units : %
2024-06-07 17:37:32 -07:00
* offset 22450
2024-03-20 14:09:51 -07:00
*/
int8_t hpfpCompensation [ HPFP_COMPENSATION_SIZE ] [ HPFP_COMPENSATION_SIZE ] ;
/**
* units : cc / lobe
2024-06-07 17:37:32 -07:00
* offset 22550
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint16_t , 1000 , 1 > hpfpCompensationLoadBins [ HPFP_COMPENSATION_SIZE ] ;
/**
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 22570
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 1 , 50 > hpfpCompensationRpmBins [ HPFP_COMPENSATION_SIZE ] ;
/**
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 22580
2024-03-20 14:09:51 -07:00
*/
uint16_t knockNoiseRpmBins [ ENGINE_NOISE_CURVE_SIZE ] ;
/**
* Knock sensor output knock detection threshold depending on current RPM .
* units : dB
2024-06-07 17:37:32 -07:00
* offset 22612
2024-03-20 14:09:51 -07:00
*/
scaled_channel < int8_t , 2 , 1 > knockBaseNoise [ ENGINE_NOISE_CURVE_SIZE ] ;
/**
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 22628
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 1 , 50 > tpsTspCorrValuesBins [ TPS_TPS_ACCEL_CLT_CORR_TABLE ] ;
/**
* units : multiplier
2024-06-07 17:37:32 -07:00
* offset 22632
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 50 , 1 > tpsTspCorrValues [ TPS_TPS_ACCEL_CLT_CORR_TABLE ] ;
/**
* units : C
2024-06-07 17:37:32 -07:00
* offset 22636
2024-03-20 14:09:51 -07:00
*/
int8_t cltRevLimitRpmBins [ CLT_LIMITER_CURVE_SIZE ] ;
/**
* units : RPM
2024-06-07 17:37:32 -07:00
* offset 22640
2024-03-20 14:09:51 -07:00
*/
uint16_t cltRevLimitRpm [ CLT_LIMITER_CURVE_SIZE ] ;
/**
* units : volt
2024-06-07 17:37:32 -07:00
* offset 22648
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint16_t , 1000 , 1 > fuelLevelBins [ FUEL_LEVEL_TABLE_COUNT ] ;
/**
* units : %
2024-06-07 17:37:32 -07:00
* offset 22664
2024-03-20 14:09:51 -07:00
*/
uint8_t fuelLevelValues [ FUEL_LEVEL_TABLE_COUNT ] ;
/**
* units : volts
2024-06-07 17:37:32 -07:00
* offset 22672
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 10 , 1 > dwellVoltageCorrVoltBins [ DWELL_CURVE_SIZE ] ;
/**
* units : multiplier
2024-06-07 17:37:32 -07:00
* offset 22680
2024-03-20 14:09:51 -07:00
*/
scaled_channel < uint8_t , 50 , 1 > dwellVoltageCorrValues [ DWELL_CURVE_SIZE ] ;
2023-12-19 21:03:15 -08:00
/**
2024-04-10 14:48:45 -07:00
* units : %
2024-06-07 17:37:32 -07:00
* offset 22688
2024-04-10 14:48:45 -07:00
*/
scaled_channel < uint8_t , 1 , 1 > tcu_shiftTpsBins [ TCU_TABLE_WIDTH ] ;
/**
* units : MPH
2024-06-07 17:37:32 -07:00
* offset 22696
2024-04-10 14:48:45 -07:00
*/
uint8_t tcu_shiftSpeed12 [ TCU_TABLE_WIDTH ] ;
/**
* units : MPH
2024-06-07 17:37:32 -07:00
* offset 22704
2024-04-10 14:48:45 -07:00
*/
uint8_t tcu_shiftSpeed23 [ TCU_TABLE_WIDTH ] ;
/**
* units : MPH
2024-06-07 17:37:32 -07:00
* offset 22712
2024-04-10 14:48:45 -07:00
*/
uint8_t tcu_shiftSpeed34 [ TCU_TABLE_WIDTH ] ;
/**
* units : MPH
2024-06-07 17:37:32 -07:00
* offset 22720
2024-04-10 14:48:45 -07:00
*/
uint8_t tcu_shiftSpeed21 [ TCU_TABLE_WIDTH ] ;
/**
* units : MPH
2024-06-07 17:37:32 -07:00
* offset 22728
2024-04-10 14:48:45 -07:00
*/
uint8_t tcu_shiftSpeed32 [ TCU_TABLE_WIDTH ] ;
/**
* units : MPH
2024-06-07 17:37:32 -07:00
* offset 22736
2024-04-10 14:48:45 -07:00
*/
uint8_t tcu_shiftSpeed43 [ TCU_TABLE_WIDTH ] ;
/**
* units : ms
2024-06-07 17:37:32 -07:00
* offset 22744
2023-12-19 21:03:15 -08:00
*/
2024-04-10 14:48:45 -07:00
float tcu_shiftTime ;
2023-12-19 21:03:15 -08:00
} ;
2024-06-07 17:37:32 -07:00
static_assert ( sizeof ( persistent_config_s ) = = 22748 ) ;
2023-12-19 21:03:15 -08:00
// end
2024-06-15 07:33:55 -07:00
// this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt Sat Jun 15 14:32:46 UTC 2024