2022-07-27 23:53:58 -07:00
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 28 06:53:47 UTC 2022
2019-07-21 09:16:25 -07:00
// by class com.rusefi.output.CHeaderConsumer
2017-03-27 19:19:58 -07:00
// begin
2020-07-05 23:07:22 -07:00
# pragma once
2015-07-10 06:01:56 -07:00
# include "rusefi_types.h"
2020-04-13 06:23:13 -07:00
// start of stft_cell_cfg_s
struct stft_cell_cfg_s {
/**
2021-04-26 14:59:44 -07:00
%
2020-04-13 06:23:13 -07:00
* offset 0
*/
2021-12-01 21:04:17 -08:00
int8_t maxAdd ;
2022-04-24 20:46:16 -07:00
/**
%
2022-04-24 21:01:07 -07:00
* offset 1
2022-04-24 20:46:16 -07:00
*/
2021-12-01 21:04:17 -08:00
int8_t maxRemove ;
2020-04-13 06:23:13 -07:00
/**
2021-10-29 12:52:10 -07:00
* 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 .
2021-04-26 14:59:44 -07:00
sec
2022-04-24 21:01:07 -07:00
* offset 2
2020-04-13 06:23:13 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint16_t , 10 , 1 > timeConstant ;
2020-04-13 06:23:13 -07:00
} ;
2022-04-24 21:01:07 -07:00
static_assert ( sizeof ( stft_cell_cfg_s ) = = 4 ) ;
2020-04-13 06:23:13 -07:00
// start of stft_s
struct stft_s {
/**
* Below this RPM , the idle region is active
2021-04-26 14:59:44 -07:00
RPM
2020-04-13 06:23:13 -07:00
* offset 0
*/
2021-12-19 19:56:33 -08:00
scaled_channel < uint8_t , 1 , 50 > maxIdleRegionRpm ;
2020-04-13 06:23:13 -07:00
/**
* Below this engine load , the overrun region is active
2021-04-26 14:59:44 -07:00
load
2022-04-24 21:01:07 -07:00
* offset 1
2020-04-13 06:23:13 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t maxOverrunLoad ;
2020-04-13 06:23:13 -07:00
/**
* Above this engine load , the power region is active
2021-04-26 14:59:44 -07:00
load
2022-04-24 21:01:07 -07:00
* offset 2
2020-04-13 06:23:13 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t minPowerLoad ;
2020-04-13 06:23:13 -07:00
/**
* 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 .
2021-04-26 14:59:44 -07:00
%
2022-04-24 21:01:07 -07:00
* offset 3
2020-04-13 06:23:13 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint8_t , 10 , 1 > deadband ;
2020-04-13 06:23:13 -07:00
/**
* Below this temperature , correction is disabled .
2021-04-26 14:59:44 -07:00
C
2022-04-24 21:01:07 -07:00
* offset 4
2020-04-13 06:23:13 -07:00
*/
2021-12-01 21:04:17 -08:00
int8_t minClt ;
2020-04-13 06:23:13 -07:00
/**
* Below this AFR , correction is paused
2021-04-26 14:59:44 -07:00
afr
2022-04-24 21:01:07 -07:00
* offset 5
2020-04-13 06:23:13 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint8_t , 10 , 1 > minAfr ;
2020-04-13 06:23:13 -07:00
/**
* Above this AFR , correction is paused
2021-04-26 14:59:44 -07:00
afr
2022-04-24 21:01:07 -07:00
* offset 6
2020-04-13 06:23:13 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint8_t , 10 , 1 > maxAfr ;
2020-04-13 06:23:13 -07:00
/**
* Delay after starting the engine before beginning closed loop correction .
2021-04-26 14:59:44 -07:00
seconds
2022-04-24 21:01:07 -07:00
* offset 7
2020-04-13 06:23:13 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t startupDelay ;
2020-04-13 06:23:13 -07:00
/**
2022-04-24 21:01:07 -07:00
* offset 8
2020-04-13 06:23:13 -07:00
*/
stft_cell_cfg_s cellCfgs [ STFT_CELL_COUNT ] ;
} ;
2022-04-24 21:01:07 -07:00
static_assert ( sizeof ( stft_s ) = = 24 ) ;
2020-04-13 06:23:13 -07:00
2018-12-19 18:32:26 -08:00
// start of pid_s
2019-05-27 16:35:30 -07:00
struct pid_s {
2017-03-27 19:19:58 -07:00
/**
* offset 0
*/
2021-12-01 21:04:17 -08:00
float pFactor ;
2017-03-27 19:19:58 -07:00
/**
* offset 4
*/
2021-12-01 21:04:17 -08:00
float iFactor ;
2017-03-27 19:19:58 -07:00
/**
* offset 8
*/
2021-12-01 21:04:17 -08:00
float dFactor ;
2017-03-27 19:19:58 -07:00
/**
* Linear addition to PID logic
* offset 12
*/
2021-12-01 21:04:17 -08:00
int16_t offset ;
2017-05-28 19:32:32 -07:00
/**
* PID dTime
2021-04-26 14:59:44 -07:00
ms
2017-05-28 19:32:32 -07:00
* offset 14
*/
2021-12-01 21:04:17 -08:00
int16_t periodMs ;
2017-05-28 19:32:32 -07:00
/**
2021-10-28 11:24:50 -07:00
* Output Min Duty Cycle
2017-05-28 19:32:32 -07:00
* offset 16
*/
2021-12-01 21:04:17 -08:00
int16_t minValue ;
2017-05-28 19:32:32 -07:00
/**
2021-10-28 11:24:50 -07:00
* Output Max Duty Cycle
2017-05-28 19:32:32 -07:00
* offset 18
*/
2021-12-01 21:04:17 -08:00
int16_t maxValue ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-17 13:30:07 -07:00
static_assert ( sizeof ( pid_s ) = = 20 ) ;
2019-05-27 16:35:30 -07:00
2018-12-19 18:32:26 -08:00
// start of cranking_parameters_s
2019-05-27 16:35:30 -07:00
struct cranking_parameters_s {
2017-03-27 19:19:58 -07:00
/**
2020-10-26 04:25:24 -07:00
* 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 .
2021-04-26 14:59:44 -07:00
mg
2017-03-27 19:19:58 -07:00
* offset 0
*/
2021-12-01 21:04:17 -08:00
float baseFuel ;
2017-03-27 19:19:58 -07:00
/**
2019-06-13 11:56:13 -07:00
* This sets the RPM limit below which the ECU will use cranking fuel and ignition logic , typically this is around 350 - 450 rpm .
2017-03-27 19:19:58 -07:00
* set cranking_rpm X
2021-04-26 14:59:44 -07:00
RPM
2017-03-27 19:19:58 -07:00
* offset 4
*/
2021-12-01 21:04:17 -08:00
int16_t rpm ;
2017-03-27 19:19:58 -07:00
/**
* need 4 byte alignment
2021-07-03 08:33:11 -07:00
units
2017-03-27 19:19:58 -07:00
* offset 6
*/
2020-02-02 10:18:41 -08:00
uint8_t alignmentFill_at_6 [ 2 ] ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-17 13:30:07 -07:00
static_assert ( sizeof ( cranking_parameters_s ) = = 8 ) ;
2019-05-27 16:35:30 -07:00
2019-04-04 18:34:33 -07:00
// start of spi_pins
2019-05-27 16:35:30 -07:00
struct spi_pins {
2019-04-04 18:34:33 -07:00
/**
* offset 0
*/
2022-04-28 15:06:22 -07:00
Gpio mosiPin ;
2019-04-04 18:34:33 -07:00
/**
2022-04-29 16:48:53 -07:00
* offset 2
2019-04-04 18:34:33 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio misoPin ;
2019-04-04 18:34:33 -07:00
/**
2022-04-29 16:48:53 -07:00
* offset 4
2019-04-04 18:34:33 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio sckPin ;
2019-04-04 18:34:33 -07:00
/**
* need 4 byte alignment
2021-07-03 08:33:11 -07:00
units
2022-04-29 16:48:53 -07:00
* offset 6
2019-04-04 18:34:33 -07:00
*/
2022-04-29 16:48:53 -07:00
uint8_t alignmentFill_at_6 [ 2 ] ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-29 16:48:53 -07:00
static_assert ( sizeof ( spi_pins ) = = 8 ) ;
2019-05-27 16:35:30 -07:00
2020-04-25 15:07:37 -07:00
// start of gppwm_channel
struct gppwm_channel {
/**
* Select a pin to use for PWM or on - off output .
* offset 0
*/
2020-04-26 11:19:00 -07:00
output_pin_e pin ;
2020-04-25 15:07:37 -07:00
/**
* 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 .
2021-04-26 14:59:44 -07:00
%
2022-04-29 16:48:53 -07:00
* offset 2
2020-04-25 15:07:37 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t dutyIfError ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
* offset 3
*/
uint8_t alignmentFill_at_3 [ 1 ] ;
2020-04-25 15:07:37 -07:00
/**
* Select a frequency to run PWM at .
* Set this to 0 hz to enable on - off mode .
2021-04-26 14:59:44 -07:00
hz
2022-04-29 16:48:53 -07:00
* offset 4
2020-04-25 15:07:37 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t pwmFrequency ;
2020-04-25 15:07:37 -07:00
/**
2021-09-05 17:26:59 -07:00
* Hysteresis : in on - off mode , turn the output on when the table value is above this duty .
2021-04-26 14:59:44 -07:00
%
2022-04-29 16:48:53 -07:00
* offset 6
2020-04-25 15:07:37 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t onAboveDuty ;
2020-04-25 15:07:37 -07:00
/**
2021-09-05 17:26:59 -07:00
* Hysteresis : in on - off mode , turn the output off when the table value is below this duty .
2021-04-26 14:59:44 -07:00
%
2022-04-29 16:48:53 -07:00
* offset 7
2020-04-25 15:07:37 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t offBelowDuty ;
2020-04-25 15:07:37 -07:00
/**
* Selects the load axis to use for the table .
2022-04-29 16:48:53 -07:00
* offset 8
2020-04-25 15:07:37 -07:00
*/
gppwm_channel_e loadAxis ;
/**
2021-04-26 14:59:44 -07:00
unit
2022-04-29 16:48:53 -07:00
* offset 9
2020-04-25 15:07:37 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t alignmentFill_map ;
2020-04-25 15:07:37 -07:00
/**
2021-04-26 14:59:44 -07:00
load
2022-04-29 16:48:53 -07:00
* offset 10
2020-04-25 15:07:37 -07:00
*/
uint8_t loadBins [ GPPWM_LOAD_COUNT ] ;
/**
2021-04-26 14:59:44 -07:00
RPM
2022-04-29 16:48:53 -07:00
* offset 18
2020-04-25 15:07:37 -07:00
*/
2022-06-29 15:52:53 -07:00
scaled_channel < uint8_t , 1 , 100 > rpmBins [ GPPWM_RPM_COUNT ] ;
2020-04-25 15:07:37 -07:00
/**
2021-11-05 19:01:07 -07:00
duty
2022-04-29 16:48:53 -07:00
* offset 26
2020-04-25 15:07:37 -07:00
*/
2021-11-05 19:01:07 -07:00
uint8_t table [ GPPWM_RPM_COUNT ] [ GPPWM_LOAD_COUNT ] ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
* offset 90
*/
uint8_t alignmentFill_at_90 [ 2 ] ;
2020-04-25 15:07:37 -07:00
} ;
2022-04-29 16:48:53 -07:00
static_assert ( sizeof ( gppwm_channel ) = = 92 ) ;
2020-04-25 15:07:37 -07:00
2018-12-19 18:32:26 -08:00
// start of air_pressure_sensor_config_s
2019-05-27 16:35:30 -07:00
struct air_pressure_sensor_config_s {
2017-03-27 19:19:58 -07:00
/**
* kPa value at low volts
2021-04-26 14:59:44 -07:00
kpa
2017-03-27 19:19:58 -07:00
* offset 0
*/
2021-12-01 21:04:17 -08:00
float lowValue ;
2017-03-27 19:19:58 -07:00
/**
* kPa value at high volts
2021-04-26 14:59:44 -07:00
kpa
2017-03-27 19:19:58 -07:00
* offset 4
*/
2021-12-01 21:04:17 -08:00
float highValue ;
2017-03-27 19:19:58 -07:00
/**
* offset 8
*/
air_pressure_sensor_type_e type ;
/**
2022-05-01 05:09:38 -07:00
* offset 9
2017-03-27 19:19:58 -07:00
*/
adc_channel_e hwChannel ;
2022-04-24 20:46:16 -07:00
/**
2022-04-25 18:42:14 -07:00
* need 4 byte alignment
units
2022-05-01 05:09:38 -07:00
* offset 10
2022-04-24 20:46:16 -07:00
*/
2022-05-01 05:09:38 -07:00
uint8_t alignmentFill_at_10 [ 2 ] ;
2019-05-27 16:35:30 -07:00
} ;
2022-05-01 05:09:38 -07:00
static_assert ( sizeof ( air_pressure_sensor_config_s ) = = 12 ) ;
2019-05-27 16:35:30 -07:00
2017-03-24 10:41:36 -07:00
/**
2017-03-27 19:19:58 -07:00
* @ brief MAP averaging configuration
2017-03-24 10:41:36 -07:00
*/
2018-12-19 18:32:26 -08:00
// start of MAP_sensor_config_s
2019-05-27 16:35:30 -07:00
struct MAP_sensor_config_s {
2017-03-27 19:19:58 -07:00
/**
* offset 0
*/
2015-07-10 06:01:56 -07:00
float samplingAngleBins [ MAP_ANGLE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* MAP averaging sampling start crank degree angle
2021-04-26 14:59:44 -07:00
deg
2017-03-27 19:19:58 -07:00
* offset 32
*/
2015-07-10 06:01:56 -07:00
float samplingAngle [ MAP_ANGLE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
* offset 64
*/
2015-07-10 06:01:56 -07:00
float samplingWindowBins [ MAP_WINDOW_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* MAP averaging angle crank degree duration
2021-04-26 14:59:44 -07:00
deg
2017-03-27 19:19:58 -07:00
* offset 96
*/
2015-07-10 06:01:56 -07:00
float samplingWindow [ MAP_WINDOW_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
* offset 128
*/
air_pressure_sensor_config_s sensor ;
2019-05-27 16:35:30 -07:00
} ;
2022-05-01 05:09:38 -07:00
static_assert ( sizeof ( MAP_sensor_config_s ) = = 140 ) ;
2019-05-27 16:35:30 -07:00
2017-03-24 10:41:36 -07:00
/**
2017-03-27 19:19:58 -07:00
* @ brief Thermistor known values
2017-03-24 10:41:36 -07:00
*/
2018-12-19 18:32:26 -08:00
// start of thermistor_conf_s
2019-05-27 16:35:30 -07:00
struct thermistor_conf_s {
2017-03-27 19:19:58 -07:00
/**
2019-06-11 19:01:07 -07:00
* these values are in Celcius
2021-04-26 14:59:44 -07:00
* C
2017-03-27 19:19:58 -07:00
* offset 0
*/
2021-12-01 21:04:17 -08:00
float tempC_1 ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
* C
2017-03-27 19:19:58 -07:00
* offset 4
*/
2021-12-01 21:04:17 -08:00
float tempC_2 ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
* C
2017-03-27 19:19:58 -07:00
* offset 8
*/
2021-12-01 21:04:17 -08:00
float tempC_3 ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
Ohm
2017-03-27 19:19:58 -07:00
* offset 12
*/
2021-12-01 21:04:17 -08:00
float resistance_1 ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
Ohm
2017-03-27 19:19:58 -07:00
* offset 16
*/
2021-12-01 21:04:17 -08:00
float resistance_2 ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
Ohm
2017-03-27 19:19:58 -07:00
* offset 20
*/
2021-12-01 21:04:17 -08:00
float resistance_3 ;
2017-03-27 19:19:58 -07:00
/**
2019-06-11 17:32:27 -07:00
* Pull - up resistor value on your board
2021-04-26 14:59:44 -07:00
Ohm
2017-03-27 19:19:58 -07:00
* offset 24
*/
2021-12-01 21:04:17 -08:00
float bias_resistor ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-17 13:30:07 -07:00
static_assert ( sizeof ( thermistor_conf_s ) = = 28 ) ;
2019-05-27 16:35:30 -07:00
2017-11-15 11:30:13 -08:00
/**
2020-10-23 04:33:40 -07:00
* @ brief Linear sensor interpolation
2017-11-15 11:30:13 -08:00
*/
2020-10-23 04:33:40 -07:00
// start of linear_sensor_s
struct linear_sensor_s {
2017-11-15 11:30:13 -08:00
/**
* offset 0
*/
adc_channel_e hwChannel ;
2022-04-24 20:46:16 -07:00
/**
2022-04-25 18:42:14 -07:00
* need 4 byte alignment
units
2022-04-24 21:01:07 -07:00
* offset 1
2022-04-24 20:46:16 -07:00
*/
2022-04-25 18:42:14 -07:00
uint8_t alignmentFill_at_1 [ 3 ] ;
2017-11-15 11:30:13 -08:00
/**
2021-04-26 14:59:44 -07:00
volts
2022-04-24 21:01:07 -07:00
* offset 4
2017-11-15 11:30:13 -08:00
*/
2021-12-01 21:04:17 -08:00
float v1 ;
2017-11-15 11:30:13 -08:00
/**
2021-04-26 14:59:44 -07:00
kPa
2022-04-24 21:01:07 -07:00
* offset 8
2017-11-15 11:30:13 -08:00
*/
2021-12-01 21:04:17 -08:00
float value1 ;
2017-11-15 11:30:13 -08:00
/**
2021-04-26 14:59:44 -07:00
volts
2022-04-24 21:01:07 -07:00
* offset 12
2017-11-15 11:30:13 -08:00
*/
2021-12-01 21:04:17 -08:00
float v2 ;
2017-11-15 11:30:13 -08:00
/**
2021-04-26 14:59:44 -07:00
kPa
2022-04-24 21:01:07 -07:00
* offset 16
2017-11-15 11:30:13 -08:00
*/
2021-12-01 21:04:17 -08:00
float value2 ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-24 21:01:07 -07:00
static_assert ( sizeof ( linear_sensor_s ) = = 20 ) ;
2019-05-27 16:35:30 -07:00
2017-03-24 10:41:36 -07:00
/**
2017-03-27 19:19:58 -07:00
* @ brief Thermistor curve parameters
2017-03-24 10:41:36 -07:00
*/
2018-12-19 18:32:26 -08:00
// start of ThermistorConf
2019-05-27 16:35:30 -07:00
struct ThermistorConf {
2017-03-27 19:19:58 -07:00
/**
* offset 0
*/
thermistor_conf_s config ;
/**
* offset 28
*/
adc_channel_e adcChannel ;
2019-02-22 19:10:41 -08:00
/**
* need 4 byte alignment
2021-07-03 08:33:11 -07:00
units
2019-02-22 19:10:41 -08:00
* offset 29
*/
2020-02-02 10:18:41 -08:00
uint8_t alignmentFill_at_29 [ 3 ] ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-17 13:30:07 -07:00
static_assert ( sizeof ( ThermistorConf ) = = 32 ) ;
2019-05-27 16:35:30 -07:00
2018-12-19 18:32:26 -08:00
// start of injector_s
2019-05-27 16:35:30 -07:00
struct injector_s {
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* This is your injector flow at the fuel pressure used in the vehicle . cc / min , cubic centimetre per minute
2017-03-27 19:19:58 -07:00
* By the way , g / s = 0.125997881 * ( lb / hr )
* g / s = 0.125997881 * ( cc / min ) / 10.5
* g / s = 0.0119997981 * cc / min
2021-04-26 14:59:44 -07:00
cm3 / min
2017-03-27 19:19:58 -07:00
* offset 0
*/
2021-12-01 21:04:17 -08:00
float flow ;
2017-03-27 19:19:58 -07:00
/**
2017-06-11 12:32:29 -07:00
* set_flat_injector_lag LAG
* set_injector_lag VOLTAGE LAG
2021-04-26 14:59:44 -07:00
volts
2017-11-19 09:07:07 -08:00
* offset 4
2017-03-27 19:19:58 -07:00
*/
2015-07-10 06:01:56 -07:00
float battLagCorrBins [ VBAT_INJECTOR_CURVE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2017-06-11 12:32:29 -07:00
* ms delay between injector open and close dead times
2021-04-26 14:59:44 -07:00
ms
2017-11-19 09:07:07 -08:00
* offset 36
2017-03-27 19:19:58 -07:00
*/
2015-07-10 06:01:56 -07:00
float battLagCorr [ VBAT_INJECTOR_CURVE_SIZE ] ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-17 13:30:07 -07:00
static_assert ( sizeof ( injector_s ) = = 68 ) ;
2019-05-27 16:35:30 -07:00
2018-12-19 18:32:26 -08:00
// start of specs_s
2019-05-27 16:35:30 -07:00
struct specs_s {
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* Engine volume / capacity , in litres
2017-03-27 19:19:58 -07:00
* see also cylindersCount
2021-04-26 14:59:44 -07:00
L
2017-03-27 19:19:58 -07:00
* offset 0
*/
2021-12-01 21:04:17 -08:00
float displacement ;
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* Number of cylinder the engine has .
2017-03-27 19:19:58 -07:00
* offset 4
*/
2021-12-01 21:04:17 -08:00
uint32_t cylindersCount ;
2017-03-27 19:19:58 -07:00
/**
* offset 8
*/
firing_order_e firingOrder ;
2022-05-01 20:14:48 -07:00
/**
* need 4 byte alignment
units
* offset 9
*/
uint8_t alignmentFill_at_9 [ 3 ] ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-17 13:30:07 -07:00
static_assert ( sizeof ( specs_s ) = = 12 ) ;
2019-05-27 16:35:30 -07:00
2017-03-24 10:41:36 -07:00
/**
2017-03-27 19:19:58 -07:00
* @ brief Trigger wheel ( s ) configuration
2017-03-24 10:41:36 -07:00
*/
2018-12-19 18:32:26 -08:00
// start of trigger_config_s
2019-05-27 16:35:30 -07:00
struct trigger_config_s {
2017-03-27 19:19:58 -07:00
/**
2021-04-18 06:37:46 -07:00
* https : //github.com/rusefi/rusefi/wiki/All-Supported-Triggers
2017-03-27 19:19:58 -07:00
* set trigger_type X
* offset 0
*/
trigger_type_e type ;
/**
2021-04-26 14:59:44 -07:00
number
2022-05-30 04:21:11 -07:00
* offset 4
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int customTotalToothCount ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
number
2022-05-30 04:21:11 -07:00
* offset 8
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int customSkippedToothCount ;
2019-05-27 16:35:30 -07:00
} ;
2022-05-30 04:21:11 -07:00
static_assert ( sizeof ( trigger_config_s ) = = 12 ) ;
2019-05-27 16:35:30 -07:00
2018-12-19 18:32:26 -08:00
// start of afr_sensor_s
2019-05-27 16:35:30 -07:00
struct afr_sensor_s {
2017-03-27 19:19:58 -07:00
/**
* offset 0
*/
adc_channel_e hwChannel ;
2022-04-24 20:46:16 -07:00
/**
2022-04-25 18:42:14 -07:00
* need 4 byte alignment
units
2022-04-24 21:01:07 -07:00
* offset 1
2022-04-24 20:46:16 -07:00
*/
2022-04-25 18:42:14 -07:00
uint8_t alignmentFill_at_1 [ 3 ] ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
volts
2022-04-24 21:01:07 -07:00
* offset 4
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float v1 ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
AFR
2022-04-24 21:01:07 -07:00
* offset 8
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float value1 ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
volts
2022-04-24 21:01:07 -07:00
* offset 12
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float v2 ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
AFR
2022-04-24 21:01:07 -07:00
* offset 16
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float value2 ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-24 21:01:07 -07:00
static_assert ( sizeof ( afr_sensor_s ) = = 20 ) ;
2019-05-27 16:35:30 -07:00
2018-12-19 18:32:26 -08:00
// start of idle_hardware_s
2019-05-27 16:35:30 -07:00
struct idle_hardware_s {
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
Hz
2017-03-27 19:19:58 -07:00
* offset 0
*/
2021-12-01 21:04:17 -08:00
int solenoidFrequency ;
2017-03-27 19:19:58 -07:00
/**
* offset 4
*/
2020-03-09 16:15:13 -07:00
output_pin_e solenoidPin ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* offset 6
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio stepperDirectionPin ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* offset 8
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio stepperStepPin ;
2019-02-22 19:10:41 -08:00
/**
2022-04-29 16:48:53 -07:00
* offset 10
2019-02-22 19:10:41 -08:00
*/
pin_output_mode_e solenoidPinMode ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
* offset 11
*/
uint8_t alignmentFill_at_11 [ 1 ] ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-29 16:48:53 -07:00
static_assert ( sizeof ( idle_hardware_s ) = = 12 ) ;
2019-05-27 16:35:30 -07:00
2020-11-16 16:45:34 -08:00
// start of dc_io
struct dc_io {
2019-03-10 09:02:25 -07:00
/**
* offset 0
*/
2022-04-28 15:06:22 -07:00
Gpio directionPin1 ;
2019-03-10 09:02:25 -07:00
/**
2022-04-29 16:48:53 -07:00
* offset 2
2019-03-10 09:02:25 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio directionPin2 ;
2019-03-10 09:02:25 -07:00
/**
2021-06-05 13:09:52 -07:00
* Acts as EN pin in two - wire mode
2022-04-29 16:48:53 -07:00
* offset 4
2019-03-10 09:02:25 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio controlPin ;
2019-03-10 09:02:25 -07:00
/**
2022-04-29 16:48:53 -07:00
* offset 6
2019-03-10 09:02:25 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio disablePin ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-29 16:48:53 -07:00
static_assert ( sizeof ( dc_io ) = = 8 ) ;
2019-05-27 16:35:30 -07:00
2021-07-28 04:49:04 -07:00
// start of vr_threshold_s
struct vr_threshold_s {
/**
2022-04-24 23:20:36 -07:00
rpm
2021-07-28 04:49:04 -07:00
* offset 0
*/
2022-04-24 23:20:36 -07:00
scaled_channel < uint8_t , 1 , 50 > rpmBins [ 6 ] ;
2021-07-28 04:49:04 -07:00
/**
2022-04-24 23:20:36 -07:00
volts
* offset 6
2021-07-28 04:49:04 -07:00
*/
2022-04-24 23:20:36 -07:00
scaled_channel < uint8_t , 100 , 1 > values [ 6 ] ;
2021-07-28 04:49:04 -07:00
/**
2022-04-24 23:20:36 -07:00
* offset 12
2021-07-28 04:49:04 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio pin ;
2021-07-28 04:49:04 -07:00
/**
2022-04-24 23:20:36 -07:00
* need 4 byte alignment
units
2022-04-29 16:48:53 -07:00
* offset 14
2021-07-28 04:49:04 -07:00
*/
2022-04-29 16:48:53 -07:00
uint8_t alignmentFill_at_14 [ 2 ] ;
2021-07-28 04:49:04 -07:00
} ;
2022-04-24 21:01:07 -07:00
static_assert ( sizeof ( vr_threshold_s ) = = 16 ) ;
2021-07-28 04:49:04 -07:00
2019-12-11 14:48:55 -08:00
// start of engine_configuration_s
struct engine_configuration_s {
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* http : //rusefi.com/wiki/index.php?title=Manual:Engine_Type
* set engine_type X
2017-03-27 19:19:58 -07:00
* offset 0
*/
2019-12-11 14:48:55 -08:00
engine_type_e engineType ;
2021-12-19 23:04:16 -08:00
/**
* Disable sensor sniffer above this rpm
RPM
2022-05-02 02:02:46 -07:00
* offset 4
2021-12-19 23:04:16 -08:00
*/
2022-06-29 15:52:53 -07:00
uint16_t sensorSnifferRpmThreshold ;
2021-12-19 23:04:16 -08:00
/**
2022-06-29 15:52:53 -07:00
* A secondary Rev limit engaged by the driver to help launch the vehicle faster
2021-12-19 23:04:16 -08:00
rpm
2022-06-29 15:52:53 -07:00
* offset 6
2021-12-19 23:04:16 -08:00
*/
2022-06-29 15:52:53 -07:00
uint16_t launchRpm ;
2021-12-19 23:04:16 -08:00
/**
2022-06-29 15:52:53 -07:00
* set rpm_hard_limit X
2021-12-19 23:04:16 -08:00
rpm
2022-06-29 15:52:53 -07:00
* offset 8
2021-12-19 23:04:16 -08:00
*/
2022-06-29 15:52:53 -07:00
uint16_t rpmHardLimit ;
2022-04-24 20:46:16 -07:00
/**
* Engine sniffer would be disabled above this rpm
* set engineSnifferRpmThreshold X
RPM
2022-06-29 15:52:53 -07:00
* offset 10
2019-12-11 14:48:55 -08:00
*/
2022-06-29 15:52:53 -07:00
uint16_t engineSnifferRpmThreshold ;
2017-03-27 19:19:58 -07:00
/**
2021-12-19 23:04:16 -08:00
* Disable multispark above this engine speed .
rpm
2022-06-29 15:52:53 -07:00
* offset 12
2017-03-27 19:19:58 -07:00
*/
2021-12-19 23:04:16 -08:00
scaled_channel < uint8_t , 1 , 50 > multisparkMaxRpm ;
/**
* Above this RPM , disable AC . Set to 0 to disable check .
rpm
2022-06-29 15:52:53 -07:00
* offset 13
2021-12-19 23:04:16 -08:00
*/
scaled_channel < uint8_t , 1 , 50 > maxAcRpm ;
/**
* Above this TPS , disable AC . Set to 0 to disable check .
%
2022-06-29 15:52:53 -07:00
* offset 14
2021-12-19 23:04:16 -08:00
*/
uint8_t maxAcTps ;
/**
* Above this CLT , disable AC to prevent overheating the engine . Set to 0 to disable check .
deg C
2022-06-29 15:52:53 -07:00
* offset 15
2021-12-19 23:04:16 -08:00
*/
uint8_t maxAcClt ;
/**
2022-04-18 05:10:05 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 16
2021-12-19 23:04:16 -08:00
*/
2022-06-29 15:52:53 -07:00
uint16_t knockNoiseRpmBins [ ENGINE_NOISE_CURVE_SIZE ] ;
2021-12-19 23:04:16 -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 .
deg
2022-06-29 15:52:53 -07:00
* offset 48
2021-12-19 23:04:16 -08:00
*/
uint8_t multisparkMaxSparkingAngle ;
/**
* Configures the maximum number of extra sparks to fire ( does not include main spark )
count
2022-06-29 15:52:53 -07:00
* offset 49
2021-12-19 23:04:16 -08:00
*/
uint8_t multisparkMaxExtraSparkCount ;
2022-04-24 21:01:07 -07:00
/**
2022-05-02 02:02:46 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 50
2022-05-02 02:02:46 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_50 [ 2 ] ;
2022-05-02 02:02:46 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 52
2021-12-19 23:04:16 -08:00
*/
2019-12-11 14:48:55 -08:00
injector_s injector ;
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* Does the vehicle have a turbo or supercharger ?
2022-06-29 15:52:53 -07:00
offset 120 bit 0 */
2021-11-19 20:16:43 -08:00
bool isForcedInduction : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-04-30 08:03:28 -07:00
* On Ford vehicles one of the sensors is not linear on the full range , i . e . in the specific range of the positions we effectively have only one sensor .
2022-06-29 15:52:53 -07:00
offset 120 bit 1 */
2021-11-19 20:16:43 -08:00
bool useFordRedundantTps : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 2 */
2021-11-19 20:16:43 -08:00
bool isVerboseAuxPid1 : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 3 */
2021-11-19 20:16:43 -08:00
bool overrideTriggerGaps : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-06-11 03:27:21 -07:00
* Turn on this fan when AC is on .
2022-06-29 15:52:53 -07:00
offset 120 bit 4 */
2021-11-19 20:16:43 -08:00
bool enableFan1WithAc : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-06-11 03:27:21 -07:00
* Turn on this fan when AC is on .
2022-06-29 15:52:53 -07:00
offset 120 bit 5 */
2021-11-19 20:16:43 -08:00
bool enableFan2WithAc : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-06-28 05:55:05 -07:00
* Inhibit operation of this fan while the engine is not running .
2022-06-29 15:52:53 -07:00
offset 120 bit 6 */
2021-11-19 20:16:43 -08:00
bool disableFan1WhenStopped : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-06-28 05:55:05 -07:00
* Inhibit operation of this fan while the engine is not running .
2022-06-29 15:52:53 -07:00
offset 120 bit 7 */
2021-11-19 20:16:43 -08:00
bool disableFan2WhenStopped : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-07-09 05:40:06 -07:00
* Enable secondary spark outputs that fire after the primary ( rotaries , twin plug engines ) .
2022-06-29 15:52:53 -07:00
offset 120 bit 8 */
2021-11-19 20:16:43 -08:00
bool enableTrailingSparks : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2020-04-08 19:12:33 -07:00
* enable cj125verbose / disable cj125verbose
2022-06-29 15:52:53 -07:00
offset 120 bit 9 */
2021-11-19 20:16:43 -08:00
bool isCJ125Verbose : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2020-05-01 14:36:33 -07:00
* Is your UA CJ125 output wired to MCU via resistor divider ? Ua can go over 3.3 v but only at lambda > 3 , i . e very lean AFR above 44.1
* When exposed to free air and 17 x gain , Ua will be 4.17 volt
2022-06-29 15:52:53 -07:00
offset 120 bit 10 */
2021-11-19 20:16:43 -08:00
bool cj125isUaDivided : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 11 */
2021-11-19 20:16:43 -08:00
bool cj125isLsu49 : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2020-03-29 07:29:33 -07:00
* TLE7209 uses two - wire mode . TLE9201 and VNH2SP30 do NOT use two wire mode .
2022-06-29 15:52:53 -07:00
offset 120 bit 12 */
2021-11-19 20:16:43 -08:00
bool etb_use_two_wires : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2020-12-06 15:08:10 -08:00
* 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 .
2022-06-29 15:52:53 -07:00
offset 120 bit 13 */
2021-11-19 20:16:43 -08:00
bool isDoubleSolenoidIdle : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 14 */
2022-02-06 16:04:39 -08:00
bool useEeprom : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2020-03-17 07:20:29 -07:00
* Is your UR CJ125 output wired to MCU via resistor divider ?
* Looks like 3 v range should be enough , divider generally not needed .
2022-06-29 15:52:53 -07:00
offset 120 bit 15 */
2021-11-19 20:16:43 -08:00
bool cj125isUrDivided : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2020-07-12 14:36:03 -07:00
* Switch between Industrial and Cic PID implementation
2022-06-29 15:52:53 -07:00
offset 120 bit 16 */
2021-11-19 20:16:43 -08:00
bool useCicPidForIdle : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 17 */
2021-11-19 20:16:43 -08:00
bool useTLE8888_cranking_hack : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 18 */
2021-11-19 20:16:43 -08:00
bool useInstantRpmForIdle : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-10-06 09:18:32 -07:00
* This uses separate ignition timing and VE tables not only for idle conditions , also during the postcranking - to - idle taper transition ( See also afterCrankingIACtaperDuration ) .
2022-06-29 15:52:53 -07:00
offset 120 bit 19 */
2021-11-19 20:16:43 -08:00
bool useSeparateIdleTablesForCrankingTaper : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 20 */
2021-11-19 20:16:43 -08:00
bool launchControlEnabled : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 21 */
2021-11-19 20:16:43 -08:00
bool rollingLaunchEnabled : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 22 */
2021-11-19 20:16:43 -08:00
bool antiLagEnabled : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-05-21 12:28:41 -07:00
* For cranking either use the specified fixed base fuel mass , or use the normal running math ( VE table ) .
2022-06-29 15:52:53 -07:00
offset 120 bit 23 */
2021-11-19 20:16:43 -08:00
bool useRunningMathForCranking : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-04-04 17:01:45 -07:00
* Shall we display real life signal or just the part consumed by trigger decoder .
2021-10-24 13:06:18 -07:00
* Applies to both trigger and cam / vvt input .
*
2021-04-07 13:46:09 -07:00
* enable logic_level_trigger
2022-06-29 15:52:53 -07:00
offset 120 bit 24 */
2021-11-19 20:16:43 -08:00
bool displayLogicLevelsInEngineSniffer : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 25 */
2021-11-19 20:16:43 -08:00
bool useTLE8888_stepper : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-01-31 14:21:02 -08:00
* If enabled , the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS .
2022-06-29 15:52:53 -07:00
offset 120 bit 26 */
2021-11-19 20:16:43 -08:00
bool enableMapEstimationTableFallback : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 27 */
2021-11-19 20:16:43 -08:00
bool usescriptTableForCanSniffingFiltering : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-02-10 07:29:24 -08:00
* Print incoming and outgoing first bus CAN messages in rusEFI console
2022-06-29 15:52:53 -07:00
offset 120 bit 28 */
2021-12-06 18:38:31 -08:00
bool verboseCan : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2021-11-03 14:10:50 -07:00
* Experimental setting that will cause a misfire
2021-11-06 06:26:06 -07:00
* DO NOT ENABLE .
2022-06-29 15:52:53 -07:00
offset 120 bit 29 */
2021-11-19 20:16:43 -08:00
bool artificialTestMisfire : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 30 */
2021-11-19 20:16:43 -08:00
bool issue_294_31 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 120 bit 31 */
2022-05-02 02:02:46 -07:00
bool unusedBit_45_31 : 1 { } ;
2019-12-11 14:48:55 -08:00
/**
2020-11-14 15:08:03 -08:00
* Closed throttle , 1 volt = 200 units .
2019-12-11 14:48:55 -08:00
* See also tps1_1AdcChannel
* set tps_min X
2021-04-26 14:59:44 -07:00
ADC
2022-06-29 15:52:53 -07:00
* offset 124
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t tpsMin ;
2017-03-27 19:19:58 -07:00
/**
2020-11-14 15:08:03 -08:00
* Full throttle .
2019-12-11 14:48:55 -08:00
* See also tps1_1AdcChannel
* set tps_max X
2021-04-26 14:59:44 -07:00
ADC
2022-06-29 15:52:53 -07:00
* offset 126
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t tpsMax ;
2017-03-27 19:19:58 -07:00
/**
2020-05-10 07:11:51 -07:00
* TPS error detection : what throttle % is unrealistically low ?
* Also used for accelerator pedal error detection if so equiped .
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 128
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t tpsErrorDetectionTooLow ;
2017-03-27 19:19:58 -07:00
/**
2020-05-10 07:11:51 -07:00
* TPS error detection : what throttle % is unrealistically high ?
* Also used for accelerator pedal error detection if so equiped .
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 130
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t tpsErrorDetectionTooHigh ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 132
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
cranking_parameters_s cranking ;
2019-02-22 19:10:41 -08:00
/**
2021-06-13 05:01:23 -07:00
* Dwell duration while cranking
2021-04-26 14:59:44 -07:00
ms
2022-06-29 15:52:53 -07:00
* offset 140
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float ignitionDwellForCrankingMs ;
2017-03-27 19:19:58 -07:00
/**
2021-06-16 05:54:10 -07:00
* Once engine speed passes this value , start reducing ETB angle .
2021-06-16 14:09:18 -07:00
rpm
2022-06-29 15:52:53 -07:00
* offset 144
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t etbRevLimitStart ;
2021-06-16 05:54:10 -07:00
/**
* 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 .
2021-06-16 14:09:18 -07:00
rpm
2022-06-29 15:52:53 -07:00
* offset 146
2021-06-16 05:54:10 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t etbRevLimitRange ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* @ see isMapAveragingEnabled
2022-06-29 15:52:53 -07:00
* offset 148
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
MAP_sensor_config_s map ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* todo : merge with channel settings , use full - scale Thermistor here !
2022-06-29 15:52:53 -07:00
* offset 288
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
ThermistorConf clt ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 320
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
ThermistorConf iat ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
deg
2022-06-29 15:52:53 -07:00
* offset 352
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int launchTimingRetard ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* value ' 6 ' for 8 MHz hw osc
* read hip9011 datasheet for details
* todo split into two bit fields
2021-04-26 14:59:44 -07:00
integer
2022-06-29 15:52:53 -07:00
* offset 356
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int hip9011PrescalerAndSDO ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* We calculate knock band based of cylinderBore
* Use this to override - kHz knock band override
2021-04-26 14:59:44 -07:00
kHz
2022-06-29 15:52:53 -07:00
* offset 360
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float knockBandCustom ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 364
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
specs_s specs ;
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* Cylinder diameter in mm .
2021-04-26 14:59:44 -07:00
mm
2022-06-29 15:52:53 -07:00
* offset 376
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float cylinderBore ;
2019-12-11 14:48:55 -08:00
/**
2021-06-17 08:41:07 -07:00
* This setting controls which fuel quantity control algorithm is used .
2021-11-03 14:10:50 -07:00
* 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 .
2022-06-29 15:52:53 -07:00
* offset 380
2019-12-11 14:48:55 -08:00
*/
engine_load_mode_e fuelAlgorithm ;
/**
2022-06-29 15:52:53 -07:00
* offset 381
2019-12-11 14:48:55 -08:00
*/
2022-05-01 12:20:46 -07:00
uint8_t alignmentFill_at_1 [ 3 ] ;
/**
* This is the injection strategy during engine start . See Fuel / Injection settings for more detail . It is suggested to use " Simultaneous " .
2022-06-29 15:52:53 -07:00
* offset 384
2022-05-01 12:20:46 -07:00
*/
2019-12-11 14:48:55 -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 . If your injectors are individually wired you will also need to enable " Two wire batch emulation " .
* set injection_mode X
* See also twoWireBatchInjection
2022-06-29 15:52:53 -07:00
* offset 385
2019-12-11 14:48:55 -08:00
*/
injection_mode_e injectionMode ;
2022-05-01 11:18:04 -07:00
/**
2022-07-27 23:53:58 -07:00
* Minimum RPM to enable boost control . Use this to avoid solenoid noise at idle , and help spool in some cases .
2022-06-29 15:52:53 -07:00
* offset 386
2022-05-01 11:18:04 -07:00
*/
2022-07-27 23:53:58 -07:00
uint16_t boostControlMinRpm ;
2019-12-11 14:48:55 -08:00
/**
2022-07-27 23:53:58 -07:00
* Minimum TPS to enable boost control . Use this to avoid solenoid noise at idle , and help spool in some cases .
2022-06-29 15:52:53 -07:00
* offset 388
2019-12-11 14:48:55 -08:00
*/
2022-07-27 23:53:58 -07:00
uint8_t boostControlMinTps ;
/**
* Minimum MAP to enable boost control . Use this to avoid solenoid noise at idle , and help spool in some cases .
* offset 389
*/
uint8_t boostControlMinMap ;
/**
* need 4 byte alignment
units
* offset 390
*/
uint8_t alignmentFill_at_390 [ 2 ] ;
2019-12-11 14:48:55 -08:00
/**
* Ignition advance angle used during engine cranking , 5 - 10 degrees will work as a base setting for most engines .
2021-05-23 11:03:56 -07:00
* There is tapering towards running timing advance
2019-12-11 14:48:55 -08:00
* set cranking_timing_angle X
2021-04-26 14:59:44 -07:00
deg
2022-06-29 15:52:53 -07:00
* offset 392
2019-12-11 14:48:55 -08:00
*/
2021-12-01 21:04:17 -08:00
angle_t crankingTimingAngle ;
2019-12-11 14:48:55 -08:00
/**
2021-05-21 12:28:41 -07:00
* 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
2019-12-11 14:48:55 -08:00
* set ignition_mode X
2022-06-29 15:52:53 -07:00
* offset 396
2019-12-11 14:48:55 -08:00
*/
ignition_mode_e ignitionMode ;
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* How many consecutive gap rations have to match expected ranges for sync to happen
2021-05-23 17:47:26 -07:00
count
2022-06-29 15:52:53 -07:00
* offset 397
2019-12-11 14:48:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int8_t gapTrackingLengthOverride ;
2021-05-23 17:47:26 -07:00
/**
2021-07-04 06:37:12 -07:00
* Above this speed , disable closed loop idle control . Set to 0 to disable ( allow closed loop idle at any speed ) .
kph
2022-06-29 15:52:53 -07:00
* offset 398
2021-05-23 17:47:26 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t maxIdleVss ;
2022-05-01 18:23:41 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 399
2022-05-01 18:23:41 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_399 [ 1 ] ;
2021-06-16 14:31:59 -07: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 .
kPa
2022-06-29 15:52:53 -07:00
* offset 400
2021-06-16 14:31:59 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t minOilPressureAfterStart ;
2019-12-11 14:48:55 -08:00
/**
2020-10-09 14:19:04 -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 ) .
2022-06-29 15:52:53 -07:00
* offset 402
2019-12-11 14:48:55 -08:00
*/
timing_mode_e timingMode ;
2022-05-01 05:09:38 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 403
2022-05-01 05:09:38 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_403 [ 1 ] ;
2019-12-11 14:48:55 -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 .
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 404
2019-12-11 14:48:55 -08:00
*/
2021-12-01 21:04:17 -08:00
angle_t fixedModeTiming ;
2019-12-11 14:48:55 -08:00
/**
* Angle between Top Dead Center ( TDC ) and the first trigger event .
2020-10-08 23:07:46 -07:00
* Positive value in case of synchnization point before TDC and negative in case of synchnization point after TDC
* . Knowing this angle allows us to control timing and other angles in reference to TDC .
2019-12-11 14:48:55 -08:00
* set global_trigger_offset_angle X
2021-04-26 14:59:44 -07:00
deg btdc
2022-06-29 15:52:53 -07:00
* offset 408
2019-12-11 14:48:55 -08:00
*/
2021-12-01 21:04:17 -08:00
angle_t globalTriggerAngleOffset ;
2019-12-11 14:48:55 -08:00
/**
2020-03-01 19:32:09 -08:00
* 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 .
2021-04-26 14:59:44 -07:00
coef
2022-06-29 15:52:53 -07:00
* offset 412
2019-12-11 14:48:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float analogInputDividerCoefficient ;
2019-12-11 14:48:55 -08:00
/**
* 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 .
2021-04-26 14:59:44 -07:00
coef
2022-06-29 15:52:53 -07:00
* offset 416
2019-12-11 14:48:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float vbattDividerCoeff ;
2019-12-11 14:48:55 -08:00
/**
* Cooling fan turn - on temperature threshold , in Celsius
2021-06-11 03:27:21 -07:00
deg C
2022-06-29 15:52:53 -07:00
* offset 420
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float fanOnTemperature ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Cooling fan turn - off temperature threshold , in Celsius
2021-06-11 03:27:21 -07:00
deg C
2022-06-29 15:52:53 -07:00
* offset 424
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float fanOffTemperature ;
2017-03-27 19:19:58 -07:00
/**
2021-11-27 06:01:08 -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 .
revs / km
2022-06-29 15:52:53 -07:00
* offset 428
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float driveWheelRevPerKm ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* set can_mode X
2022-06-29 15:52:53 -07:00
* offset 432
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
can_nbc_e canNbcType ;
2022-05-01 05:09:38 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 433
2022-05-01 05:09:38 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_433 [ 3 ] ;
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* CANbus thread period in ms
2021-04-26 14:59:44 -07:00
ms
2022-06-29 15:52:53 -07:00
* offset 436
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int canSleepPeriodMs ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 440
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
display_mode_e displayMode ;
2022-05-01 11:18:04 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 441
2022-05-01 11:18:04 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_441 [ 3 ] ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
index
2022-06-29 15:52:53 -07:00
* offset 444
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int byFirmwareVersion ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
index
2022-06-29 15:52:53 -07:00
* offset 448
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int HD44780width ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
index
2022-06-29 15:52:53 -07:00
* offset 452
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int HD44780height ;
2017-03-27 19:19:58 -07:00
/**
2020-01-10 22:08:41 -08:00
* First throttle body , first sensor . See also pedalPositionAdcChannel
2022-06-29 15:52:53 -07:00
* offset 456
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
adc_channel_e tps1_1AdcChannel ;
2019-04-14 15:12:15 -07:00
/**
2019-12-11 14:48:55 -08:00
* 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 .
2022-06-29 15:52:53 -07:00
* offset 457
2019-04-14 15:12:15 -07:00
*/
2019-12-11 14:48:55 -08:00
adc_channel_e vbattAdcChannel ;
2019-04-20 20:39:06 -07:00
/**
2019-12-11 14:48:55 -08:00
* 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 .
2022-06-29 15:52:53 -07:00
* offset 458
2019-04-20 20:39:06 -07:00
*/
2019-12-11 14:48:55 -08:00
adc_channel_e fuelLevelSensor ;
2019-04-20 20:39:06 -07:00
/**
2019-12-11 14:48:55 -08:00
* Second throttle body position sensor , single channel so far
2020-03-29 22:13:02 -07:00
* set_analog_input_pin tps2 X
2022-06-29 15:52:53 -07:00
* offset 459
2019-04-20 20:39:06 -07:00
*/
2019-12-11 14:48:55 -08:00
adc_channel_e tps2_1AdcChannel ;
2017-03-27 19:19:58 -07:00
/**
2020-07-10 13:06:22 -07:00
* 0.1 is a good default value
2021-04-26 14:59:44 -07:00
x
2022-06-29 15:52:53 -07:00
* offset 460
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float idle_derivativeFilterLoss ;
2019-12-02 14:49:01 -08:00
/**
2021-07-09 07:09:27 -07:00
* just a temporary solution
angle
2022-06-29 15:52:53 -07:00
* offset 464
2019-12-02 14:49:01 -08:00
*/
2021-12-01 21:04:17 -08:00
int trailingSparkAngle ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 468
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
trigger_config_s trigger ;
2022-05-30 04:21:11 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 480
2022-05-30 04:21:11 -07:00
*/
int unused460 ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 484
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
spi_device_e hip9011SpiDevice ;
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* Single value to be used in event of a failed MAP sensor
2021-01-27 17:33:00 -08:00
* This value is only used for speed density fueling calculations .
2021-04-26 14:59:44 -07:00
kPa
2022-06-29 15:52:53 -07:00
* offset 485
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t failedMapFallback ;
2017-03-27 19:19:58 -07:00
/**
2022-07-27 23:53:58 -07:00
* 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 .
2021-05-30 04:06:46 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 486
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t boostControlSafeDutyCycle ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 487
2019-02-22 19:10:41 -08:00
*/
2019-12-11 14:48:55 -08:00
adc_channel_e mafAdcChannel ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* set global_fuel_correction X
2021-04-26 14:59:44 -07:00
coef
2022-06-29 15:52:53 -07:00
* offset 488
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float globalFuelCorrection ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
volts
2022-06-29 15:52:53 -07:00
* offset 492
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float adcVcc ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
Deg
2022-06-29 15:52:53 -07:00
* offset 496
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float mapCamDetectionAnglePosition ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* 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 .
2022-06-29 15:52:53 -07:00
* offset 500
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_input_pin_e camInputs [ CAM_INPUTS_COUNT ] ;
2021-02-08 21:26:52 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 508
2021-02-08 21:26:52 -08:00
*/
uint8_t camInputsPadding [ CAM_INPUTS_COUNT_padding ] ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 508
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
afr_sensor_s afr ;
2017-03-27 19:19:58 -07:00
/**
2020-08-18 21:48:34 -07:00
* Electronic throttle pedal position first channel
* See throttlePedalPositionSecondAdcChannel for second channel
2019-12-11 14:48:55 -08:00
* See also tps1_1AdcChannel
2020-03-29 22:13:02 -07:00
* set_analog_input_pin pps X
2020-11-06 11:37:34 -08:00
* See throttlePedalUpVoltage and throttlePedalWOTVoltage
2022-06-29 15:52:53 -07:00
* offset 528
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
adc_channel_e throttlePedalPositionAdcChannel ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 529
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_529 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 530
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio tle6240_cs ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 532
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e tle6240_csPinMode ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 533
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_533 [ 1 ] ;
2019-07-21 14:06:16 -07:00
/**
2019-12-11 14:48:55 -08:00
* Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata
2022-06-29 15:52:53 -07:00
* offset 534
2019-07-21 14:06:16 -07:00
*/
2019-12-11 14:48:55 -08:00
switch_input_pin_e throttlePedalUpPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* @ see hasBaroSensor
2022-06-29 15:52:53 -07:00
* offset 536
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
air_pressure_sensor_config_s baroSensor ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 548
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
idle_hardware_s idle ;
2017-03-27 19:19:58 -07:00
/**
2021-11-03 14:10:50 -07:00
* Value between 0 and 100 used in Manual mode
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 560
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float manIdlePosition ;
2017-03-27 19:19:58 -07:00
/**
2021-10-22 13:03:15 -07:00
* Ignition timing to remove when a knock event occurs .
%
2022-06-29 15:52:53 -07:00
* offset 564
2017-03-27 19:19:58 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint8_t , 10 , 1 > knockRetardAggression ;
2021-10-22 13:03:15 -07:00
/**
* After a knock event , reapply timing at this rate .
deg / s
2022-06-29 15:52:53 -07:00
* offset 565
2021-10-22 13:03:15 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint8_t , 10 , 1 > knockRetardReapplyRate ;
2021-10-22 13:03:15 -07:00
/**
* Maximum amount of knock retard .
deg
2022-06-29 15:52:53 -07:00
* offset 566
2021-10-22 13:03:15 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t knockRetardMaximum ;
2021-10-22 13:03:15 -07:00
/**
2022-04-09 06:32:30 -07:00
* Set this so your vehicle speed signal is responsive , but not noisy . Larger value give smoother but slower response .
2022-06-29 15:52:53 -07:00
* offset 567
2021-10-22 13:03:15 -07:00
*/
2022-04-09 06:32:30 -07:00
uint8_t vssFilterReciprocal ;
2017-03-27 19:19:58 -07:00
/**
2021-11-27 06:01:08 -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 .
ratio
2022-06-29 15:52:53 -07:00
* offset 568
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
scaled_channel < uint16_t , 1000 , 1 > vssGearRatio ;
2021-11-27 06:01:08 -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 .
count
2022-06-29 15:52:53 -07:00
* offset 570
2021-11-27 06:01:08 -08:00
*/
2021-12-01 21:04:17 -08:00
uint8_t vssToothCount ;
2021-11-27 06:01:08 -08:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 571
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_571 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 572
2021-11-27 06:01:08 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio l9779_cs ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 574
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_574 [ 2 ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Same RPM is used for two ways of producing simulated RPM . See also triggerSimulatorPins ( with wires )
* See also directSelfStimulation ( no wires , bypassing input hardware )
* rpm X
2020-10-11 16:07:39 -07:00
* TODO : rename to triggerSimulatorRpm
2021-04-26 14:59:44 -07:00
Rpm
2022-06-29 15:52:53 -07:00
* offset 576
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int triggerSimulatorFrequency ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 580
2017-03-27 19:19:58 -07:00
*/
2021-07-06 17:57:01 -07:00
output_pin_e injectionPins [ MAX_CYLINDER_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 604
2017-03-27 19:19:58 -07:00
*/
2021-07-06 17:57:01 -07:00
output_pin_e ignitionPins [ MAX_CYLINDER_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 628
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e injectionPinMode ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 629
2017-03-27 19:19:58 -07:00
*/
2022-04-24 20:46:16 -07:00
pin_output_mode_e ignitionPinMode ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 630
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio HD44780_rs ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 632
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio HD44780_e ;
2022-04-24 20:46:16 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 634
2022-04-24 20:46:16 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio HD44780_db4 ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 636
2022-04-24 20:46:16 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio HD44780_db5 ;
2022-04-24 20:46:16 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 638
2022-04-24 20:46:16 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio HD44780_db6 ;
2022-04-24 20:46:16 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 640
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio HD44780_db7 ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 642
2019-02-22 19:10:41 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio gps_rx_pin ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 644
2019-02-22 19:10:41 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio gps_tx_pin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 646
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e fuelPumpPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 648
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e fuelPumpPinMode ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 649
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_649 [ 1 ] ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* Check engine light , also malfunction indicator light . Always blinks once on boot .
2022-06-29 15:52:53 -07:00
* offset 650
2019-02-22 19:10:41 -08:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e malfunctionIndicatorPin ;
2019-09-20 17:18:22 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 652
2019-09-20 17:18:22 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e malfunctionIndicatorPinMode ;
2019-11-10 09:39:47 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 653
2019-11-10 09:39:47 -08:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e fanPinMode ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 654
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e fanPin ;
2019-11-24 21:59:05 -08:00
/**
2021-07-24 10:28:25 -07:00
* Some cars have a switch to indicate that clutch pedal is all the way down
2022-06-29 15:52:53 -07:00
* offset 656
2019-11-24 21:59:05 -08:00
*/
2019-12-11 14:48:55 -08:00
switch_input_pin_e clutchDownPin ;
2019-11-24 22:01:00 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 658
2019-11-24 22:01:00 -08:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e alternatorControlPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 660
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e alternatorControlPinMode ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 661
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_input_mode_e clutchDownPinMode ;
2017-05-27 20:43:48 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 662
2017-05-27 20:43:48 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio digitalPotentiometerChipSelect [ DIGIPOT_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 670
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e electronicThrottlePin1Mode ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 671
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_671 [ 1 ] ;
2017-03-27 19:19:58 -07:00
/**
2020-04-08 19:37:00 -07:00
* set_cj125_heater_pin XXX
2022-06-29 15:52:53 -07:00
* offset 672
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio wboHeaterPin ;
2017-03-27 19:19:58 -07:00
/**
2020-04-08 19:37:00 -07:00
* set_cj125_cs_pin XXX
2022-06-29 15:52:53 -07:00
* offset 674
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio cj125CsPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 676
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
spi_device_e max31855spiDevice ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 677
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_677 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 678
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio debugTriggerSync ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Digital Potentiometer is used by stock ECU stimulation code
2022-06-29 15:52:53 -07:00
* offset 680
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
spi_device_e digitalPotentiometerSpiDevice ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 681
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_681 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 682
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio mc33972_cs ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 684
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e mc33972_csPinMode ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Useful in Research & Development phase
2022-06-29 15:52:53 -07:00
* offset 685
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
adc_channel_e auxFastSensor1_adcChannel ;
2017-03-27 19:19:58 -07:00
/**
2020-01-10 22:08:41 -08:00
* First throttle body , second sensor .
2022-06-29 15:52:53 -07:00
* offset 686
2017-03-27 19:19:58 -07:00
*/
2020-01-10 22:08:41 -08:00
adc_channel_e tps1_2AdcChannel ;
/**
* Second throttle body , second sensor .
2022-06-29 15:52:53 -07:00
* offset 687
2020-01-10 22:08:41 -08:00
*/
adc_channel_e tps2_2AdcChannel ;
/**
* Electronic throttle pedal position input
* Second channel
* See also tps1_1AdcChannel
2020-11-06 11:37:34 -08:00
* See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage
2022-06-29 15:52:53 -07:00
* offset 688
2020-01-10 22:08:41 -08:00
*/
adc_channel_e throttlePedalPositionSecondAdcChannel ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 689
2017-03-27 19:19:58 -07:00
*/
2021-03-19 05:41:10 -07:00
uint8_t fuelLevelValues [ FUEL_LEVEL_TABLE_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* AFR , WBO , EGO - whatever you like to call it
2022-06-29 15:52:53 -07:00
* offset 697
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
ego_sensor_e afr_type ;
2022-05-01 05:09:38 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 698
2022-05-01 05:09:38 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_698 [ 2 ] ;
2017-03-27 19:19:58 -07:00
/**
2020-07-10 13:06:22 -07:00
* 0.1 is a good default value
2021-04-26 14:59:44 -07:00
x
2022-06-29 15:52:53 -07:00
* offset 700
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float idle_antiwindupFreq ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 704
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_input_pin_e triggerInputPins [ TRIGGER_INPUT_PIN_COUNT ] ;
2022-06-01 18:31:50 -07:00
/**
2022-07-15 23:38:35 -07:00
* Minimum allowed time for the boost phase . If the boost target current is reached before this time elapses , it is assumed that the injector has failed short circuit .
us
2022-06-29 15:52:53 -07:00
* offset 708
2022-06-01 18:31:50 -07:00
*/
2022-07-15 23:38:35 -07:00
uint16_t mc33_t_min_boost ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 710
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e hip9011CsPinMode ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 711
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_711 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 712
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e tachOutputPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 714
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e tachOutputPinMode ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 715
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_715 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 716
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e mainRelayPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 718
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio sdCardCsPin ;
2017-03-27 19:19:58 -07:00
/**
2020-03-31 13:49:19 -07:00
* set_can_tx_pin X
2022-06-29 15:52:53 -07:00
* offset 720
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio canTxPin ;
2017-03-27 19:19:58 -07:00
/**
2020-03-31 13:49:19 -07:00
* set_can_rx_pin X
2022-06-29 15:52:53 -07:00
* offset 722
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio canRxPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 724
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_input_mode_e throttlePedalUpPinMode ;
2019-02-22 19:10:41 -08:00
/**
2021-05-31 15:02:57 -07:00
* Additional idle % while A / C is active
%
2022-06-29 15:52:53 -07:00
* offset 725
2019-02-22 19:10:41 -08:00
*/
2021-12-01 21:04:17 -08:00
uint8_t acIdleExtraOffset ;
2017-03-27 19:19:58 -07:00
/**
2022-04-06 13:22:52 -07:00
* Ratio between the wheels and your transmission output .
2022-01-13 19:39:21 -08:00
ratio
2022-06-29 15:52:53 -07:00
* offset 726
2017-03-27 19:19:58 -07:00
*/
2022-04-06 13:22:52 -07:00
scaled_channel < uint16_t , 100 , 1 > finalGearRatio ;
2022-01-13 19:39:21 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 728
2022-01-13 19:39:21 -08:00
*/
2022-04-21 06:14:29 -07:00
brain_input_pin_e tcuInputSpeedSensorPin ;
/**
2022-06-29 15:52:53 -07:00
* offset 730
2022-04-21 06:14:29 -07:00
*/
uint8_t tcuInputSpeedSensorTeeth ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 731
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_731 [ 1 ] ;
2020-06-18 21:17:05 -07:00
/**
2020-09-18 00:05:55 -07:00
* Voltage when the wastegate is closed .
* You probably don ' t have one of these !
2021-04-26 14:59:44 -07:00
mv
2022-06-29 15:52:53 -07:00
* offset 732
2020-06-18 21:17:05 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t wastegatePositionMin ;
2020-06-18 21:17:05 -07:00
/**
2020-09-18 00:05:55 -07:00
* Voltage when the wastegate is fully open .
* You probably don ' t have one of these !
2020-11-14 15:08:03 -08:00
* 1 volt = 1000 units
2021-04-26 14:59:44 -07:00
mv
2022-06-29 15:52:53 -07:00
* offset 734
2020-09-18 00:05:55 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t wastegatePositionMax ;
2020-09-18 00:05:55 -07:00
/**
* Voltage when the idle valve is closed .
* You probably don ' t have one of these !
2021-04-26 14:59:44 -07:00
mv
2022-06-29 15:52:53 -07:00
* offset 736
2020-06-18 21:17:05 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t idlePositionMin ;
2020-09-18 00:05:55 -07:00
/**
* Voltage when the idle valve is open .
* You probably don ' t have one of these !
2020-11-14 15:08:03 -08:00
* 1 volt = 1000 units
2021-04-26 14:59:44 -07:00
mv
2022-06-29 15:52:53 -07:00
* offset 738
2020-09-18 00:05:55 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t idlePositionMax ;
2017-03-27 19:19:58 -07:00
/**
2020-05-03 00:41:14 -07:00
* Secondary TTL channel baud rate
2021-04-26 14:59:44 -07:00
BPs
2022-06-29 15:52:53 -07:00
* offset 740
2019-12-11 14:48:55 -08:00
*/
2021-12-01 21:04:17 -08:00
uint32_t tunerStudioSerialSpeed ;
2017-03-27 19:19:58 -07:00
/**
2020-05-06 22:00:02 -07:00
* Just for reference really , not taken into account by any logic at this point
2021-04-26 14:59:44 -07:00
CR
2022-06-29 15:52:53 -07:00
* offset 744
2019-12-11 14:48:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float compressionRatio ;
2017-03-27 19:19:58 -07:00
/**
2022-04-23 18:03:14 -07: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 .
2019-12-11 14:48:55 -08:00
* See also directSelfStimulation which is different .
2022-06-29 15:52:53 -07:00
* offset 748
2019-12-11 14:48:55 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio triggerSimulatorPins [ TRIGGER_SIMULATOR_PIN_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 754
2019-12-11 14:48:55 -08:00
*/
pin_output_mode_e triggerSimulatorPinModes [ TRIGGER_SIMULATOR_PIN_COUNT ] ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 757
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_757 [ 1 ] ;
2017-03-27 19:19:58 -07:00
/**
2021-02-14 19:38:10 -08:00
* Narrow band o2 heater , not used for CJ125 . ' ON ' if engine is running , ' OFF ' if stopped or cranking . See wboHeaterPin
2022-06-29 15:52:53 -07:00
* offset 758
2019-12-11 14:48:55 -08:00
*/
output_pin_e o2heaterPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 760
2019-12-11 14:48:55 -08:00
*/
pin_output_mode_e o2heaterPinModeTodO ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 761
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_761 [ 3 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 0 */
2021-11-19 20:16:43 -08:00
bool is_enabled_spi_1 : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 1 */
2021-11-19 20:16:43 -08:00
bool is_enabled_spi_2 : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 2 */
2021-11-19 20:16:43 -08:00
bool is_enabled_spi_3 : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-07-09 13:02:54 -07:00
* enable sd / disable sd
2022-06-29 15:52:53 -07:00
offset 764 bit 3 */
2021-11-19 20:16:43 -08:00
bool isSdCardEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2021-11-28 12:32:19 -08:00
* Use 11 bit ( standard ) or 29 bit ( extended ) IDs for rusEFI verbose CAN format .
2022-06-29 15:52:53 -07:00
offset 764 bit 4 */
2021-11-28 12:32:19 -08:00
bool rusefiVerbose29b : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 5 */
2021-11-19 20:16:43 -08:00
bool isEngineControlEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 6 */
2021-11-19 20:16:43 -08:00
bool isHip9011Enabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 7 */
2021-11-19 20:16:43 -08:00
bool isVerboseAlternator : 1 { } ;
2019-05-11 10:39:27 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 8 */
2022-06-26 17:12:14 -07:00
bool verboseQuad : 1 { } ;
2019-05-11 10:39:27 -07:00
/**
2019-12-11 14:48:55 -08:00
* This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed .
2022-06-29 15:52:53 -07:00
offset 764 bit 9 */
2021-11-19 20:16:43 -08:00
bool useStepperIdle : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 10 */
2021-11-19 20:16:43 -08:00
bool enabledStep1Limiter : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 11 */
2021-11-19 20:16:43 -08:00
bool useTpicAdvancedMode : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 12 */
2021-11-19 20:16:43 -08:00
bool useLcdScreen : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 13 */
2021-11-19 20:16:43 -08:00
bool verboseTLE8888 : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-06-09 19:44:43 -07:00
* CAN broadcast using custom rusEFI protocol
2020-03-31 13:49:19 -07:00
* enable can_broadcast / disable can_broadcast
2022-06-29 15:52:53 -07:00
offset 764 bit 14 */
2021-11-19 20:16:43 -08:00
bool enableVerboseCanTx : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-06-09 19:44:43 -07:00
* This will cause the alternator to be operated in a basic on or off mode , this is the simplest alternator control .
2022-06-29 15:52:53 -07:00
offset 764 bit 15 */
2021-11-19 20:16:43 -08:00
bool onOffAlternatorLogic : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-04-08 18:43:05 -07:00
* enable cj125 / disable cj125
2022-06-29 15:52:53 -07:00
offset 764 bit 16 */
2021-11-19 20:16:43 -08:00
bool isCJ125Enabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Use rise or fall signal front
2020-08-29 14:47:22 -07:00
* get vvtCamSensorUseRise
2022-06-29 15:52:53 -07:00
offset 764 bit 17 */
2021-11-19 20:16:43 -08:00
bool vvtCamSensorUseRise : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Useful for individual intakes
2022-06-29 15:52:53 -07:00
offset 764 bit 18 */
2021-11-19 20:16:43 -08:00
bool measureMapOnlyInOneCylinder : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 19 */
2021-11-19 20:16:43 -08:00
bool stepperForceParkingEveryRestart : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2021-05-31 01:21:59 -07:00
* 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 .
2022-06-29 15:52:53 -07:00
offset 764 bit 20 */
2021-11-19 20:16:43 -08:00
bool isFasterEngineSpinUpEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* This setting disables fuel injection while the engine is in overrun , this is useful as a fuel saving measure and to prevent back firing .
2022-06-29 15:52:53 -07:00
offset 764 bit 21 */
2021-11-19 20:16:43 -08:00
bool coastingFuelCutEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-06-28 07:12:01 -07:00
* This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking , this can be helpful for large engines in light weight cars . Used in Auto - PID Idle mode .
2022-06-29 15:52:53 -07:00
offset 764 bit 22 */
2021-11-19 20:16:43 -08:00
bool useIacTableForCoasting : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 23 */
2021-11-19 20:16:43 -08:00
bool useNoiselessTriggerDecoder : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 24 */
2021-11-19 20:16:43 -08:00
bool useIdleTimingPidControl : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2021-02-05 15:21:55 -08:00
* 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 .
2022-06-29 15:52:53 -07:00
offset 764 bit 25 */
2021-11-19 20:16:43 -08:00
bool disableEtbWhenEngineStopped : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 26 */
2021-11-19 20:16:43 -08:00
bool is_enabled_spi_4 : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-07-26 12:09:43 -07:00
* 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 .
2022-06-29 15:52:53 -07:00
offset 764 bit 27 */
2021-11-19 20:16:43 -08:00
bool pauseEtbControl : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 28 */
2021-11-19 20:16:43 -08:00
bool alignEngineSnifferAtTDC : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* This setting allows the ETB to act as the idle air control valve and move to regulate the airflow at idle .
2022-06-29 15:52:53 -07:00
offset 764 bit 29 */
2021-11-19 20:16:43 -08:00
bool useETBforIdleControl : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 764 bit 30 */
2021-11-19 20:16:43 -08:00
bool idleIncrementalPidCic : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2021-05-26 11:21:01 -07:00
* AEM X - Series or rusEFI Wideband
2022-06-29 15:52:53 -07:00
offset 764 bit 31 */
2021-11-19 20:16:43 -08:00
bool enableAemXSeries : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 768
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_input_pin_e logicAnalyzerPins [ LOGIC_ANALYZER_CHANNEL_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 776
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e mainRelayPinMode ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 777
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_777 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 778
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio hip9011CsPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 780
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio hip9011IntHoldPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 782
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e hip9011IntHoldPinMode ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 783
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_783 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 784
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
uint32_t verboseCanBaseAddress ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
v
2022-06-29 15:52:53 -07:00
* offset 788
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t mc33_hvolt ;
2020-04-15 18:28:44 -07:00
/**
2021-08-27 15:03:24 -07:00
* Minimum MAP before closed loop boost is enabled . Use to prevent misbehavior upon entering boost .
kPa
2022-06-29 15:52:53 -07:00
* offset 789
2020-04-15 18:28:44 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t minimumBoostClosedLoopMap ;
2020-07-07 19:20:59 -07:00
/**
2020-09-05 20:38:02 -07:00
* Optional Radiator Fan used with A / C
2022-06-29 15:52:53 -07:00
* offset 790
2020-07-07 19:20:59 -07:00
*/
2020-09-05 20:38:02 -07:00
output_pin_e acFanPin ;
/**
2022-06-29 15:52:53 -07:00
* offset 792
2020-09-05 20:38:02 -07:00
*/
pin_output_mode_e acFanPinMode ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 793
2017-03-27 19:19:58 -07:00
*/
2022-01-10 14:06:22 -08:00
spi_device_e l9779spiDevice ;
2021-12-04 15:06:32 -08:00
/**
volts
2022-06-29 15:52:53 -07:00
* offset 794
2021-08-15 12:38:17 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint8_t , 10 , 1 > dwellVoltageCorrVoltBins [ DWELL_CURVE_SIZE ] ;
2022-04-24 20:46:16 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 802
2022-04-24 21:01:07 -07:00
*/
imu_type_e imuType ;
2021-08-15 12:38:17 -07:00
/**
2021-09-15 05:21:12 -07:00
multiplier
2022-06-29 15:52:53 -07:00
* offset 803
2022-04-24 21:01:07 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint8_t , 50 , 1 > dwellVoltageCorrValues [ DWELL_CURVE_SIZE ] ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 811
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_811 [ 1 ] ;
2021-09-15 05:21:12 -07:00
/**
2021-12-19 22:09:38 -08:00
kg
2022-06-29 15:52:53 -07:00
* offset 812
2021-09-15 05:21:12 -07:00
*/
2021-12-19 22:09:38 -08:00
uint16_t vehicleWeight ;
2017-03-27 19:19:58 -07:00
/**
2021-12-19 22:09:38 -08:00
* How far above idle speed do we consider idling ?
* For example , if target = 800 , this param = 200 , then anything below 1000 RPM is considered idle .
RPM
2022-06-29 15:52:53 -07:00
* offset 814
2017-03-27 19:19:58 -07:00
*/
2021-12-19 22:09:38 -08:00
int16_t idlePidRpmUpperLimit ;
/**
* Apply nonlinearity correction below a pulse of this duration . Pulses longer than this duration will receive no adjustment .
ms
2022-06-29 15:52:53 -07:00
* offset 816
2021-12-19 22:09:38 -08:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint16_t , 1000 , 1 > applyNonlinearBelowPulse ;
2021-12-19 22:09:38 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 818
2021-12-19 22:09:38 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio lps25BaroSensorScl ;
2021-12-19 22:09:38 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 820
2021-12-19 22:09:38 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio lps25BaroSensorSda ;
2021-12-19 22:09:38 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 822
2021-12-19 22:09:38 -08:00
*/
brain_input_pin_e vehicleSpeedSensorInputPin ;
/**
* Some vehicles have a switch to indicate that clutch pedal is all the way up
2022-06-29 15:52:53 -07:00
* offset 824
2021-12-19 22:09:38 -08:00
*/
switch_input_pin_e clutchUpPin ;
/**
2022-06-29 15:52:53 -07:00
* offset 826
2021-12-19 22:09:38 -08:00
*/
InjectorNonlinearMode injectorNonlinearMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 827
2021-12-19 22:09:38 -08:00
*/
pin_input_mode_e clutchUpPinMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 828
2021-12-19 22:09:38 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio max31855_cs [ EGT_CHANNEL_COUNT ] ;
2021-12-19 22:09:38 -08:00
/**
* Continental / GM flex fuel sensor , 50 - 150 hz type
2022-06-29 15:52:53 -07:00
* offset 844
2021-12-19 22:09:38 -08:00
*/
brain_input_pin_e flexSensorPin ;
/**
2022-06-29 15:52:53 -07:00
* offset 846
2021-12-19 22:09:38 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio test557pin ;
2021-12-19 22:09:38 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 848
2021-12-19 22:09:38 -08:00
*/
pin_output_mode_e stepperDirectionPinMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 849
2021-12-19 22:09:38 -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
: 1
2022-06-29 15:52:53 -07:00
* offset 850
2021-12-19 22:09:38 -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 .
%
2022-06-29 15:52:53 -07:00
* offset 851
2021-12-19 22:09:38 -08:00
*/
uint8_t etbMaximumPosition ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* SD card logging period , in milliseconds
2021-04-26 14:59:44 -07:00
ms
2022-06-29 15:52:53 -07:00
* offset 852
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t sdCardPeriodMs ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 854
2017-03-27 19:19:58 -07:00
*/
2020-09-18 00:05:55 -07:00
adc_channel_e idlePositionSensor ;
2017-03-27 19:19:58 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 855
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_855 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 856
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio debugMapAveraging ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 858
2017-03-27 19:19:58 -07:00
*/
2020-03-18 12:56:17 -07:00
output_pin_e starterRelayDisablePin ;
2017-03-27 19:19:58 -07:00
/**
2020-03-18 12:56:17 -07:00
* On some vehicles we can disable starter once engine is already running
2022-06-29 15:52:53 -07:00
* offset 860
2017-03-27 19:19:58 -07:00
*/
2020-09-27 04:38:53 -07:00
pin_output_mode_e starterRelayDisablePinMode ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 861
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_861 [ 1 ] ;
2017-03-27 19:19:58 -07:00
/**
2020-02-03 22:06:20 -08:00
* Some Subaru and some Mazda use double - solenoid idle air valve
2022-06-29 15:52:53 -07:00
* offset 862
2017-03-27 19:19:58 -07:00
*/
2020-11-22 15:32:36 -08:00
output_pin_e secondSolenoidPin ;
2020-02-03 22:06:20 -08:00
/**
2020-03-19 21:36:22 -07:00
* See also starterControlPin
2022-06-29 15:52:53 -07:00
* offset 864
2020-02-03 22:06:20 -08:00
*/
2020-03-20 17:45:35 -07:00
switch_input_pin_e startStopButtonPin ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 866
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_866 [ 2 ] ;
2017-03-27 19:19:58 -07:00
/**
2021-10-04 04:54:20 -07: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 .
2021-04-26 14:59:44 -07:00
count
2022-06-29 15:52:53 -07:00
* offset 868
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int mapMinBufferLength ;
2017-03-27 19:19:58 -07:00
/**
2021-12-07 16:32:18 -08:00
* 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 % .
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 872
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t idlePidDeactivationTpsThreshold ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 874
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t stepperParkingExtraSteps ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
ADC
2022-06-29 15:52:53 -07:00
* offset 876
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t tps1SecondaryMin ;
2020-05-10 07:11:51 -07:00
/**
2021-04-26 14:59:44 -07:00
ADC
2022-06-29 15:52:53 -07:00
* offset 878
2020-05-10 07:11:51 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t tps1SecondaryMax ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
rpm
2022-06-29 15:52:53 -07:00
* offset 880
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t antiLagRpmTreshold ;
2020-03-23 20:20:54 -07:00
/**
2021-04-26 14:59:44 -07:00
* Maximum time to crank starter when start / stop button is pressed
Seconds
2022-06-29 15:52:53 -07:00
* offset 882
2020-03-23 20:20:54 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t startCrankingDuration ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* This pin is used for debugging - snap a logic analyzer on it and see if it ' s ever high
2022-06-29 15:52:53 -07:00
* offset 884
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio triggerErrorPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 886
2022-04-24 20:46:16 -07:00
*/
pin_output_mode_e triggerErrorPinMode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 887
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_887 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 888
2022-04-24 20:46:16 -07:00
*/
output_pin_e acRelayPin ;
/**
2022-06-29 15:52:53 -07:00
* offset 890
2019-02-22 19:10:41 -08:00
*/
2022-04-24 20:46:16 -07:00
pin_output_mode_e acRelayPinMode ;
2019-02-22 19:10:41 -08:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 891
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_891 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 892
2017-03-27 19:19:58 -07:00
*/
2021-11-14 11:42:17 -08:00
script_setting_t scriptSetting [ SCRIPT_SETTING_COUNT ] ;
2021-08-15 12:38:17 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 924
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio spi1mosiPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 926
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio spi1misoPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 928
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio spi1sckPin ;
2019-04-14 15:12:15 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 930
2019-04-14 15:12:15 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio spi2mosiPin ;
2019-05-25 12:35:25 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 932
2019-05-25 12:35:25 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio spi2misoPin ;
2019-05-25 12:35:25 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 934
2019-05-25 12:35:25 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio spi2sckPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 936
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio spi3mosiPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 938
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio spi3misoPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 940
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio spi3sckPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Saab Combustion Detection Module knock signal input pin
* also known as Saab Ion Sensing Module
2022-06-29 15:52:53 -07:00
* offset 942
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio cdmInputPin ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 944
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio joystickCenterPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 946
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio joystickAPin ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 948
2019-02-22 19:10:41 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio joystickBPin ;
2019-04-20 20:39:06 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 950
2019-04-20 20:39:06 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio joystickCPin ;
2019-04-20 20:39:06 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 952
2019-04-20 20:39:06 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio joystickDPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 954
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
uart_device_e consoleUartDevice ;
2017-03-27 19:19:58 -07:00
/**
2022-04-23 18:03:14 -07:00
* rusEFI console Sensor Sniffer mode
2022-06-29 15:52:53 -07:00
* offset 955
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
sensor_chart_e sensorChartMode ;
2019-11-30 07:24:37 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 956
2019-11-30 07:24:37 -08:00
*/
maf_sensor_type_e mafSensorType ;
/**
2022-05-01 05:09:38 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 957
2022-05-01 05:09:38 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_957 [ 3 ] ;
2022-05-01 05:09:38 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 0 */
2021-11-19 20:16:43 -08:00
bool clutchUpPinInverted : 1 { } ;
2019-11-30 07:24:37 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 1 */
2021-11-19 20:16:43 -08:00
bool clutchDownPinInverted : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2020-06-18 21:17:05 -07:00
* If enabled we use two H - bridges to drive stepper idle air valve
2022-06-29 15:52:53 -07:00
offset 960 bit 2 */
2021-11-19 20:16:43 -08:00
bool useHbridgesToDriveIdleStepper : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 3 */
2021-11-19 20:16:43 -08:00
bool multisparkEnable : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 4 */
2021-11-19 20:16:43 -08:00
bool enableLaunchRetard : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 5 */
2021-11-19 20:16:43 -08:00
bool unfinishedenableLaunchBoost : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 6 */
2021-11-19 20:16:43 -08:00
bool unfinishedlaunchDisableBySpeed : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2021-08-09 13:12:40 -07:00
* Read VSS from OEM CAN bus according to selected CAN vehicle configuration .
2022-06-29 15:52:53 -07:00
offset 960 bit 7 */
2021-11-19 20:16:43 -08:00
bool enableCanVss : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 8 */
2021-11-19 20:16:43 -08:00
bool enableInnovateLC2 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 9 */
2021-11-19 20:16:43 -08:00
bool showHumanReadableWarning : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2021-01-26 18:58:44 -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 . Use of this mode is required if you have a narrowband O2 sensor .
2022-06-29 15:52:53 -07:00
offset 960 bit 10 */
2021-11-19 20:16:43 -08:00
bool stftIgnoreErrorMagnitude : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 11 */
2022-01-18 21:56:03 -08:00
bool tempBooleanForVerySpecialCases : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 12 */
2021-11-19 20:16:43 -08:00
bool enableSoftwareKnock : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-18 11:53:00 -07:00
* Verbose info in console below engineSnifferRpmThreshold
2020-08-29 14:03:44 -07:00
* enable vvt_details
2022-06-29 15:52:53 -07:00
offset 960 bit 13 */
2021-11-19 20:16:43 -08:00
bool verboseVVTDecoding : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2020-08-29 15:00:40 -07:00
* get invertCamVVTSignal
2022-06-29 15:52:53 -07:00
offset 960 bit 14 */
2021-11-19 20:16:43 -08:00
bool invertCamVVTSignal : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2020-09-03 20:29:50 -07:00
* This property is useful if using rusEFI as TCM or BCM only
2020-08-30 11:29:40 -07:00
* enable consumeObdSensors
2022-06-29 15:52:53 -07:00
offset 960 bit 15 */
2021-11-19 20:16:43 -08:00
bool consumeObdSensors : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 16 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl1 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 17 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl2 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 18 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl3 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 19 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl4 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 20 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl5 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 21 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl6 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 22 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl7 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 23 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl8 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 24 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl9 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 25 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl10 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 26 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl11 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 27 */
2021-11-19 20:16:43 -08:00
bool knockBankCyl12 : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 28 */
2021-11-19 20:16:43 -08:00
bool tcuEnabled : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 960 bit 29 */
2021-12-22 08:08:59 -08:00
bool canBroadcastUseChannelTwo : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-01-06 17:00:00 -08:00
* If enabled we use four Push - Pull outputs to directly drive stepper idle air valve coilss
2022-06-29 15:52:53 -07:00
offset 960 bit 30 */
2022-01-06 17:00:00 -08:00
bool useRawOutputToDriveIdleStepper : 1 { } ;
2019-12-14 13:11:31 -08:00
/**
2022-02-10 07:29:24 -08:00
* Print incoming and outgoing second bus CAN messages in rusEFI console
2022-06-29 15:52:53 -07:00
offset 960 bit 31 */
2022-02-10 07:29:24 -08:00
bool verboseCan2 : 1 { } ;
2019-11-30 07:24:37 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 964
2019-11-30 07:24:37 -08:00
*/
2020-11-16 16:45:34 -08:00
dc_io etbIo [ ETB_COUNT ] ;
2019-11-30 14:38:33 -08:00
/**
2020-09-05 20:38:02 -07:00
* Wastegate control Solenoid
2022-06-29 15:52:53 -07:00
* offset 980
2019-11-30 14:38:33 -08:00
*/
2020-01-31 11:23:15 -08:00
output_pin_e boostControlPin ;
/**
2022-06-29 15:52:53 -07:00
* offset 982
2020-01-31 11:23:15 -08:00
*/
pin_output_mode_e boostControlPinMode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 983
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_983 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 984
2020-01-31 11:23:15 -08:00
*/
2020-02-02 10:18:41 -08:00
switch_input_pin_e antiLagActivatePin ;
/**
2022-06-29 15:52:53 -07:00
* offset 986
2020-02-02 10:18:41 -08:00
*/
switch_input_pin_e launchActivatePin ;
2020-01-31 11:23:15 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 988
2020-01-31 11:23:15 -08:00
*/
pid_s boostPid ;
/**
2022-06-29 15:52:53 -07:00
* offset 1008
2020-01-31 11:23:15 -08:00
*/
boostType_e boostType ;
2022-05-01 20:14:48 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1009
2022-05-01 20:14:48 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1009 [ 3 ] ;
2020-01-31 11:23:15 -08:00
/**
2021-04-26 14:59:44 -07:00
Hz
2022-06-29 15:52:53 -07:00
* offset 1012
2020-01-31 11:23:15 -08:00
*/
2021-12-01 21:04:17 -08:00
int boostPwmFrequency ;
2020-01-31 11:23:15 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1016
2020-01-31 11:23:15 -08:00
*/
2020-02-02 09:23:55 -08:00
launchActivationMode_e launchActivationMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 1017
2020-02-02 09:23:55 -08:00
*/
antiLagActivationMode_e antiLagActivationMode ;
2022-05-01 11:18:04 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1018
2022-05-01 11:18:04 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1018 [ 2 ] ;
2020-02-02 09:23:55 -08:00
/**
* Disabled above this speed
2021-04-26 14:59:44 -07:00
Kph
2022-06-29 15:52:53 -07:00
* offset 1020
2020-02-02 09:23:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int launchSpeedThreshold ;
2020-02-02 09:23:55 -08:00
/**
2022-07-20 15:52:33 -07:00
* Range from Launch RPM for Timing Retard to activate
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 1024
2020-02-02 09:23:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int launchTimingRpmRange ;
2020-02-02 09:23:55 -08:00
/**
* Extra Fuel Added
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 1028
2020-02-02 09:23:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int launchFuelAdded ;
2020-02-02 09:23:55 -08:00
/**
* Duty Cycle for the Boost Solenoid
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 1032
2020-02-02 09:23:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int launchBoostDuty ;
2020-02-02 09:23:55 -08:00
/**
2022-07-20 15:52:33 -07:00
* Range from Launch RPM to activate Hard Cut
RPM
2022-06-29 15:52:53 -07:00
* offset 1036
2020-02-02 09:23:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int hardCutRpmRange ;
2020-02-02 09:23:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1040
2020-02-02 09:23:55 -08:00
*/
2022-07-20 15:52:33 -07:00
int unused962 ;
2020-03-23 20:20:54 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1044
2020-03-23 20:20:54 -07:00
*/
2022-07-20 16:09:02 -07:00
int launchTpsThreshold ;
2020-03-23 20:20:54 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1048
2020-03-23 20:20:54 -07:00
*/
2021-12-01 21:04:17 -08:00
float launchActivateDelay ;
2020-03-23 20:20:54 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1052
2020-03-23 20:20:54 -07:00
*/
2020-04-13 06:23:13 -07:00
stft_s stft ;
/**
2022-06-29 15:52:53 -07:00
* offset 1076
2020-04-13 06:23:13 -07:00
*/
2020-11-16 16:54:02 -08:00
dc_io stepperDcIo [ DC_PER_STEPPER ] ;
2020-05-02 15:38:22 -07:00
/**
2020-05-07 10:46:18 -07:00
* For example , BMW , GM or Chevrolet
* REQUIRED for rusEFI Online
2022-06-29 15:52:53 -07:00
* offset 1092
2020-05-02 15:38:22 -07:00
*/
2020-05-06 11:00:08 -07:00
vehicle_info_t engineMake ;
2020-05-05 12:37:44 -07:00
/**
2020-05-07 10:46:18 -07:00
* For example , LS1 or NB2
* REQUIRED for rusEFI Online
2022-06-29 15:52:53 -07:00
* offset 1124
2020-05-05 12:37:44 -07:00
*/
2020-05-06 11:00:08 -07:00
vehicle_info_t engineCode ;
/**
2020-05-07 10:46:18 -07:00
* For example , Hunchback or Orange Miata
* Vehicle name has to be unique between your vehicles .
* REQUIRED for rusEFI Online
2022-06-29 15:52:53 -07:00
* offset 1156
2020-05-06 11:00:08 -07:00
*/
2020-05-07 10:46:18 -07:00
vehicle_info_t vehicleName ;
/**
2022-06-29 15:52:53 -07:00
* offset 1188
2020-05-07 10:46:18 -07:00
*/
2020-05-19 22:18:23 -07:00
output_pin_e tcu_solenoid [ TCU_SOLENOID_COUNT ] ;
2020-09-15 01:35:57 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1200
2020-09-15 01:35:57 -07:00
*/
2020-10-08 11:14:09 -07:00
etb_function_e etbFunctions [ ETB_COUNT ] ;
2020-05-19 22:18:23 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1202
2020-05-19 22:18:23 -07:00
*/
2020-09-07 07:49:54 -07:00
spi_device_e drv8860spiDevice ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1203
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1203 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1204
2020-09-07 07:49:54 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio drv8860_cs ;
2020-09-07 07:49:54 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1206
2020-09-07 07:49:54 -07:00
*/
pin_output_mode_e drv8860_csPinMode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1207
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1207 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1208
2020-09-07 07:49:54 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio drv8860_miso ;
2020-09-07 07:49:54 -07:00
/**
2021-04-26 14:59:44 -07:00
volt
2022-06-29 15:52:53 -07:00
* offset 1210
2020-09-07 07:49:54 -07:00
*/
2021-11-05 16:52:02 -07:00
scaled_channel < uint16_t , 1000 , 1 > fuelLevelBins [ FUEL_LEVEL_TABLE_COUNT ] ;
2021-03-19 05:41:10 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1226
2021-03-19 05:41:10 -07:00
*/
2021-05-20 16:10:25 -07:00
output_pin_e luaOutputPins [ LUA_PWM_COUNT ] ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1242
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1242 [ 2 ] ;
2021-06-11 21:19:09 -07:00
/**
2021-07-03 08:33:11 -07:00
* Angle between cam sensor and VVT zero position
* set vvt_offset X
value
2022-06-29 15:52:53 -07:00
* offset 1244
2021-06-11 21:19:09 -07:00
*/
2021-07-03 08:33:11 -07:00
float vvtOffsets [ CAM_INPUTS_COUNT ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 1260
2021-07-03 08:33:11 -07:00
*/
float vvtOffsetsPadding [ CAM_INPUTS_COUNT_padding ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 1260
2021-07-03 08:33:11 -07:00
*/
2021-09-13 08:19:35 -07:00
vr_threshold_s vrThreshold [ VR_THRESHOLD_COUNT ] ;
2021-07-28 04:49:04 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1292
2021-07-28 04:49:04 -07:00
*/
2021-09-26 20:24:16 -07:00
gppwm_note_t gpPwmNote [ GPPWM_CHANNELS ] ;
/**
2021-04-26 14:59:44 -07:00
ADC
2022-06-29 15:52:53 -07:00
* offset 1356
2020-05-10 07:11:51 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t tps2SecondaryMin ;
2020-05-10 07:11:51 -07:00
/**
2021-04-26 14:59:44 -07:00
ADC
2022-06-29 15:52:53 -07:00
* offset 1358
2020-05-10 07:11:51 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t tps2SecondaryMax ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 0 */
2022-01-08 16:55:02 -08:00
bool disablePrimaryUart : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* Enables lambda sensor closed loop feedback for fuelling .
2022-06-29 15:52:53 -07:00
offset 1360 bit 1 */
2021-11-19 20:16:43 -08:00
bool fuelClosedLoopCorrectionEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-04-23 18:03:14 -07:00
* Print details into rusEFI console
2020-11-29 21:14:11 -08:00
* enable verbose_idle
2022-06-29 15:52:53 -07:00
offset 1360 bit 2 */
2021-11-19 20:16:43 -08:00
bool isVerboseIAC : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 3 */
2022-01-08 17:22:51 -08:00
bool boardUseTachPullUp : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 4 */
2022-01-08 17:22:51 -08:00
bool boardUseTempPullUp : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 5 */
2022-06-18 11:53:00 -07:00
bool unused234234234 : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-07-22 14:38:52 -07:00
* Sometimes we have a performance issue while printing error
2022-06-29 15:52:53 -07:00
offset 1360 bit 6 */
2021-11-19 20:16:43 -08:00
bool silentTriggerError : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 7 */
2021-11-19 20:16:43 -08:00
bool useLinearCltSensor : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-03-31 13:49:19 -07:00
* enable can_read / disable can_read
2022-06-29 15:52:53 -07:00
offset 1360 bit 8 */
2021-11-19 20:16:43 -08:00
bool canReadEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-03-31 13:49:19 -07:00
* enable can_write / disable can_write
2022-06-29 15:52:53 -07:00
offset 1360 bit 9 */
2021-11-19 20:16:43 -08:00
bool canWriteEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 10 */
2021-11-19 20:16:43 -08:00
bool useLinearIatSensor : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 11 */
2022-03-12 07:09:42 -08:00
bool boardUse2stepPullDown : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2021-04-19 20:56:24 -07:00
* Treat milliseconds value as duty cycle value , i . e . 0.5 ms would become 50 %
2022-06-29 15:52:53 -07:00
offset 1360 bit 12 */
2021-11-19 20:16:43 -08:00
bool tachPulseDurationAsDutyCycle : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* This enables smart alternator control and activates the extra alternator settings .
2022-06-29 15:52:53 -07:00
offset 1360 bit 13 */
2021-11-19 20:16:43 -08:00
bool isAlternatorControlEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* This setting flips the signal from the primary engine speed sensor .
2022-06-29 15:52:53 -07:00
offset 1360 bit 14 */
2021-11-19 20:16:43 -08:00
bool invertPrimaryTriggerSignal : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* This setting flips the signal from the secondary engine speed sensor .
2022-06-29 15:52:53 -07:00
offset 1360 bit 15 */
2021-11-19 20:16:43 -08:00
bool invertSecondaryTriggerSignal : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 16 */
2021-11-19 20:16:43 -08:00
bool cutFuelOnHardLimit : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-22 13:58:24 -07:00
* Be careful enabling this : some engines are known to self - disassemble their valvetrain with a spark cut . Fuel cut is much safer .
2022-06-29 15:52:53 -07:00
offset 1360 bit 17 */
2021-11-19 20:16:43 -08:00
bool cutSparkOnHardLimit : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 18 */
2021-11-19 20:16:43 -08:00
bool launchFuelCutEnable : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-02-02 09:23:55 -08:00
* This is the Cut Mode normally used
2022-06-29 15:52:53 -07:00
offset 1360 bit 19 */
2021-11-19 20:16:43 -08:00
bool launchSparkCutEnable : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 20 */
2022-01-08 17:22:51 -08:00
bool boardUseCrankPullUp : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 21 */
2022-03-12 07:09:42 -08:00
bool boardUseCamPullDown : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 22 */
2022-03-13 09:01:27 -07:00
bool boardUseCamVrPullUp : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 23 */
2022-04-03 06:37:31 -07:00
bool boardUseD2PullDown : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 24 */
2022-04-03 06:37:31 -07:00
bool boardUseD3PullDown : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 25 */
2022-04-03 06:37:31 -07:00
bool boardUseD4PullDown : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 26 */
2022-04-03 06:37:31 -07:00
bool boardUseD5PullDown : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 27 */
2022-07-14 05:08:23 -07:00
bool unused443 : 1 { } ;
2019-01-05 20:48:37 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 28 */
2022-07-14 05:08:23 -07:00
bool unused444 : 1 { } ;
2019-01-05 20:48:37 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 29 */
2022-04-19 17:09:40 -07:00
bool launchActivateInverted : 1 { } ;
2019-01-05 20:48:37 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1360 bit 30 */
2022-04-02 19:32:37 -07:00
bool twoStroke : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-04-02 18:09:11 -07:00
* Where is your primary skipped wheel located ?
2022-06-29 15:52:53 -07:00
offset 1360 bit 31 */
2022-04-02 18:09:11 -07:00
bool skippedWheelOnCam : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1364
2017-03-27 19:19:58 -07:00
*/
adc_channel_e hipOutputChannel ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1365
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1365 [ 1 ] ;
2017-03-27 19:19:58 -07:00
/**
2021-05-27 05:25:55 -07:00
* A / C button input
2022-06-29 15:52:53 -07:00
* offset 1366
2019-02-22 19:10:41 -08:00
*/
2020-09-10 19:18:18 -07:00
switch_input_pin_e acSwitch ;
2019-07-12 11:24:45 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1368
2019-07-12 11:24:45 -07:00
*/
adc_channel_e vRefAdcChannel ;
/**
2019-09-22 20:28:11 -07:00
* Expected neutral position
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 1369
2019-07-12 11:24:45 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t etbNeutralPosition ;
2019-02-22 19:10:41 -08:00
/**
2019-04-04 18:45:18 -07:00
* See also idleRpmPid
2022-06-29 15:52:53 -07:00
* offset 1370
2017-03-27 19:19:58 -07:00
*/
idle_mode_e idleMode ;
2022-05-01 05:09:38 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1371
2022-05-01 05:09:38 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1371 [ 1 ] ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* Enable fuel injection - This is default off for new projects as a safety feature , set to " true " to enable fuel injection and further injector settings .
2022-06-29 15:52:53 -07:00
offset 1372 bit 0 */
2021-11-19 20:16:43 -08:00
bool isInjectionEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* Enable ignition - This is default off for new projects as a safety feature , set to " true " to enable ignition and further ignition settings .
2022-06-29 15:52:53 -07:00
offset 1372 bit 1 */
2021-11-19 20:16:43 -08:00
bool isIgnitionEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-06-13 11:56:13 -07:00
* When enabled if TPS is held above 95 % no fuel is injected while cranking to clear excess fuel from the cylinders .
2022-06-29 15:52:53 -07:00
offset 1372 bit 2 */
2021-11-19 20:16:43 -08:00
bool isCylinderCleanupEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-01-27 22:04:57 -08:00
* Should we use tables to vary tau / beta based on CLT / MAP , or just with fixed values ?
2022-06-29 15:52:53 -07:00
offset 1372 bit 3 */
2022-01-27 22:04:57 -08:00
bool complexWallModel : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 4 */
2022-01-19 04:39:51 -08:00
bool alwaysInstantRpm : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 5 */
2021-11-19 20:16:43 -08:00
bool isMapAveragingEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2021-05-31 01:21:59 -07:00
* If enabled , use separate temperature multiplier table for cranking idle position .
* If disabled , use normal running multiplier table applied to the cranking base position .
2022-06-29 15:52:53 -07:00
offset 1372 bit 6 */
2021-11-19 20:16:43 -08:00
bool overrideCrankingIacSetting : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* 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 .
2022-06-29 15:52:53 -07:00
offset 1372 bit 7 */
2021-11-19 20:16:43 -08:00
bool useSeparateAdvanceForIdle : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 8 */
2021-11-19 20:16:43 -08:00
bool isWaveAnalyzerEnabled : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* This activates a separate fuel table for Idle , this allows fine tuning of the idle fuelling .
2022-06-29 15:52:53 -07:00
offset 1372 bit 9 */
2021-11-19 20:16:43 -08:00
bool useSeparateVeForIdle : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2022-06-18 11:53:00 -07:00
* Verbose info in console below engineSnifferRpmThreshold
2017-03-27 19:19:58 -07:00
* enable trigger_details
2022-06-29 15:52:53 -07:00
offset 1372 bit 10 */
2021-11-19 20:16:43 -08:00
bool verboseTriggerSynchDetails : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
* 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
2022-06-29 15:52:53 -07:00
offset 1372 bit 11 */
2021-11-19 20:16:43 -08:00
bool isManualSpinningMode : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2019-06-13 11:56:13 -07:00
* This is needed if your coils are individually wired and you wish to use batch injection .
2017-03-27 19:19:58 -07:00
* enable two_wire_batch_injection
2022-06-29 15:52:53 -07:00
offset 1372 bit 12 */
2021-11-19 20:16:43 -08:00
bool twoWireBatchInjection : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
* VR sensors are only precise on rising front
* enable trigger_only_front
2022-06-29 15:52:53 -07:00
offset 1372 bit 13 */
2021-11-19 20:16:43 -08:00
bool useOnlyRisingEdgeForTrigger : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2020-07-28 06:12:43 -07:00
* This is needed if your coils are individually wired ( COP ) and you wish to use batch ignition ( Wasted Spark ) .
2022-06-29 15:52:53 -07:00
offset 1372 bit 14 */
2021-11-19 20:16:43 -08:00
bool twoWireBatchIgnition : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 15 */
2021-11-19 20:16:43 -08:00
bool useFixedBaroCorrFromMap : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2021-05-31 01:21:59 -07:00
* In Constant mode , timing is automatically tapered to running as RPM increases .
* In Table mode , the " Cranking ignition advance " table is used directly .
2022-06-29 15:52:53 -07:00
offset 1372 bit 16 */
2021-11-19 20:16:43 -08:00
bool useSeparateAdvanceForCranking : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2019-06-18 16:18:52 -07:00
* This enables the various ignition corrections during cranking ( IAT , CLT , FSIO and PID idle ) .
2021-05-31 01:21:59 -07:00
* You probably don ' t need this .
2022-06-29 15:52:53 -07:00
offset 1372 bit 17 */
2021-11-19 20:16:43 -08:00
bool useAdvanceCorrectionsForCranking : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2022-04-04 14:49:00 -07:00
* Enable a second cranking table to use for E100 flex fuel , interpolating between the two based on flex fuel sensor .
2022-06-29 15:52:53 -07:00
offset 1372 bit 18 */
2022-04-04 14:49:00 -07:00
bool flexCranking : 1 { } ;
2018-01-02 18:25:40 -08:00
/**
2019-12-03 21:38:40 -08:00
* This flag allows to use a special ' PID Multiplier ' table ( 0.0 - 1.0 ) to compensate for nonlinear nature of IAC - RPM controller
2022-06-29 15:52:53 -07:00
offset 1372 bit 19 */
2021-11-19 20:16:43 -08:00
bool useIacPidMultTable : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 20 */
2021-11-19 20:16:43 -08:00
bool isBoostControlEnabled : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2020-02-02 09:23:55 -08:00
* Interpolates the Ignition Retard from 0 to 100 % within the RPM Range
2022-06-29 15:52:53 -07:00
offset 1372 bit 21 */
2021-11-19 20:16:43 -08:00
bool launchSmoothRetard : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-05-08 05:05:34 -07:00
* Some engines are OK running semi - random sequential while other engine require phase synchronization
2022-06-29 15:52:53 -07:00
offset 1372 bit 22 */
2022-05-08 05:05:34 -07:00
bool isPhaseSyncRequiredForIgnition : 1 { } ;
2022-04-29 16:48:53 -07:00
/**
2022-06-22 13:58:24 -07:00
* If enabled , use a curve for RPM limit ( based on coolant temperature ) instead of a constant value .
2022-06-29 15:52:53 -07:00
offset 1372 bit 23 */
2022-06-22 13:58:24 -07:00
bool useCltBasedRpmLimit : 1 { } ;
2022-04-29 16:48:53 -07:00
/**
2022-06-23 12:34:20 -07:00
* 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 .
2022-06-29 15:52:53 -07:00
offset 1372 bit 24 */
2022-06-23 12:34:20 -07:00
bool forceO2Heating : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 25 */
2021-11-19 20:16:43 -08:00
bool unused_1484_bit_25 : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 26 */
2021-11-19 20:16:43 -08:00
bool unused_1484_bit_26 : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 27 */
2021-11-19 20:16:43 -08:00
bool unused_1484_bit_27 : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 28 */
2021-11-19 20:16:43 -08:00
bool unused_1484_bit_28 : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 29 */
2021-11-19 20:16:43 -08:00
bool unused_1484_bit_29 : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 30 */
2021-11-19 20:16:43 -08:00
bool unused_1484_bit_30 : 1 { } ;
2019-09-29 11:00:04 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1372 bit 31 */
2021-11-19 20:16:43 -08:00
bool unused_1484_bit_31 : 1 { } ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
count
2022-06-29 15:52:53 -07:00
* offset 1376
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
uint32_t engineChartSize ;
2017-03-27 19:19:58 -07:00
/**
2021-07-27 14:37:24 -07:00
mult
2022-06-29 15:52:53 -07:00
* offset 1380
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float turboSpeedSensorMultiplier ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1384
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio camInputsDebug [ CAM_INPUTS_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1392
2017-03-27 19:19:58 -07:00
*/
2021-07-13 11:37:37 -07:00
uint8_t camInputsDebugPadding [ CAM_INPUTS_COUNT_padding ] ;
2017-03-27 19:19:58 -07:00
/**
2021-06-15 14:32:56 -07:00
* Extra idle target speed when A / C is enabled . Some cars need the extra speed to keep the AC efficient while idling .
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 1392
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t acIdleRpmBump ;
2017-03-27 19:19:58 -07:00
/**
* set warningPeriod X
2021-04-26 14:59:44 -07:00
seconds
2022-06-29 15:52:53 -07:00
* offset 1394
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t warningPeriod ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
angle
2022-06-29 15:52:53 -07:00
* offset 1396
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float knockDetectionWindowStart ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
angle
2022-06-29 15:52:53 -07:00
* offset 1400
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float knockDetectionWindowEnd ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
ms
2022-06-29 15:52:53 -07:00
* offset 1404
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float idleStepperReactionTime ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
count
2022-06-29 15:52:53 -07:00
* offset 1408
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int idleStepperTotalSteps ;
2017-03-27 19:19:58 -07:00
/**
2017-05-12 13:28:56 -07:00
* TODO : finish this # 413
2021-04-26 14:59:44 -07:00
sec
2022-06-29 15:52:53 -07:00
* offset 1412
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float noAccelAfterHardLimitPeriodSecs ;
2017-03-27 19:19:58 -07:00
/**
* At what trigger index should some MAP - related math be executed ? This is a performance trick to reduce load on synchronization trigger callback .
2021-04-26 14:59:44 -07:00
index
2022-06-29 15:52:53 -07:00
* offset 1416
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
int mapAveragingSchedulingAtIndex ;
2017-03-27 19:19:58 -07:00
/**
2021-07-13 12:19:10 -07:00
* Duration in ms or duty cycle depending on selected mode
2022-06-29 15:52:53 -07:00
* offset 1420
2017-03-27 19:19:58 -07:00
*/
2021-12-19 23:04:16 -08:00
float tachPulseDuractionMs ;
2017-03-27 19:19:58 -07:00
/**
2021-11-06 19:14:13 -07:00
* Length of time the deposited wall fuel takes to dissipate after the start of acceleration .
2021-04-26 14:59:44 -07:00
Seconds
2022-06-29 15:52:53 -07:00
* offset 1424
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float wwaeTau ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1428
2017-03-27 19:19:58 -07:00
*/
2017-05-28 19:32:32 -07:00
pid_s alternatorControl ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1448
2017-03-27 19:19:58 -07:00
*/
2017-05-28 19:32:32 -07:00
pid_s etb ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1468
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio triggerInputDebugPins [ TRIGGER_INPUT_PIN_COUNT ] ;
2022-06-01 18:31:50 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1472
2022-06-01 18:31:50 -07:00
*/
uint16_t unused1452 ;
2021-07-13 11:37:37 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1474
2021-07-13 11:37:37 -07:00
*/
2021-07-27 14:37:24 -07:00
brain_input_pin_e turboSpeedSensorInputPin ;
2019-10-23 18:41:30 -07:00
/**
2019-12-07 21:37:33 -08:00
* Closed throttle # 2. todo : extract these two fields into a structure
* See also tps2_1AdcChannel
* set tps2_min X
2021-04-26 14:59:44 -07:00
ADC
2022-06-29 15:52:53 -07:00
* offset 1476
2019-10-23 18:41:30 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t tps2Min ;
2019-12-07 21:37:33 -08:00
/**
* Full throttle # 2. tpsMax value as 10 bit ADC value . Not Voltage !
* See also tps1_1AdcChannel
* set tps2_max X
2021-04-26 14:59:44 -07:00
ADC
2022-06-29 15:52:53 -07:00
* offset 1478
2019-12-07 21:37:33 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t tps2Max ;
2019-12-07 21:37:33 -08:00
/**
2020-03-24 21:58:59 -07:00
* See also startStopButtonPin
2022-06-29 15:52:53 -07:00
* offset 1480
2019-12-07 21:37:33 -08:00
*/
2020-03-18 12:56:17 -07:00
output_pin_e starterControlPin ;
/**
2022-06-29 15:52:53 -07:00
* offset 1482
2020-03-18 12:56:17 -07:00
*/
2020-03-20 17:45:35 -07:00
pin_input_mode_e startStopButtonMode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1483
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1483 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1484
2020-03-20 17:45:35 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio mc33816_flag0 ;
2019-12-29 22:41:23 -08:00
/**
2021-04-26 14:59:44 -07:00
Pulse
2022-06-29 15:52:53 -07:00
* offset 1486
2019-12-29 22:41:23 -08:00
*/
2021-12-01 21:04:17 -08:00
uint8_t tachPulsePerRev ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1487
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1487 [ 1 ] ;
2017-03-27 19:19:58 -07:00
/**
* kPa value which is too low to be true
2021-04-26 14:59:44 -07:00
kPa
2022-06-29 15:52:53 -07:00
* offset 1488
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float mapErrorDetectionTooLow ;
2017-03-27 19:19:58 -07:00
/**
* kPa value which is too high to be true
2021-04-26 14:59:44 -07:00
kPa
2022-06-29 15:52:53 -07:00
* offset 1492
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float mapErrorDetectionTooHigh ;
2017-03-27 19:19:58 -07:00
/**
2021-03-28 05:41:23 -07:00
* How long to wait for the spark to fire before recharging the coil for another spark .
2021-04-26 14:59:44 -07:00
ms
2022-06-29 15:52:53 -07:00
* offset 1496
2017-03-27 19:19:58 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint16_t , 1000 , 1 > multisparkSparkDuration ;
2020-03-14 06:18:25 -07:00
/**
2021-03-28 05:41:23 -07:00
* This sets the dwell time for subsequent sparks . The main spark ' s dwell is set by the dwell table .
2021-04-26 14:59:44 -07:00
ms
2022-06-29 15:52:53 -07:00
* offset 1498
2020-03-14 06:18:25 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint16_t , 1000 , 1 > multisparkDwell ;
2017-03-27 19:19:58 -07:00
/**
2018-01-07 09:11:49 -08:00
* See cltIdleRpmBins
2022-06-29 15:52:53 -07:00
* offset 1500
2017-03-27 19:19:58 -07:00
*/
pid_s idleRpmPid ;
/**
2021-11-06 19:14:13 -07:00
* 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment .
2021-04-26 14:59:44 -07:00
Fraction
2022-06-29 15:52:53 -07:00
* offset 1520
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float wwaeBeta ;
2017-03-27 19:19:58 -07:00
/**
2020-05-09 15:59:03 -07:00
* blue LED on many rusEFI boards .
* Blue Communication LED which is expected to blink at 50 % duty cycle during normal board operation .
* If USB communication cable is connected Blue LED starts to blink faster .
2022-06-29 15:52:53 -07:00
* offset 1524
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio communicationLedPin ;
2017-03-27 19:19:58 -07:00
/**
2020-05-09 15:59:03 -07:00
* Green LED on many rusEFI boards .
* Off if engine is stopped , blinks if engine is cranking , solid if engine is running .
2022-06-29 15:52:53 -07:00
* offset 1526
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio runningLedPin ;
2017-03-27 19:19:58 -07:00
/**
2020-05-02 21:11:27 -07:00
* See also EFI_CONSOLE_RX_BRAIN_PIN
2022-06-29 15:52:53 -07:00
* offset 1528
2017-03-27 19:19:58 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio binarySerialTxPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1530
2022-04-24 20:46:16 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio binarySerialRxPin ;
2022-04-24 20:46:16 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1532
2022-04-24 20:46:16 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio auxValves [ AUX_DIGITAL_VALVE_COUNT ] ;
2022-04-24 20:46:16 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1536
2019-02-22 19:10:41 -08:00
*/
2022-04-24 20:46:16 -07:00
switch_input_pin_e tcuUpshiftButtonPin ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1538
2021-06-12 04:03:20 -07:00
*/
switch_input_pin_e tcuDownshiftButtonPin ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
voltage
2022-06-29 15:52:53 -07:00
* offset 1540
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float throttlePedalUpVoltage ;
2017-05-29 19:35:24 -07:00
/**
* Pedal in the floor
2021-04-26 14:59:44 -07:00
voltage
2022-06-29 15:52:53 -07:00
* offset 1544
2017-05-29 19:35:24 -07:00
*/
2021-12-01 21:04:17 -08:00
float throttlePedalWOTVoltage ;
2017-06-13 07:40:16 -07:00
/**
2022-06-29 10:24:58 -07:00
* on IGN voltage detection turn fuel pump on to build fuel pressure
2021-04-26 14:59:44 -07:00
seconds
2022-06-29 15:52:53 -07:00
* offset 1548
2017-06-13 07:40:16 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t startUpFuelPumpDuration ;
2017-06-24 22:35:46 -07:00
/**
2021-05-21 12:28:41 -07:00
* If the RPM closer to target than this value , disable closed loop idle correction to prevent oscillation
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 1550
2017-06-24 22:35:46 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t idlePidRpmDeadZone ;
2017-03-27 19:19:58 -07:00
/**
2019-07-11 18:14:02 -07:00
* This is the target battery voltage the alternator PID control will attempt to maintain
2021-04-26 14:59:44 -07:00
Volts
2022-06-29 15:52:53 -07:00
* offset 1552
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float targetVBatt ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* Turns off alternator output above specified TPS , enabling this reduced parasitic drag on the engine at full load .
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 1556
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float alternatorOffAboveTps ;
2017-07-15 12:36:49 -07:00
/**
2019-06-18 16:18:52 -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 .
2021-04-26 14:59:44 -07:00
cycles
2022-06-29 15:52:53 -07:00
* offset 1560
2017-07-15 12:36:49 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t afterCrankingIACtaperDuration ;
2017-07-31 12:35:12 -07:00
/**
2017-08-12 09:05:49 -07:00
* Extra IAC , in percent between 0 and 100 , tapered between zero and idle deactivation TPS value
2021-04-26 14:59:44 -07:00
percent
2022-06-29 15:52:53 -07:00
* offset 1562
2017-07-31 12:35:12 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t iacByTpsTaper ;
2017-08-12 09:05:49 -07:00
/**
2021-11-11 15:37:47 -08:00
* Auxiliary sensor serial , not to be confused with secondary calibration serial
2020-04-19 12:47:29 -07:00
* set_aux_tx_pin X
2022-06-29 15:52:53 -07:00
* offset 1564
2019-02-22 19:10:41 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio auxSerialTxPin ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1566
2019-02-22 19:10:41 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio warningLedPin ;
2019-02-22 19:10:41 -08:00
/**
2021-11-11 15:37:47 -08:00
* Auxiliary sensor serial , not to be confused with secondary calibration serial
2020-04-19 12:47:29 -07:00
* set_aux_rx_pin X
2022-06-29 15:52:53 -07:00
* offset 1568
2019-02-22 19:10:41 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio auxSerialRxPin ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1570
2017-08-12 09:05:49 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio LIS302DLCsPin ;
2017-08-16 23:32:06 -07:00
/**
2022-01-23 12:42:35 -08: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 .
sec
2022-06-29 15:52:53 -07:00
* offset 1572
2017-03-27 19:19:58 -07:00
*/
2022-01-24 04:38:16 -08:00
scaled_channel < uint8_t , 20 , 1 > tpsAccelLookback ;
2022-01-23 12:42:35 -08:00
/**
2022-01-27 11:27:44 -08:00
* Below this speed , disable DFCO . Use this to prevent jerkiness from fuel enable / disable in low gears .
kph
2022-06-29 15:52:53 -07:00
* offset 1573
2022-01-23 12:42:35 -08:00
*/
2022-01-27 11:27:44 -08:00
uint8_t coastingFuelCutVssLow ;
/**
* Above this speed , allow DFCO . Use this to prevent jerkiness from fuel enable / disable in low gears .
kph
2022-06-29 15:52:53 -07:00
* offset 1574
2022-01-27 11:27:44 -08:00
*/
uint8_t coastingFuelCutVssHigh ;
/**
2022-01-28 18:41:30 -08:00
* Pause closed loop fueling after deceleration fuel cut occurs . Set this to a little longer than however long is required for normal fueling behavior to resume after fuel cut .
sec
2022-06-29 15:52:53 -07:00
* offset 1575
2022-01-27 11:27:44 -08:00
*/
2022-01-28 18:41:30 -08:00
scaled_channel < uint8_t , 10 , 1 > noFuelTrimAfterDfcoTime ;
2017-03-27 19:19:58 -07:00
/**
2019-07-11 18:14:02 -07:00
* 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 .
2021-04-26 14:59:44 -07:00
roc
2022-06-29 15:52:53 -07:00
* offset 1576
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float tpsAccelEnrichmentThreshold ;
2017-03-27 19:19:58 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1580
2017-03-27 19:19:58 -07:00
*/
2022-03-28 20:07:59 -07:00
brain_input_pin_e auxSpeedSensorInputPin [ 2 ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 1584
2022-03-28 20:07:59 -07:00
*/
2022-04-04 17:36:02 -07:00
uint8_t totalGearsCount ;
2022-03-28 20:07:59 -07:00
/**
2022-04-15 07:34:37 -07:00
* Sets what part of injection ' s is controlled by the injection phase table .
2022-06-29 15:52:53 -07:00
* offset 1585
2022-03-28 20:07:59 -07:00
*/
2022-04-15 07:34:37 -07:00
InjectionTimingMode injectionTimingMode ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1586
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1586 [ 2 ] ;
2017-03-27 19:19:58 -07:00
/**
2021-10-16 18:29:33 -07:00
* Band rate for primary TTL
BPs
2022-06-29 15:52:53 -07:00
* offset 1588
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
uint32_t uartConsoleSerialSpeed ;
2017-03-27 19:19:58 -07:00
/**
2021-10-30 19:08:31 -07:00
* For decel we simply multiply delta of TPS and tFor decel we do not use table ? !
2021-04-26 14:59:44 -07:00
roc
2022-06-29 15:52:53 -07:00
* offset 1592
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float tpsDecelEnleanmentThreshold ;
2017-03-27 19:19:58 -07:00
/**
2021-10-30 19:08:31 -07:00
* Magic multiplier , we multiply delta of TPS and get fuel squirt duration
2021-04-26 14:59:44 -07:00
coeff
2022-06-29 15:52:53 -07:00
* offset 1596
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float tpsDecelEnleanmentMultiplier ;
2017-03-27 19:19:58 -07:00
/**
* ExpAverage alpha coefficient
2021-04-26 14:59:44 -07:00
coeff
2022-06-29 15:52:53 -07:00
* offset 1600
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float slowAdcAlpha ;
2017-03-27 19:19:58 -07:00
/**
2019-04-20 11:54:16 -07:00
* See http : //rusefi.com/s/debugmode
*
2017-06-07 20:12:04 -07:00
* set debug_mode X
2022-06-29 15:52:53 -07:00
* offset 1604
2017-03-27 19:19:58 -07:00
*/
debug_mode_e debugMode ;
2022-04-30 10:07:03 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1605
2022-04-30 10:07:03 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1605 [ 3 ] ;
2017-03-27 19:19:58 -07:00
/**
2021-04-26 14:59:44 -07:00
BPs
2022-06-29 15:52:53 -07:00
* offset 1608
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
uint32_t auxSerialSpeed ;
2020-04-19 12:47:29 -07:00
/**
2021-04-26 14:59:44 -07:00
voltage
2022-06-29 15:52:53 -07:00
* offset 1612
2020-04-19 12:47:29 -07:00
*/
2021-12-01 21:04:17 -08:00
float throttlePedalSecondaryUpVoltage ;
2020-05-23 07:55:42 -07:00
/**
* Pedal in the floor
2021-04-26 14:59:44 -07:00
voltage
2022-06-29 15:52:53 -07:00
* offset 1616
2020-05-23 07:55:42 -07:00
*/
2021-12-01 21:04:17 -08:00
float throttlePedalSecondaryWOTVoltage ;
2020-05-23 07:55:42 -07:00
/**
2021-11-06 19:14:13 -07:00
* set can_baudrate
2022-06-29 15:52:53 -07:00
* offset 1620
2020-05-23 07:55:42 -07:00
*/
2020-06-14 14:01:05 -07:00
can_baudrate_e canBaudRate ;
/**
2020-09-07 07:17:40 -07:00
* 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 .
2022-06-29 15:52:53 -07:00
* offset 1621
2020-06-14 14:01:05 -07:00
*/
2020-09-07 07:17:40 -07:00
ve_override_e veOverrideMode ;
2020-08-02 10:46:08 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1622
2020-08-02 10:46:08 -07:00
*/
can_baudrate_e can2BaudRate ;
2020-06-14 14:01:05 -07:00
/**
2020-09-07 07:17:40 -07:00
* 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 .
2022-06-29 15:52:53 -07:00
* offset 1623
2020-08-02 10:46:08 -07:00
*/
2021-12-26 11:53:27 -08:00
load_override_e afrOverrideMode ;
2020-08-02 10:46:08 -07:00
/**
2022-01-02 19:11:01 -08:00
A
2022-06-29 15:52:53 -07:00
* offset 1624
2020-08-05 04:59:46 -07:00
*/
2022-01-02 23:19:26 -08:00
scaled_channel < uint8_t , 10 , 1 > mc33_hpfp_i_peak ;
2022-01-02 19:11:01 -08:00
/**
A
2022-06-29 15:52:53 -07:00
* offset 1625
2022-01-02 19:11:01 -08:00
*/
2022-01-02 23:19:26 -08:00
scaled_channel < uint8_t , 10 , 1 > mc33_hpfp_i_hold ;
2022-01-02 19:11:01 -08:00
/**
* How long to deactivate power when hold current is reached before applying power again
us
2022-06-29 15:52:53 -07:00
* offset 1626
2022-01-02 19:11:01 -08:00
*/
uint8_t mc33_hpfp_i_hold_off ;
/**
* Maximum amount of time the solenoid can be active before assuming a programming error
ms
2022-06-29 15:52:53 -07:00
* offset 1627
2022-01-02 19:11:01 -08:00
*/
uint8_t mc33_hpfp_max_hold ;
2020-08-05 04:59:46 -07:00
/**
2022-04-29 16:48:53 -07:00
* Enable if DC - motor driver ( H - bridge ) inverts the signals ( eg . RZ7899 on Hellen boards )
2022-06-29 15:52:53 -07:00
offset 1628 bit 0 */
2022-04-29 16:48:53 -07:00
bool stepperDcInvertedPins : 1 { } ;
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 1 */
2021-12-24 20:41:09 -08:00
bool unused1740b0 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 2 */
2021-12-24 20:41:09 -08:00
bool unused1740b1 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 3 */
2021-12-24 20:41:09 -08:00
bool unused1740b2 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 4 */
2021-11-19 20:16:43 -08:00
bool unused1127 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 5 */
2021-11-19 20:16:43 -08:00
bool unused1128 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 6 */
2021-11-19 20:16:43 -08:00
bool unused1129 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 7 */
2021-11-19 20:16:43 -08:00
bool unused1130 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 8 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_8 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 9 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_9 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 10 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_10 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 11 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_11 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 12 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_12 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 13 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_13 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 14 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_14 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 15 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_15 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 16 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_16 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 17 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_17 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 18 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_18 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 19 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_19 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 20 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_20 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 21 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_21 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 22 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_22 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 23 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_23 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 24 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_24 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 25 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_25 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 26 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_26 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 27 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_27 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 28 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_28 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 29 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_29 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 30 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_30 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
offset 1628 bit 31 */
2022-07-27 23:53:58 -07:00
bool unusedBit_542_31 : 1 { } ;
2020-08-05 04:59:46 -07:00
/**
2022-05-22 08:15:15 -07:00
* Time between bench test pulses
2022-01-03 00:26:21 -08:00
ms
2022-06-29 15:52:53 -07:00
* offset 1632
2020-08-05 04:59:46 -07:00
*/
2022-01-03 00:26:21 -08:00
scaled_channel < uint8_t , 1 , 5 > benchTestOffTime ;
/**
2022-05-22 08:15:15 -07:00
* How many test bench pulses do you want
2022-01-03 00:26:21 -08:00
count
2022-06-29 15:52:53 -07:00
* offset 1633
2022-01-03 00:26:21 -08:00
*/
uint8_t benchTestCount ;
/**
2022-05-22 08:15:15 -07:00
* Length of each of the test pulses
2022-01-03 20:48:36 -08:00
ms
2022-06-29 15:52:53 -07:00
* offset 1634
2022-01-03 00:26:21 -08:00
*/
2022-01-03 20:48:36 -08:00
scaled_channel < uint8_t , 1 , 5 > benchTestOnTime ;
2022-01-03 00:26:21 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1635
2022-01-03 00:26:21 -08:00
*/
2022-04-19 07:57:09 -07:00
pin_input_mode_e launchActivatePinMode ;
2020-08-05 04:59:46 -07:00
/**
* set_can2_tx_pin X
2022-06-29 15:52:53 -07:00
* offset 1636
2020-08-05 04:59:46 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio can2TxPin ;
2020-08-05 04:59:46 -07:00
/**
* set_can2_rx_pin X
2022-06-29 15:52:53 -07:00
* offset 1638
2020-08-05 04:59:46 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio can2RxPin ;
2020-08-05 04:59:46 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1640
2020-06-14 14:01:05 -07:00
*/
2020-09-08 23:44:30 -07:00
pin_output_mode_e starterControlPinMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 1641
2020-09-08 23:44:30 -07:00
*/
2020-09-18 00:05:55 -07:00
adc_channel_e wastegatePositionSensor ;
/**
2020-10-09 14:19:04 -07:00
* 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 .
2022-06-29 15:52:53 -07:00
* offset 1642
2020-09-18 00:05:55 -07:00
*/
2021-12-26 11:53:27 -08:00
load_override_e ignOverrideMode ;
2020-10-09 14:19:04 -07:00
/**
2020-10-23 12:48:01 -07:00
* Select which fuel pressure sensor measures the pressure of the fuel at your injectors .
2022-06-29 15:52:53 -07:00
* offset 1643
2020-10-09 14:19:04 -07:00
*/
2020-10-23 12:48:01 -07:00
injector_pressure_type_e injectorPressureType ;
/**
2022-06-29 15:52:53 -07:00
* offset 1644
2020-10-23 12:48:01 -07:00
*/
2020-11-15 14:33:48 -08:00
output_pin_e hpfpValvePin ;
2020-11-03 07:53:22 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1646
2020-11-03 07:53:22 -08:00
*/
pin_output_mode_e hpfpValvePinMode ;
2022-04-29 16:48:53 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1647
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1647 [ 1 ] ;
2017-03-27 19:19:58 -07:00
/**
2020-09-28 11:47:21 -07:00
* MAP value above which fuel is cut in case of overboost .
2021-01-27 17:33:00 -08:00
* Set to 0 to disable overboost cut .
2021-04-26 14:59:44 -07:00
kPa ( absolute )
2022-06-29 15:52:53 -07:00
* offset 1648
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float boostCutPressure ;
2017-03-27 19:19:58 -07:00
/**
2022-01-30 06:01:11 -08:00
kg / h
2022-06-29 15:52:53 -07:00
* offset 1652
2017-03-27 19:19:58 -07:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint8_t , 1 , 5 > tchargeBins [ 16 ] ;
2022-01-30 06:01:11 -08:00
/**
ratio
2022-06-29 15:52:53 -07:00
* offset 1668
2022-01-30 06:01:11 -08:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint8_t , 100 , 1 > tchargeValues [ 16 ] ;
2017-03-27 19:19:58 -07:00
/**
* Fixed timing , useful for TDC testing
2021-04-26 14:59:44 -07:00
deg
2022-06-29 15:52:53 -07:00
* offset 1684
2017-03-27 19:19:58 -07:00
*/
2021-12-01 21:04:17 -08:00
float fixedTiming ;
2018-11-29 21:17:55 -08:00
/**
* MAP voltage for low point
2021-04-26 14:59:44 -07:00
v
2022-06-29 15:52:53 -07:00
* offset 1688
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float mapLowValueVoltage ;
2018-11-29 21:17:55 -08:00
/**
* MAP voltage for low point
2021-04-26 14:59:44 -07:00
v
2022-06-29 15:52:53 -07:00
* offset 1692
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float mapHighValueVoltage ;
2018-11-29 21:17:55 -08:00
/**
* EGO value correction
2021-04-26 14:59:44 -07:00
value
2022-06-29 15:52:53 -07:00
* offset 1696
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float egoValueShift ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1700
2019-02-22 19:10:41 -08:00
*/
2021-10-28 21:20:12 -07:00
output_pin_e vvtPins [ CAM_INPUTS_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1708
2018-11-29 21:17:55 -08:00
*/
2019-07-12 11:24:45 -07:00
spi_device_e cj125SpiDevice ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1709
2019-02-22 19:10:41 -08:00
*/
pin_output_mode_e cj125CsPinMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 1710
2019-02-22 19:10:41 -08:00
*/
2020-09-27 04:38:53 -07:00
pin_output_mode_e sdCardCsPinMode ;
2019-02-22 19:10:41 -08:00
/**
2020-09-09 13:54:16 -07:00
* need 4 byte alignment
2021-07-03 08:33:11 -07:00
units
2022-06-29 15:52:53 -07:00
* offset 1711
2019-02-22 19:10:41 -08:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1711 [ 1 ] ;
2018-11-29 21:17:55 -08:00
/**
2019-06-18 16:18:52 -07:00
* This is the IAC position during cranking , some engines start better if given more air during cranking to improve cylinder filling .
2021-04-26 14:59:44 -07:00
percent
2022-06-29 15:52:53 -07:00
* offset 1712
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int crankingIACposition ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1716
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float tChargeMinRpmMinTps ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1720
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float tChargeMinRpmMaxTps ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1724
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float tChargeMaxRpmMinTps ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1728
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float tChargeMaxRpmMaxTps ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1732
2018-11-29 21:17:55 -08:00
*/
2021-11-14 07:39:47 -08:00
pwm_freq_t vvtOutputFrequency [ CAMS_PER_BANK ] ;
2021-02-10 17:23:22 -08:00
/**
2021-05-31 15:02:57 -07:00
* Additional idle % when fan # 1 is active
%
2022-06-29 15:52:53 -07:00
* offset 1736
2021-02-10 17:23:22 -08:00
*/
2021-12-01 21:04:17 -08:00
uint8_t fan1ExtraIdle ;
2021-02-10 17:23:22 -08:00
/**
* need 4 byte alignment
2021-07-03 08:33:11 -07:00
units
2022-06-29 15:52:53 -07:00
* offset 1737
2021-02-10 17:23:22 -08:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1737 [ 3 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
Hz
2022-06-29 15:52:53 -07:00
* offset 1740
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int alternatorPwmFrequency ;
2018-11-29 21:17:55 -08:00
/**
* set vvt_mode X
2022-06-29 15:52:53 -07:00
* offset 1744
2018-11-29 21:17:55 -08:00
*/
2021-02-08 18:50:31 -08:00
vvt_mode_e vvtMode [ CAMS_PER_BANK ] ;
2021-02-08 21:26:52 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1746
2021-02-08 21:26:52 -08:00
*/
uint8_t vvtModePadding [ CAMS_PER_BANK_padding ] ;
2021-02-08 11:13:25 -08:00
/**
2021-05-31 15:02:57 -07:00
* Additional idle % when fan # 2 is active
%
2022-06-29 15:52:53 -07:00
* offset 1746
2021-02-08 11:13:25 -08:00
*/
2021-12-01 21:04:17 -08:00
uint8_t fan2ExtraIdle ;
2021-05-31 15:02:57 -07:00
/**
2021-12-08 14:49:58 -08:00
* Delay to allow fuel pressure to build before firing the priming pulse .
sec
2022-06-29 15:52:53 -07:00
* offset 1747
2021-05-31 15:02:57 -07:00
*/
2021-12-08 14:49:58 -08:00
scaled_channel < uint8_t , 100 , 1 > primingDelay ;
2021-10-19 16:54:00 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1748
2021-10-19 16:54:00 -07:00
*/
adc_channel_e auxAnalogInputs [ AUX_ANALOG_INPUT_COUNT ] ;
2021-07-09 07:09:27 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1756
2021-07-09 07:09:27 -07:00
*/
output_pin_e trailingCoilPins [ MAX_CYLINDER_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1780
2018-11-29 21:17:55 -08:00
*/
2020-04-23 13:57:37 -07:00
tle8888_mode_e tle8888mode ;
/**
2022-06-29 15:52:53 -07:00
* offset 1781
2020-04-23 13:57:37 -07:00
*/
2020-09-27 04:38:53 -07:00
pin_output_mode_e LIS302DLCsPinMode ;
/**
2021-05-21 12:28:41 -07:00
* 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
2022-06-29 15:52:53 -07:00
* offset 1782
2020-09-27 04:38:53 -07:00
*/
2020-11-10 20:13:06 -08:00
injector_compensation_mode_e injectorCompensationMode ;
2022-04-24 21:26:26 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1783
2022-04-24 20:46:16 -07:00
*/
2022-04-24 21:26:26 -07:00
pin_output_mode_e fan2PinMode ;
2020-11-10 20:13:06 -08:00
/**
* 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 .
2021-04-26 14:59:44 -07:00
kPa
2022-06-29 15:52:53 -07:00
* offset 1784
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float fuelReferencePressure ;
2018-11-29 21:17:55 -08:00
/**
2020-04-30 16:43:31 -07:00
* Fuel multiplier ( enrichment ) immediately after engine start
2021-04-26 14:59:44 -07:00
mult
2022-06-29 15:52:53 -07:00
* offset 1788
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float postCrankingFactor ;
2018-11-29 21:17:55 -08:00
/**
2020-04-30 16:43:31 -07:00
* Time over which to taper out after start enrichment
2021-04-26 14:59:44 -07:00
seconds
2022-06-29 15:52:53 -07:00
* offset 1792
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float postCrankingDurationSec ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1796
2018-11-29 21:17:55 -08:00
*/
ThermistorConf auxTempSensor1 ;
/**
2022-06-29 15:52:53 -07:00
* offset 1828
2018-11-29 21:17:55 -08:00
*/
ThermistorConf auxTempSensor2 ;
2021-08-09 13:40:28 -07:00
/**
Deg
2022-06-29 15:52:53 -07:00
* offset 1860
2021-08-09 13:40:28 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t knockSamplingDuration ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
Hz
2022-06-29 15:52:53 -07:00
* offset 1862
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t etbFreq ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1864
2018-11-29 21:17:55 -08:00
*/
2020-10-19 05:06:22 -07:00
pid_s etbWastegatePid ;
/**
2021-10-06 11:01:16 -07:00
* For micro - stepping , make sure that PWM frequency ( etbFreq ) is high enough
2022-06-29 15:52:53 -07:00
* offset 1884
2020-10-19 05:06:22 -07:00
*/
2021-10-06 11:01:16 -07:00
stepper_num_micro_steps_e stepperNumMicroSteps ;
/**
* Use to limit the current when the stepper motor is idle , not moving ( 100 % = no limit )
%
2022-06-29 15:52:53 -07:00
* offset 1885
2021-10-06 11:01:16 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t stepperMinDutyCycle ;
2021-10-06 11:01:16 -07:00
/**
* Use to limit the max . current through the stepper motor ( 100 % = no limit )
%
2022-06-29 15:52:53 -07:00
* offset 1886
2021-10-06 11:01:16 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t stepperMaxDutyCycle ;
2021-10-06 11:01:16 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1887
2021-10-06 11:01:16 -07:00
*/
2021-12-19 22:09:38 -08:00
spi_device_e sdCardSpiDevice ;
2018-11-29 21:17:55 -08:00
/**
2019-02-22 19:10:41 -08:00
* per - cylinder timing correction
2021-05-27 05:25:55 -07:00
deg
2022-06-29 15:52:53 -07:00
* offset 1888
2018-11-29 21:17:55 -08:00
*/
2021-07-06 17:57:01 -07:00
angle_t timing_offset_cylinder [ MAX_CYLINDER_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
seconds
2022-06-29 15:52:53 -07:00
* offset 1936
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float idlePidActivationTime ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1940
2018-11-29 21:17:55 -08:00
*/
2019-02-22 19:10:41 -08:00
pin_mode_e spi1SckMode ;
2018-11-29 21:17:55 -08:00
/**
2020-03-17 10:40:14 -07:00
* Modes count be used for 3 v < > 5 v integration using pull - ups / pull - downs etc .
2022-06-29 15:52:53 -07:00
* offset 1941
2018-11-29 21:17:55 -08:00
*/
2019-02-22 19:10:41 -08:00
pin_mode_e spi1MosiMode ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1942
2018-11-29 21:17:55 -08:00
*/
2019-02-22 19:10:41 -08:00
pin_mode_e spi1MisoMode ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1943
2018-11-29 21:17:55 -08:00
*/
2019-02-22 19:10:41 -08:00
pin_mode_e spi2SckMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 1944
2019-02-22 19:10:41 -08:00
*/
pin_mode_e spi2MosiMode ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 1945
2019-02-22 19:10:41 -08:00
*/
pin_mode_e spi2MisoMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 1946
2018-11-29 21:17:55 -08:00
*/
pin_mode_e spi3SckMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 1947
2018-11-29 21:17:55 -08:00
*/
pin_mode_e spi3MosiMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 1948
2022-04-24 20:46:16 -07:00
*/
pin_mode_e spi3MisoMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 1949
2018-11-29 21:17:55 -08:00
*/
2019-03-28 23:44:52 -07:00
pin_output_mode_e stepperEnablePinMode ;
2018-11-29 21:17:55 -08:00
/**
2019-05-25 10:47:09 -07:00
* ResetB
2022-06-29 15:52:53 -07:00
* offset 1950
2018-11-29 21:17:55 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio mc33816_rstb ;
2019-05-25 10:47:09 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1952
2019-05-25 10:47:09 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio mc33816_driven ;
2018-11-29 21:17:55 -08:00
/**
2019-07-21 14:06:16 -07:00
* Brake pedal switch
2022-06-29 15:52:53 -07:00
* offset 1954
2018-11-29 21:17:55 -08:00
*/
2019-06-07 14:38:12 -07:00
switch_input_pin_e brakePedalPin ;
2018-11-29 21:17:55 -08:00
/**
2019-02-22 19:10:41 -08:00
* lambda input
2022-06-29 15:52:53 -07:00
* offset 1956
2018-11-29 21:17:55 -08:00
*/
2019-02-22 19:10:41 -08:00
adc_channel_e cj125ua ;
2018-11-29 21:17:55 -08:00
/**
2019-02-22 19:10:41 -08:00
* heater input
2022-06-29 15:52:53 -07:00
* offset 1957
2019-02-22 19:10:41 -08:00
*/
adc_channel_e cj125ur ;
/**
2022-06-29 15:52:53 -07:00
* offset 1958
2019-02-22 19:10:41 -08:00
*/
pin_input_mode_e brakePedalPinMode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 1959
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_1959 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 1960
2018-11-29 21:17:55 -08:00
*/
2021-02-10 17:23:22 -08:00
pid_s auxPid [ CAMS_PER_BANK ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 2000
2021-02-10 17:23:22 -08:00
*/
2021-07-07 20:49:03 -07:00
float injectorCorrectionPolynomial [ 8 ] ;
/**
2021-12-08 14:49:58 -08:00
C
2022-06-29 15:52:53 -07:00
* offset 2032
2021-07-07 20:49:03 -07:00
*/
2021-12-08 14:49:58 -08:00
int8_t primeBins [ 8 ] ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 2040
2018-11-29 21:17:55 -08:00
*/
2020-10-23 04:33:40 -07:00
linear_sensor_s oilPressure ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 2060
2018-11-29 21:17:55 -08:00
*/
spi_device_e accelerometerSpiDevice ;
2019-04-14 15:12:15 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 2061
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_2061 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2062
2019-04-14 15:12:15 -07:00
*/
2021-06-13 05:09:09 -07:00
output_pin_e fan2Pin ;
2020-05-02 12:56:36 -07:00
/**
2021-06-13 05:09:09 -07:00
* Cooling fan turn - on temperature threshold , in Celsius
deg C
2022-06-29 15:52:53 -07:00
* offset 2064
2020-05-02 12:56:36 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t fan2OnTemperature ;
2020-05-02 12:56:36 -07:00
/**
2021-06-13 05:09:09 -07:00
* Cooling fan turn - off temperature threshold , in Celsius
deg C
2022-06-29 15:52:53 -07:00
* offset 2065
2020-05-02 12:56:36 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t fan2OffTemperature ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2066
2019-02-22 19:10:41 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio stepperEnablePin ;
2019-02-22 19:10:41 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 2068
2019-02-22 19:10:41 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio tle8888_cs ;
2019-03-25 12:08:32 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2070
2019-03-25 12:08:32 -07:00
*/
2019-03-25 17:30:36 -07:00
pin_output_mode_e tle8888_csPinMode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 2071
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_2071 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2072
2019-03-25 17:30:36 -07:00
*/
2022-04-28 15:06:22 -07:00
Gpio mc33816_cs ;
2018-11-29 21:17:55 -08:00
/**
* todo : more comments
2022-06-29 15:52:53 -07:00
* offset 2074
2018-11-29 21:17:55 -08:00
*/
2022-04-28 15:06:22 -07:00
Gpio servoOutputPins [ SERVO_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-12 05:25:48 -07:00
* This sets the RPM above which fuel cut is active .
2021-04-26 14:59:44 -07:00
rpm
2022-06-29 15:52:53 -07:00
* offset 2090
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t coastingFuelCutRpmHigh ;
2018-11-29 21:17:55 -08:00
/**
2021-04-12 05:25:48 -07:00
* This sets the RPM below which fuel cut is deactivated , this prevents jerking or issues transitioning to idle
2021-04-26 14:59:44 -07:00
rpm
2022-06-29 15:52:53 -07:00
* offset 2092
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t coastingFuelCutRpmLow ;
2018-11-29 21:17:55 -08:00
/**
2022-01-24 11:33:08 -08:00
* Throttle position below which fuel cut is active . With an electronic throttle enabled , this checks against pedal position .
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 2094
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t coastingFuelCutTps ;
2018-11-29 21:17:55 -08:00
/**
2021-04-12 05:25:48 -07:00
* Fuel cutoff is disabled when the engine is cold .
2021-04-26 14:59:44 -07:00
C
2022-06-29 15:52:53 -07:00
* offset 2096
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t coastingFuelCutClt ;
2018-11-29 21:17:55 -08:00
/**
* Increases PID reaction for RPM < target by adding extra percent to PID - error
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 2098
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t pidExtraForLowRpm ;
2018-11-29 21:17:55 -08:00
/**
2019-06-18 16:18:52 -07:00
* MAP value above which fuel injection is re - enabled .
2021-04-26 14:59:44 -07:00
kPa
2022-06-29 15:52:53 -07:00
* offset 2100
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t coastingFuelCutMap ;
2018-11-29 21:17:55 -08:00
/**
2022-05-01 20:50:09 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 2102
2018-11-29 21:17:55 -08:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_2102 [ 2 ] ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 2104
2018-11-29 21:17:55 -08:00
*/
2020-10-23 04:33:40 -07:00
linear_sensor_s highPressureFuel ;
/**
2022-06-29 15:52:53 -07:00
* offset 2124
2020-10-23 04:33:40 -07:00
*/
linear_sensor_s lowPressureFuel ;
/**
2021-04-26 14:59:44 -07:00
C
2022-06-29 15:52:53 -07:00
* offset 2144
2020-10-23 04:33:40 -07:00
*/
2021-02-17 14:46:18 -08:00
int8_t cltRevLimitRpmBins [ CLT_LIMITER_CURVE_SIZE ] ;
/**
2022-06-22 13:58:24 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 2148
2021-02-17 14:46:18 -08:00
*/
uint16_t cltRevLimitRpm [ CLT_LIMITER_CURVE_SIZE ] ;
2021-06-11 21:19:09 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2156
2021-06-11 21:19:09 -07:00
*/
2021-11-04 20:03:11 -07:00
gppwm_note_t scriptCurveName [ SCRIPT_CURVE_COUNT ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 2252
2021-11-04 20:03:11 -07:00
*/
2021-11-07 07:30:54 -08:00
gppwm_note_t scriptTableName [ SCRIPT_TABLE_COUNT ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 2316
2021-11-07 07:30:54 -08:00
*/
2021-11-14 08:51:07 -08:00
gppwm_note_t scriptSettingName [ SCRIPT_SETTING_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-12-14 11:49:48 -08:00
* 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 .
2022-06-29 15:52:53 -07:00
* offset 2444
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float tChargeAirCoefMin ;
2018-11-29 21:17:55 -08:00
/**
2021-12-14 11:49:48 -08:00
* 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 .
2022-06-29 15:52:53 -07:00
* offset 2448
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float tChargeAirCoefMax ;
2018-11-29 21:17:55 -08:00
/**
2021-12-14 11:49:48 -08:00
* High flow point for heat transfer estimation .
* Set this to perhaps 50 - 75 % of your maximum airflow at wide open throttle .
kg / h
2022-06-29 15:52:53 -07:00
* offset 2452
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float tChargeAirFlowMax ;
2018-11-29 21:17:55 -08:00
/**
2021-12-14 11:49:48 -08:00
* Maximum allowed rate of increase allowed for the estimated charge temperature
deg / sec
2022-06-29 15:52:53 -07:00
* offset 2456
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float tChargeAirIncrLimit ;
2018-11-29 21:17:55 -08:00
/**
2021-12-14 11:49:48 -08:00
* Maximum allowed rate of decrease allowed for the estimated charge temperature
deg / sec
2022-06-29 15:52:53 -07:00
* offset 2460
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float tChargeAirDecrLimit ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 2464
2018-11-29 21:17:55 -08:00
*/
tChargeMode_e tChargeMode ;
2022-05-01 05:09:38 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 2465
2022-05-01 05:09:38 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_2465 [ 3 ] ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 2468
2018-11-29 21:17:55 -08:00
*/
2021-12-01 21:04:17 -08:00
float hip9011Gain ;
2019-01-04 14:18:43 -08:00
/**
2019-03-02 11:00:32 -08:00
* iTerm min value
2022-06-29 15:52:53 -07:00
* offset 2472
2019-01-04 14:18:43 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t etb_iTermMin ;
2019-03-02 11:00:32 -08:00
/**
* iTerm max value
2022-06-29 15:52:53 -07:00
* offset 2474
2019-03-02 11:00:32 -08:00
*/
2021-12-01 21:04:17 -08:00
int16_t etb_iTermMax ;
2019-03-10 09:02:25 -07:00
/**
2019-03-22 20:00:21 -07:00
* See useIdleTimingPidControl
2022-06-29 15:52:53 -07:00
* offset 2476
2019-03-10 09:02:25 -07:00
*/
2019-03-22 20:00:21 -07:00
pid_s idleTimingPid ;
/**
2019-09-11 17:59:05 -07:00
* If the RPM closer to target than this value , disable timing correction to prevent oscillation
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 2496
2019-03-22 20:00:21 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t idleTimingPidDeadZone ;
2019-03-22 20:00:21 -07:00
/**
2019-03-28 19:48:12 -07:00
* A delay in cycles between fuel - enrich . portions
2021-04-26 14:59:44 -07:00
cycles
2022-06-29 15:52:53 -07:00
* offset 2498
2019-03-22 20:00:21 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t tpsAccelFractionPeriod ;
2019-03-22 20:00:21 -07:00
/**
2019-03-28 19:48:12 -07:00
* A fraction divisor : 1 or less = entire portion at once , or split into diminishing fractions
2021-04-26 14:59:44 -07:00
coef
2022-06-29 15:52:53 -07:00
* offset 2500
2019-03-22 20:00:21 -07:00
*/
2021-12-01 21:04:17 -08:00
float tpsAccelFractionDivisor ;
2019-03-25 12:08:32 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2504
2019-03-25 12:08:32 -07:00
*/
2019-03-28 19:48:12 -07:00
spi_device_e tle8888spiDevice ;
2019-04-14 15:12:15 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2505
2019-04-14 15:12:15 -07:00
*/
2019-05-03 18:13:25 -07:00
spi_device_e mc33816spiDevice ;
/**
2019-09-01 21:19:06 -07:00
* iTerm min value
2022-06-29 15:52:53 -07:00
* offset 2506
2019-05-03 18:13:25 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t idlerpmpid_iTermMin ;
2019-03-28 19:48:12 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2508
2019-03-28 19:48:12 -07:00
*/
2019-04-13 07:58:52 -07:00
spi_device_e tle6240spiDevice ;
2019-04-14 15:12:15 -07:00
/**
2021-01-05 13:32:00 -08:00
* Stoichiometric ratio for your primary fuel . When Flex Fuel is enabled , this value is used when the Flex Fuel sensor indicates E0 .
2021-05-21 12:28:41 -07:00
* E0 = 14.7
* E10 = 14.1
* E85 = 9.9
* E100 = 9.0
2021-04-26 14:59:44 -07:00
: 1
2022-06-29 15:52:53 -07:00
* offset 2509
2019-04-14 15:12:15 -07:00
*/
2021-12-01 21:04:17 -08:00
scaled_channel < uint8_t , 10 , 1 > stoichRatioPrimary ;
2019-09-01 21:19:06 -07:00
/**
* iTerm max value
2022-06-29 15:52:53 -07:00
* offset 2510
2019-09-01 21:19:06 -07:00
*/
2021-12-01 21:04:17 -08:00
int16_t idlerpmpid_iTermMax ;
2019-04-13 07:58:52 -07:00
/**
2021-05-21 12:28:41 -07:00
* This sets the range of the idle control on the ETB . At 100 % idle position , the value specified here sets the base ETB position .
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 2512
2019-04-13 07:58:52 -07:00
*/
2021-12-01 21:04:17 -08:00
float etbIdleThrottleRange ;
2019-07-12 11:24:45 -07:00
/**
2021-01-02 06:16:50 -08:00
* Select which fuel correction bank this cylinder belongs to . Group cylinders that share the same O2 sensor
2022-06-29 15:52:53 -07:00
* offset 2516
2019-07-12 11:24:45 -07:00
*/
2021-07-06 17:57:01 -07:00
uint8_t cylinderBankSelect [ MAX_CYLINDER_COUNT ] ;
2019-07-12 11:24:45 -07:00
/**
2021-12-08 14:49:58 -08:00
mg
2022-06-29 15:52:53 -07:00
* offset 2528
2019-07-12 11:24:45 -07:00
*/
2021-12-08 14:49:58 -08:00
scaled_channel < uint8_t , 1 , 5 > primeValues [ 8 ] ;
2019-07-12 11:24:45 -07:00
/**
2019-12-03 21:38:40 -08:00
* Trigger comparator center point voltage
2021-04-26 14:59:44 -07:00
V
2022-06-29 15:52:53 -07:00
* offset 2536
2019-07-12 11:24:45 -07:00
*/
2022-06-02 21:53:49 -07:00
scaled_channel < uint8_t , 50 , 1 > triggerCompCenterVolt ;
2019-12-03 21:38:40 -08:00
/**
* Trigger comparator hysteresis voltage ( Min )
2021-04-26 14:59:44 -07:00
V
2022-06-29 15:52:53 -07:00
* offset 2537
2019-12-03 21:38:40 -08:00
*/
2022-06-02 21:53:49 -07:00
scaled_channel < uint8_t , 50 , 1 > triggerCompHystMin ;
2019-12-03 21:38:40 -08:00
/**
* Trigger comparator hysteresis voltage ( Max )
2021-04-26 14:59:44 -07:00
V
2022-06-29 15:52:53 -07:00
* offset 2538
2019-12-03 21:38:40 -08:00
*/
2022-06-02 21:53:49 -07:00
scaled_channel < uint8_t , 50 , 1 > triggerCompHystMax ;
2019-12-03 21:38:40 -08:00
/**
* VR - sensor saturation RPM
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 2539
2019-12-03 21:38:40 -08:00
*/
2021-12-19 19:56:33 -08:00
scaled_channel < uint8_t , 1 , 50 > triggerCompSensorSatRpm ;
2019-06-15 10:33:14 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2540
2019-06-15 10:33:14 -07:00
*/
2019-09-11 17:46:50 -07:00
pid_s idleRpmPid2 ;
2019-10-30 06:27:12 -07:00
/**
2020-04-19 15:32:24 -07:00
* set can_vss X
2022-06-29 15:52:53 -07:00
* offset 2560
2019-10-30 06:27:12 -07:00
*/
2020-04-19 15:32:24 -07:00
can_vss_nbc_e canVssNbcType ;
/**
2022-05-01 20:14:48 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 2561
2022-05-01 20:14:48 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_2561 [ 3 ] ;
2022-05-01 20:14:48 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2564
2020-04-19 15:32:24 -07:00
*/
2020-05-08 19:05:44 -07:00
gppwm_channel gppwm [ GPPWM_CHANNELS ] ;
2020-04-25 15:07:37 -07:00
/**
2021-04-26 14:59:44 -07:00
mA
2022-06-29 15:52:53 -07:00
* offset 2932
2020-04-25 15:07:37 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t mc33_i_boost ;
2020-05-19 05:38:31 -07:00
/**
2021-04-26 14:59:44 -07:00
mA
2022-06-29 15:52:53 -07:00
* offset 2934
2020-05-19 05:38:31 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t mc33_i_peak ;
2020-05-19 05:38:31 -07:00
/**
2021-04-26 14:59:44 -07:00
mA
2022-06-29 15:52:53 -07:00
* offset 2936
2020-05-19 05:38:31 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t mc33_i_hold ;
2020-05-19 05:38:31 -07:00
/**
2022-07-15 23:38:35 -07:00
* 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 .
2021-04-26 14:59:44 -07:00
us
2022-06-29 15:52:53 -07:00
* offset 2938
2020-05-19 05:38:31 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t mc33_t_max_boost ;
2020-05-19 05:38:31 -07:00
/**
2021-04-26 14:59:44 -07:00
us
2022-06-29 15:52:53 -07:00
* offset 2940
2020-05-19 05:38:31 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t mc33_t_peak_off ;
2020-05-19 05:38:31 -07:00
/**
2021-04-26 14:59:44 -07:00
us
2022-06-29 15:52:53 -07:00
* offset 2942
2020-05-19 05:38:31 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t mc33_t_peak_tot ;
2020-05-19 05:38:31 -07:00
/**
2021-04-26 14:59:44 -07:00
us
2022-06-29 15:52:53 -07:00
* offset 2944
2020-05-19 05:38:31 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t mc33_t_bypass ;
2020-05-19 05:38:31 -07:00
/**
2021-04-26 14:59:44 -07:00
us
2022-06-29 15:52:53 -07:00
* offset 2946
2020-05-19 05:38:31 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t mc33_t_hold_off ;
2020-05-19 05:38:31 -07:00
/**
2021-04-26 14:59:44 -07:00
us
2022-06-29 15:52:53 -07:00
* offset 2948
2020-05-19 05:38:31 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t mc33_t_hold_tot ;
2020-05-19 05:38:31 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2950
2020-05-19 05:38:31 -07:00
*/
2021-06-12 04:28:45 -07:00
pin_input_mode_e tcuUpshiftButtonPinMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 2951
2021-06-12 04:28:45 -07:00
*/
pin_input_mode_e tcuDownshiftButtonPinMode ;
2020-05-19 05:38:31 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 2952
2020-05-19 05:38:31 -07:00
*/
2020-09-10 19:18:18 -07:00
pin_input_mode_e acSwitchMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 2953
2020-09-10 19:18:18 -07:00
*/
2020-09-28 18:41:06 -07:00
pin_output_mode_e tcu_solenoid_mode [ TCU_SOLENOID_COUNT ] ;
/**
2022-04-18 05:10:05 -07:00
* Knock sensor output knock detection threshold depending on current RPM .
2021-04-26 14:59:44 -07:00
dB
2022-06-29 15:52:53 -07:00
* offset 2959
2020-09-28 18:41:06 -07:00
*/
2022-04-18 05:10:05 -07:00
scaled_channel < int8_t , 2 , 1 > knockBaseNoise [ ENGINE_NOISE_CURVE_SIZE ] ;
2022-04-24 21:01:07 -07:00
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 2975
2022-04-24 21:01:07 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_2975 [ 1 ] ;
2020-09-10 19:18:18 -07:00
/**
2022-06-29 15:52:53 -07:00
ratio
* offset 2976
2020-09-10 19:18:18 -07:00
*/
2021-10-30 07:50:41 -07:00
float triggerGapOverrideFrom [ GAP_TRACKING_LENGTH ] ;
2022-06-29 15:52:53 -07:00
/**
ratio
* offset 3048
*/
float triggerGapOverrideTo [ GAP_TRACKING_LENGTH ] ;
2021-05-23 17:00:27 -07:00
/**
2022-05-09 21:29:25 -07:00
* Below this RPM , use camshaft information to synchronize the crank ' s position for full sequential operation . Use this if your cam sensor does weird things at high RPM . Set to 0 to disable , and always use cam to help sync crank .
rpm
2022-06-29 15:52:53 -07:00
* offset 3120
2021-05-23 17:00:27 -07:00
*/
2022-05-09 21:29:25 -07:00
scaled_channel < uint8_t , 1 , 50 > maxCamPhaseResolveRpm ;
/**
2022-06-29 15:52:53 -07:00
* offset 3121
2022-05-09 21:29:25 -07:00
*/
int8_t unused4080 [ 11 ] ;
2021-09-29 20:55:33 -07:00
/**
2021-11-05 20:28:22 -07:00
lobes / cam
2022-06-29 15:52:53 -07:00
* offset 3132
2021-10-30 07:50:41 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t hpfpCamLobes ;
2021-11-05 20:28:22 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 3133
2021-11-05 20:28:22 -07:00
*/
hpfp_cam_e hpfpCam ;
/**
* Crank angle ATDC of first lobe peak
deg
2022-06-29 15:52:53 -07:00
* offset 3134
2021-11-05 20:28:22 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t hpfpPeakPos ;
2021-11-05 20:28:22 -07:00
/**
* If the requested activation time is below this angle , don ' t bother running the pump
deg
2022-06-29 15:52:53 -07:00
* offset 3135
2021-11-05 20:28:22 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t hpfpMinAngle ;
2021-11-05 20:28:22 -07: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 .
cc
2022-06-29 15:52:53 -07:00
* offset 3136
2021-11-05 20:28:22 -07:00
*/
2021-12-01 21:04:17 -08:00
scaled_channel < uint16_t , 1000 , 1 > hpfpPumpVolume ;
2021-11-05 20:28:22 -07:00
/**
* How long to keep the valve activated ( in order to allow the pump to build pressure and keep the valve open on its own )
deg
2022-06-29 15:52:53 -07:00
* offset 3138
2021-11-05 20:28:22 -07:00
*/
2021-12-01 21:04:17 -08:00
uint8_t hpfpActivationAngle ;
2021-11-05 20:28:22 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 3139
2021-11-05 20:28:22 -07:00
*/
2022-04-21 06:14:29 -07:00
uint8_t issFilterReciprocal ;
2021-11-05 20:28:22 -07:00
/**
% / kPa
2022-06-29 15:52:53 -07:00
* offset 3140
2021-11-05 20:28:22 -07:00
*/
2021-12-01 21:04:17 -08:00
scaled_channel < uint16_t , 1000 , 1 > hpfpPidP ;
2021-11-05 20:28:22 -07:00
/**
% / kPa / lobe
2022-06-29 15:52:53 -07:00
* offset 3142
2021-11-05 20:28:22 -07:00
*/
2021-12-01 21:04:17 -08:00
scaled_channel < uint16_t , 100000 , 1 > hpfpPidI ;
2021-11-05 20:28:22 -07:00
/**
* The fastest rate the target pressure can be reduced by . This is because HPFP have no way to bleed off pressure other than injecting fuel .
kPa / s
2022-06-29 15:52:53 -07:00
* offset 3144
2021-11-05 20:28:22 -07:00
*/
2021-12-01 21:04:17 -08:00
uint16_t hpfpTargetDecay ;
2021-11-05 20:28:22 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 3146
2021-11-05 20:28:22 -07:00
*/
scaled_channel < uint8_t , 2 , 1 > hpfpLobeProfileQuantityBins [ HPFP_LOBE_PROFILE_SIZE ] ;
/**
deg
2022-06-29 15:52:53 -07:00
* offset 3162
2021-11-05 20:28:22 -07:00
*/
scaled_channel < uint8_t , 2 , 1 > hpfpLobeProfileAngle [ HPFP_LOBE_PROFILE_SIZE ] ;
/**
volts
2022-06-29 15:52:53 -07:00
* offset 3178
2021-11-05 20:28:22 -07:00
*/
uint8_t hpfpDeadtimeVoltsBins [ HPFP_DEADTIME_SIZE ] ;
/**
ms
2022-06-29 15:52:53 -07:00
* offset 3186
2021-11-05 20:28:22 -07:00
*/
scaled_channel < uint16_t , 1000 , 1 > hpfpDeadtimeMS [ HPFP_DEADTIME_SIZE ] ;
/**
kPa
2022-06-29 15:52:53 -07:00
* offset 3202
2021-11-05 20:28:22 -07:00
*/
uint16_t hpfpTarget [ HPFP_TARGET_SIZE ] [ HPFP_TARGET_SIZE ] ;
/**
load
2022-06-29 15:52:53 -07:00
* offset 3402
2021-11-05 20:28:22 -07:00
*/
scaled_channel < uint16_t , 10 , 1 > hpfpTargetLoadBins [ HPFP_TARGET_SIZE ] ;
/**
RPM
2022-06-29 15:52:53 -07:00
* offset 3422
2021-11-05 20:28:22 -07:00
*/
scaled_channel < uint8_t , 1 , 50 > hpfpTargetRpmBins [ HPFP_TARGET_SIZE ] ;
/**
%
2022-06-29 15:52:53 -07:00
* offset 3432
2021-11-05 20:28:22 -07:00
*/
int8_t hpfpCompensation [ HPFP_COMPENSATION_SIZE ] [ HPFP_COMPENSATION_SIZE ] ;
/**
cc / lobe
2022-06-29 15:52:53 -07:00
* offset 3532
2021-11-05 20:28:22 -07:00
*/
scaled_channel < uint16_t , 1000 , 1 > hpfpCompensationLoadBins [ HPFP_COMPENSATION_SIZE ] ;
/**
RPM
2022-06-29 15:52:53 -07:00
* offset 3552
2021-11-05 20:28:22 -07:00
*/
scaled_channel < uint8_t , 1 , 50 > hpfpCompensationRpmBins [ HPFP_COMPENSATION_SIZE ] ;
2021-12-20 10:59:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 3562
2022-01-06 17:00:00 -08:00
*/
output_pin_e stepper_raw_output [ 4 ] ;
2022-01-13 19:39:21 -08:00
/**
ratio
2022-06-29 15:52:53 -07:00
* offset 3570
2022-01-13 19:39:21 -08:00
*/
scaled_channel < uint16_t , 100 , 1 > gearRatio [ GEARS_COUNT ] ;
2022-01-20 17:45:43 -08:00
/**
* We need to give engine time to build oil pressure without diverting it to VVT
ms
2022-06-29 15:52:53 -07:00
* offset 3586
2022-01-20 17:45:43 -08:00
*/
uint16_t vvtActivationDelayMs ;
/**
2022-01-27 22:04:57 -08:00
deg C
2022-06-29 15:52:53 -07:00
* offset 3588
2021-11-05 20:28:22 -07:00
*/
2022-01-27 22:04:57 -08:00
int8_t wwCltBins [ WWAE_TABLE_SIZE ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 3596
2022-01-27 22:04:57 -08:00
*/
scaled_channel < uint8_t , 100 , 1 > wwTauCltValues [ WWAE_TABLE_SIZE ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 3604
2022-01-27 22:04:57 -08:00
*/
scaled_channel < uint8_t , 100 , 1 > wwBetaCltValues [ WWAE_TABLE_SIZE ] ;
/**
kPa
2022-06-29 15:52:53 -07:00
* offset 3612
2022-01-27 22:04:57 -08:00
*/
int8_t wwMapBins [ WWAE_TABLE_SIZE ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 3620
2022-01-27 22:04:57 -08:00
*/
scaled_channel < uint8_t , 100 , 1 > wwTauMapValues [ WWAE_TABLE_SIZE ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 3628
2022-01-27 22:04:57 -08:00
*/
scaled_channel < uint8_t , 100 , 1 > wwBetaMapValues [ WWAE_TABLE_SIZE ] ;
2021-11-05 20:28:22 -07:00
/**
2022-02-25 17:40:26 -08:00
Nm
2022-06-29 15:52:53 -07:00
* offset 3636
2021-11-05 20:28:22 -07:00
*/
2022-02-25 17:40:26 -08:00
scaled_channel < uint8_t , 1 , 10 > torqueTable [ TORQUE_CURVE_SIZE ] [ TORQUE_CURVE_SIZE ] ;
/**
RPM
2022-06-29 15:52:53 -07:00
* offset 3672
2022-02-25 17:40:26 -08:00
*/
uint16_t torqueRpmBins [ TORQUE_CURVE_SIZE ] ;
/**
Load
2022-06-29 15:52:53 -07:00
* offset 3684
2022-02-25 17:40:26 -08:00
*/
uint16_t torqueLoadBins [ TORQUE_CURVE_SIZE ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 3696
2022-02-25 17:40:26 -08:00
*/
2022-04-06 14:44:03 -07:00
GearControllerMode gearControllerMode ;
/**
2022-06-29 15:52:53 -07:00
* offset 3697
2022-04-06 14:44:03 -07:00
*/
TransmissionControllerMode transmissionControllerMode ;
2022-03-20 08:19:43 -07:00
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 3698
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_3698 [ 2 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 3700
2022-03-20 08:19:43 -07:00
*/
linear_sensor_s auxLinear1 ;
/**
2022-06-29 15:52:53 -07:00
* offset 3720
2022-03-20 08:19:43 -07:00
*/
linear_sensor_s auxLinear2 ;
/**
2022-06-29 15:52:53 -07:00
* offset 3740
2022-03-20 08:19:43 -07:00
*/
2022-04-12 16:21:41 -07:00
output_pin_e tcu_tcc_onoff_solenoid ;
/**
2022-06-29 15:52:53 -07:00
* offset 3742
2022-04-12 16:21:41 -07:00
*/
pin_output_mode_e tcu_tcc_onoff_solenoid_mode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 3743
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_3743 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 3744
2022-04-12 16:21:41 -07:00
*/
output_pin_e tcu_tcc_pwm_solenoid ;
/**
2022-06-29 15:52:53 -07:00
* offset 3746
2022-04-12 16:21:41 -07:00
*/
pin_output_mode_e tcu_tcc_pwm_solenoid_mode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 3747
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_3747 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 3748
2022-04-12 16:21:41 -07:00
*/
2022-04-18 17:15:57 -07:00
pwm_freq_t tcu_tcc_pwm_solenoid_freq ;
/**
2022-06-29 15:52:53 -07:00
* offset 3750
2022-04-18 17:15:57 -07:00
*/
output_pin_e tcu_pc_solenoid_pin ;
/**
2022-06-29 15:52:53 -07:00
* offset 3752
2022-04-18 17:15:57 -07:00
*/
pin_output_mode_e tcu_pc_solenoid_pin_mode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 3753
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_3753 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 3754
2022-04-18 17:15:57 -07:00
*/
pwm_freq_t tcu_pc_solenoid_freq ;
/**
2022-06-29 15:52:53 -07:00
* offset 3756
2022-04-18 17:15:57 -07:00
*/
output_pin_e tcu_32_solenoid_pin ;
/**
2022-06-29 15:52:53 -07:00
* offset 3758
2022-04-18 17:15:57 -07:00
*/
pin_output_mode_e tcu_32_solenoid_pin_mode ;
/**
2022-04-29 16:48:53 -07:00
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 3759
2022-04-29 16:48:53 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_3759 [ 1 ] ;
2022-04-29 16:48:53 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 3760
2022-04-18 17:15:57 -07:00
*/
pwm_freq_t tcu_32_solenoid_freq ;
/**
2022-05-01 22:38:10 -07:00
* need 4 byte alignment
2022-04-18 17:15:57 -07:00
units
2022-06-29 15:52:53 -07:00
* offset 3762
2022-04-18 17:15:57 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_3762 [ 2 ] ;
2022-05-01 22:38:10 -07:00
/**
2022-05-03 00:00:15 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 3764
2022-05-01 22:38:10 -07:00
*/
float etbMinimumPosition ;
/**
units
2022-06-29 15:52:53 -07:00
* offset 3768
2022-05-01 22:38:10 -07:00
*/
uint8_t mainUnusedEnd [ 246 ] ;
/**
* need 4 byte alignment
units
2022-06-29 15:52:53 -07:00
* offset 4014
2022-05-01 22:38:10 -07:00
*/
2022-06-29 15:52:53 -07:00
uint8_t alignmentFill_at_4014 [ 2 ] ;
2021-12-20 19:04:18 -08:00
} ;
2022-06-29 15:52:53 -07:00
static_assert ( sizeof ( engine_configuration_s ) = = 4016 ) ;
2021-12-20 19:04:18 -08:00
// start of cyl_trim_s
struct cyl_trim_s {
/**
* offset 0
*/
scaled_channel < int8_t , 5 , 1 > table [ TRIM_SIZE ] [ TRIM_SIZE ] ;
2019-05-27 16:35:30 -07:00
} ;
2022-04-17 13:30:07 -07:00
static_assert ( sizeof ( cyl_trim_s ) = = 16 ) ;
2019-05-27 16:35:30 -07:00
2018-12-19 18:32:26 -08:00
// start of persistent_config_s
2019-05-27 16:35:30 -07:00
struct persistent_config_s {
2018-11-29 21:17:55 -08:00
/**
* offset 0
*/
engine_configuration_s engineConfiguration ;
2022-05-02 02:22:06 -07:00
/**
* target TPS value , 0 to 100 %
* TODO : use int8 data date once we template interpolation method
target TPS position
2022-06-29 15:52:53 -07:00
* offset 4016
2022-05-02 02:22:06 -07:00
*/
float etbBiasBins [ ETB_BIAS_CURVE_LENGTH ] ;
/**
* PWM bias , 0 to 100 %
ETB duty cycle bias
2022-06-29 15:52:53 -07:00
* offset 4048
2022-05-02 02:22:06 -07:00
*/
float etbBiasValues [ ETB_BIAS_CURVE_LENGTH ] ;
2022-05-01 20:50:09 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 4080
2022-05-01 20:50:09 -07:00
*/
uint8_t iacPidMultTable [ IAC_PID_MULT_SIZE ] [ IAC_PID_MULT_SIZE ] ;
/**
Load
2022-06-29 15:52:53 -07:00
* offset 4144
2022-05-01 20:50:09 -07:00
*/
uint8_t iacPidMultLoadBins [ IAC_PID_MULT_SIZE ] ;
/**
RPM
2022-06-29 15:52:53 -07:00
* offset 4152
2022-05-01 20:50:09 -07:00
*/
2022-06-29 15:52:53 -07:00
scaled_channel < uint8_t , 1 , 10 > iacPidMultRpmBins [ IAC_PID_MULT_SIZE ] ;
2022-05-01 20:50:09 -07:00
/**
* On Single Coil or Wasted Spark setups you have to lower dwell at high RPM
RPM
2022-06-29 15:52:53 -07:00
* offset 4160
2022-05-01 20:50:09 -07:00
*/
2022-06-29 15:52:53 -07:00
uint16_t sparkDwellRpmBins [ DWELL_CURVE_SIZE ] ;
2022-05-01 20:50:09 -07:00
/**
ms
2022-06-29 15:52:53 -07:00
* offset 4176
2022-05-01 20:50:09 -07:00
*/
2022-06-29 15:52:53 -07:00
scaled_channel < uint16_t , 100 , 1 > sparkDwellValues [ DWELL_CURVE_SIZE ] ;
2022-05-01 20:50:09 -07:00
/**
* CLT - based target RPM for automatic idle controller
C
2022-06-29 15:52:53 -07:00
* offset 4192
2022-05-01 20:50:09 -07:00
*/
2022-06-29 15:52:53 -07:00
scaled_channel < int8_t , 1 , 2 > cltIdleRpmBins [ CLT_CURVE_SIZE ] ;
2022-05-01 20:50:09 -07:00
/**
* See idleRpmPid
RPM
2022-06-29 15:52:53 -07:00
* offset 4208
2022-05-01 20:50:09 -07:00
*/
2022-06-29 15:52:53 -07:00
scaled_channel < uint8_t , 1 , 20 > cltIdleRpm [ CLT_CURVE_SIZE ] ;
2022-05-01 20:50:09 -07:00
/**
* CLT - based timing correction
C
2022-06-29 15:52:53 -07:00
* offset 4224
2022-05-01 20:50:09 -07:00
*/
float cltTimingBins [ CLT_TIMING_CURVE_SIZE ] ;
/**
degree
2022-06-29 15:52:53 -07:00
* offset 4256
2022-05-01 20:50:09 -07:00
*/
float cltTimingExtra [ CLT_TIMING_CURVE_SIZE ] ;
/**
x
2022-06-29 15:52:53 -07:00
* offset 4288
2022-05-01 20:50:09 -07:00
*/
float scriptCurve1Bins [ SCRIPT_CURVE_16 ] ;
/**
y
2022-06-29 15:52:53 -07:00
* offset 4352
2022-05-01 20:50:09 -07:00
*/
float scriptCurve1 [ SCRIPT_CURVE_16 ] ;
/**
x
2022-06-29 15:52:53 -07:00
* offset 4416
2022-05-01 20:50:09 -07:00
*/
float scriptCurve2Bins [ SCRIPT_CURVE_16 ] ;
/**
y
2022-06-29 15:52:53 -07:00
* offset 4480
2022-05-01 20:50:09 -07:00
*/
float scriptCurve2 [ SCRIPT_CURVE_16 ] ;
/**
x
2022-06-29 15:52:53 -07:00
* offset 4544
2022-05-01 20:50:09 -07:00
*/
float scriptCurve3Bins [ SCRIPT_CURVE_8 ] ;
/**
y
2022-06-29 15:52:53 -07:00
* offset 4576
2022-05-01 20:50:09 -07:00
*/
float scriptCurve3 [ SCRIPT_CURVE_8 ] ;
/**
x
2022-06-29 15:52:53 -07:00
* offset 4608
2022-05-01 20:50:09 -07:00
*/
float scriptCurve4Bins [ SCRIPT_CURVE_8 ] ;
/**
y
2022-06-29 15:52:53 -07:00
* offset 4640
2022-05-01 20:50:09 -07:00
*/
float scriptCurve4 [ SCRIPT_CURVE_8 ] ;
/**
x
2022-06-29 15:52:53 -07:00
* offset 4672
2022-05-01 20:50:09 -07:00
*/
float scriptCurve5Bins [ SCRIPT_CURVE_8 ] ;
/**
y
2022-06-29 15:52:53 -07:00
* offset 4704
2022-05-01 20:50:09 -07:00
*/
float scriptCurve5 [ SCRIPT_CURVE_8 ] ;
/**
x
2022-06-29 15:52:53 -07:00
* offset 4736
2022-05-01 20:50:09 -07:00
*/
float scriptCurve6Bins [ SCRIPT_CURVE_8 ] ;
/**
y
2022-06-29 15:52:53 -07:00
* offset 4768
2022-05-01 20:50:09 -07:00
*/
float scriptCurve6 [ SCRIPT_CURVE_8 ] ;
/**
kPa
2022-06-29 15:52:53 -07:00
* offset 4800
2022-05-01 20:50:09 -07:00
*/
float baroCorrPressureBins [ BARO_CORR_SIZE ] ;
/**
RPM
2022-06-29 15:52:53 -07:00
* offset 4816
2022-05-01 20:50:09 -07:00
*/
float baroCorrRpmBins [ BARO_CORR_SIZE ] ;
/**
ratio
2022-06-29 15:52:53 -07:00
* offset 4832
2022-05-01 20:50:09 -07:00
*/
float baroCorrTable [ BARO_CORR_SIZE ] [ BARO_CORR_SIZE ] ;
/**
* Cranking fuel correction coefficient based on TPS
Ratio
2022-06-29 15:52:53 -07:00
* offset 4896
2022-05-01 20:50:09 -07:00
*/
float crankingTpsCoef [ CRANKING_CURVE_SIZE ] ;
/**
%
2022-06-29 15:52:53 -07:00
* offset 4928
2022-05-01 20:50:09 -07:00
*/
float crankingTpsBins [ CRANKING_CURVE_SIZE ] ;
/**
* Narrow Band WBO Approximation
V
2022-06-29 15:52:53 -07:00
* offset 4960
2022-05-01 20:50:09 -07:00
*/
float narrowToWideOxygenBins [ NARROW_BAND_WIDE_BAND_CONVERSION_SIZE ] ;
/**
ratio
2022-06-29 15:52:53 -07:00
* offset 4992
2022-05-01 20:50:09 -07:00
*/
float narrowToWideOxygen [ NARROW_BAND_WIDE_BAND_CONVERSION_SIZE ] ;
/**
* Optional timing advance table for Cranking ( see useSeparateAdvanceForCranking )
RPM
2022-06-29 15:52:53 -07:00
* offset 5024
2022-05-01 20:50:09 -07:00
*/
2022-06-29 15:52:53 -07:00
uint16_t crankingAdvanceBins [ CRANKING_ADVANCE_CURVE_SIZE ] ;
2022-05-01 20:50:09 -07:00
/**
* Optional timing advance table for Cranking ( see useSeparateAdvanceForCranking )
deg
2022-06-29 15:52:53 -07:00
* offset 5032
2022-05-01 20:50:09 -07:00
*/
2022-06-29 15:52:53 -07:00
scaled_channel < int16_t , 100 , 1 > crankingAdvance [ CRANKING_ADVANCE_CURVE_SIZE ] ;
2022-05-01 20:50:09 -07:00
/**
* CLT - based idle position for coasting ( used in Auto - PID Idle mode )
C
2022-06-29 15:52:53 -07:00
* offset 5040
2022-05-01 20:50:09 -07:00
*/
float iacCoastingBins [ CLT_CURVE_SIZE ] ;
/**
* CLT - based idle position for coasting ( used in Auto - PID Idle mode )
%
2022-06-29 15:52:53 -07:00
* offset 5104
2022-05-01 20:50:09 -07:00
*/
float iacCoasting [ CLT_CURVE_SIZE ] ;
2020-03-28 17:14:17 -07:00
/**
2022-06-29 15:52:53 -07:00
* offset 5168
2020-03-28 17:14:17 -07:00
*/
2020-04-19 18:42:00 -07:00
error_message_t warning_message ;
2020-03-27 09:13:12 -07:00
/**
2021-04-26 14:59:44 -07:00
C
2022-06-29 15:52:53 -07:00
* offset 5288
2020-03-27 09:13:12 -07:00
*/
float afterstartCoolantBins [ AFTERSTART_HOLD_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
Seconds
2022-06-29 15:52:53 -07:00
* offset 5320
2020-03-27 09:13:12 -07:00
*/
float afterstartHoldTime [ AFTERSTART_HOLD_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 5352
2020-03-27 09:13:12 -07:00
*/
float afterstartEnrich [ AFTERSTART_ENRICH_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
Seconds
2022-06-29 15:52:53 -07:00
* offset 5384
2020-03-27 09:13:12 -07:00
*/
float afterstartDecayTime [ AFTERSTART_DECAY_CURVE_SIZE ] ;
2020-01-31 11:23:15 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 5416
2020-01-31 11:23:15 -08:00
*/
2021-12-22 05:15:15 -08:00
scaled_channel < uint8_t , 2 , 1 > boostTableOpenLoop [ BOOST_RPM_COUNT ] [ BOOST_LOAD_COUNT ] ;
2020-01-31 11:23:15 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 5480
2020-01-31 11:23:15 -08:00
*/
2022-06-29 15:52:53 -07:00
scaled_channel < uint8_t , 1 , 100 > boostRpmBins [ BOOST_RPM_COUNT ] ;
2020-01-31 11:23:15 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 5488
2020-01-31 11:23:15 -08:00
*/
2021-12-22 05:15:15 -08:00
scaled_channel < uint8_t , 1 , 2 > boostTableClosedLoop [ BOOST_RPM_COUNT ] [ BOOST_LOAD_COUNT ] ;
2020-01-31 11:23:15 -08:00
/**
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 5552
2020-01-31 11:23:15 -08:00
*/
2021-12-22 05:15:15 -08:00
scaled_channel < uint8_t , 1 , 1 > boostTpsBins [ BOOST_LOAD_COUNT ] ;
2019-06-10 09:52:26 -07:00
/**
2021-11-05 19:01:07 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 5560
2019-06-10 09:52:26 -07:00
*/
2021-11-05 19:01:07 -07:00
uint8_t pedalToTpsTable [ PEDAL_TO_TPS_SIZE ] [ PEDAL_TO_TPS_SIZE ] ;
2019-06-10 09:52:26 -07:00
/**
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 5624
2019-06-10 09:52:26 -07:00
*/
2019-06-15 11:11:38 -07:00
uint8_t pedalToTpsPedalBins [ PEDAL_TO_TPS_SIZE ] ;
2019-06-10 09:52:26 -07:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 5632
2019-06-10 09:52:26 -07:00
*/
2022-06-29 15:52:53 -07:00
scaled_channel < uint8_t , 1 , 100 > pedalToTpsRpmBins [ PEDAL_TO_TPS_SIZE ] ;
2018-11-29 21:17:55 -08:00
/**
* CLT - based cranking position multiplier for simple manual idle controller
2021-04-26 14:59:44 -07:00
C
2022-06-29 15:52:53 -07:00
* offset 5640
2018-11-29 21:17:55 -08:00
*/
float cltCrankingCorrBins [ CLT_CRANKING_CURVE_SIZE ] ;
/**
* CLT - based cranking position multiplier for simple manual idle controller
2021-04-26 14:59:44 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 5672
2018-11-29 21:17:55 -08:00
*/
float cltCrankingCorr [ CLT_CRANKING_CURVE_SIZE ] ;
/**
* Optional timing advance table for Idle ( see useSeparateAdvanceForIdle )
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 5704
2018-11-29 21:17:55 -08:00
*/
2021-12-19 21:40:11 -08:00
scaled_channel < uint8_t , 1 , 50 > idleAdvanceBins [ IDLE_ADVANCE_CURVE_SIZE ] ;
2018-11-29 21:17:55 -08:00
/**
* Optional timing advance table for Idle ( see useSeparateAdvanceForIdle )
2021-04-26 14:59:44 -07:00
deg
2022-06-29 15:52:53 -07:00
* offset 5712
2018-11-29 21:17:55 -08:00
*/
float idleAdvance [ IDLE_ADVANCE_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 5744
2018-11-29 21:17:55 -08:00
*/
2022-01-20 11:14:41 -08:00
scaled_channel < uint8_t , 1 , 10 > idleVeRpmBins [ IDLE_VE_SIZE ] ;
/**
load
2022-06-29 15:52:53 -07:00
* offset 5748
2022-01-20 11:14:41 -08:00
*/
scaled_channel < uint8_t , 1 , 1 > idleVeLoadBins [ IDLE_VE_SIZE ] ;
2021-12-19 21:40:11 -08:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 5752
2018-11-29 21:17:55 -08:00
*/
2022-01-20 11:14:41 -08:00
scaled_channel < uint16_t , 10 , 1 > idleVeTable [ IDLE_VE_SIZE ] [ IDLE_VE_SIZE ] ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 5784
2018-11-29 21:17:55 -08:00
*/
2021-08-16 03:57:59 -07:00
lua_script_t luaScript ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
C
2022-06-29 15:52:53 -07:00
* offset 13784
2018-11-29 21:17:55 -08:00
*/
float cltFuelCorrBins [ CLT_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
ratio
2022-06-29 15:52:53 -07:00
* offset 13848
2018-11-29 21:17:55 -08:00
*/
float cltFuelCorr [ CLT_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
C
2022-06-29 15:52:53 -07:00
* offset 13912
2018-11-29 21:17:55 -08:00
*/
float iatFuelCorrBins [ IAT_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
ratio
2022-06-29 15:52:53 -07:00
* offset 13976
2018-11-29 21:17:55 -08:00
*/
float iatFuelCorr [ IAT_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
ratio
2022-06-29 15:52:53 -07:00
* offset 14040
2018-11-29 21:17:55 -08:00
*/
float crankingFuelCoef [ CRANKING_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
C
2022-06-29 15:52:53 -07:00
* offset 14072
2018-11-29 21:17:55 -08:00
*/
float crankingFuelBins [ CRANKING_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
ratio
2022-06-29 15:52:53 -07:00
* offset 14104
2018-11-29 21:17:55 -08:00
*/
float crankingCycleCoef [ CRANKING_CURVE_SIZE ] ;
/**
2021-04-26 14:59:44 -07:00
counter
2022-06-29 15:52:53 -07:00
* offset 14136
2018-11-29 21:17:55 -08:00
*/
float crankingCycleBins [ CRANKING_CURVE_SIZE ] ;
/**
* CLT - based idle position multiplier for simple manual idle controller
2021-04-26 14:59:44 -07:00
C
2022-06-29 15:52:53 -07:00
* offset 14168
2018-11-29 21:17:55 -08:00
*/
float cltIdleCorrBins [ CLT_CURVE_SIZE ] ;
/**
2021-11-06 19:14:13 -07:00
* CLT - based idle position multiplier for simple manual idle controller
2021-04-26 14:59:44 -07:00
ratio
2022-06-29 15:52:53 -07:00
* offset 14232
2018-11-29 21:17:55 -08:00
*/
float cltIdleCorr [ CLT_CURVE_SIZE ] ;
/**
2020-04-26 18:41:03 -07:00
* Also known as MAF transfer function .
2018-11-29 21:17:55 -08:00
* kg / hour value .
2019-06-01 14:15:01 -07:00
* By the way 2.081989116 kg / h = 1 ft3 / m
2021-04-26 14:59:44 -07:00
kg / hour
2022-06-29 15:52:53 -07:00
* offset 14296
2018-11-29 21:17:55 -08:00
*/
float mafDecoding [ MAF_DECODING_COUNT ] ;
/**
2021-04-26 14:59:44 -07:00
V
2022-06-29 15:52:53 -07:00
* offset 15320
2018-11-29 21:17:55 -08:00
*/
float mafDecodingBins [ MAF_DECODING_COUNT ] ;
/**
2021-11-05 19:01:07 -07:00
deg
2022-06-29 15:52:53 -07:00
* offset 16344
2018-11-29 21:17:55 -08:00
*/
2021-12-22 05:15:15 -08:00
scaled_channel < int16_t , 10 , 1 > ignitionIatCorrTable [ IGN_RPM_COUNT ] [ IGN_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
Temperature
2022-06-29 15:52:53 -07:00
* offset 16856
2018-11-29 21:17:55 -08:00
*/
float ignitionIatCorrLoadBins [ IGN_LOAD_COUNT ] ;
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 16920
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t ignitionIatCorrRpmBins [ IGN_RPM_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-11-05 19:01:07 -07:00
deg
2022-06-29 15:52:53 -07:00
* offset 16952
2018-11-29 21:17:55 -08:00
*/
2021-12-22 05:15:15 -08:00
int16_t injectionPhase [ IGN_RPM_COUNT ] [ IGN_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
Load
2022-06-29 15:52:53 -07:00
* offset 17464
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t injPhaseLoadBins [ FUEL_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 17496
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t injPhaseRpmBins [ FUEL_RPM_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-11-05 19:01:07 -07:00
onoff
2022-06-29 15:52:53 -07:00
* offset 17528
2018-11-29 21:17:55 -08:00
*/
2021-11-05 19:01:07 -07:00
uint8_t tcuSolenoidTable [ TCU_SOLENOID_COUNT ] [ TCU_GEAR_COUNT ] ;
2021-01-10 07:16:52 -08:00
/**
2021-11-05 19:01:07 -07:00
kPa
2022-06-29 15:52:53 -07:00
* offset 17588
2021-01-10 07:16:52 -08:00
*/
2022-04-28 05:34:00 -07:00
scaled_channel < uint16_t , 100 , 1 > mapEstimateTable [ FUEL_RPM_COUNT ] [ FUEL_LOAD_COUNT ] ;
2021-01-31 14:21:02 -08:00
/**
2021-04-26 14:59:44 -07:00
% TPS
2022-06-29 15:52:53 -07:00
* offset 18100
2021-01-31 14:21:02 -08:00
*/
2021-11-05 16:52:02 -07:00
scaled_channel < uint16_t , 100 , 1 > mapEstimateTpsBins [ FUEL_LOAD_COUNT ] ;
2021-01-31 14:21:02 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 18132
2021-01-31 14:21:02 -08:00
*/
uint16_t mapEstimateRpmBins [ FUEL_RPM_COUNT ] ;
/**
2021-11-05 19:01:07 -07:00
value
2022-06-29 15:52:53 -07:00
* offset 18164
2021-01-31 14:21:02 -08:00
*/
2021-11-14 07:53:06 -08:00
uint8_t vvtTable1 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
2021-02-09 11:01:08 -08:00
/**
2021-04-26 14:59:44 -07:00
L
2022-06-29 15:52:53 -07:00
* offset 18228
2021-02-09 11:01:08 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t vvtTable1LoadBins [ SCRIPT_TABLE_8 ] ;
2021-02-09 11:01:08 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 18244
2021-02-09 11:01:08 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t vvtTable1RpmBins [ SCRIPT_TABLE_8 ] ;
2021-02-09 11:01:08 -08:00
/**
2021-11-05 19:01:07 -07:00
value
2022-06-29 15:52:53 -07:00
* offset 18260
2021-02-09 11:01:08 -08:00
*/
2021-11-14 07:53:06 -08:00
uint8_t vvtTable2 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
2021-02-09 11:01:08 -08:00
/**
2021-04-26 14:59:44 -07:00
L
2022-06-29 15:52:53 -07:00
* offset 18324
2021-02-09 11:01:08 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t vvtTable2LoadBins [ SCRIPT_TABLE_8 ] ;
2021-02-09 11:01:08 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 18340
2021-02-09 11:01:08 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t vvtTable2RpmBins [ SCRIPT_TABLE_8 ] ;
2021-02-09 11:01:08 -08:00
/**
2021-11-05 19:01:07 -07:00
deg
2022-06-29 15:52:53 -07:00
* offset 18356
2018-11-29 21:17:55 -08:00
*/
2021-12-22 05:15:15 -08:00
scaled_channel < int16_t , 10 , 1 > ignitionTable [ IGN_RPM_COUNT ] [ IGN_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
Load
2022-06-29 15:52:53 -07:00
* offset 18868
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t ignitionLoadBins [ IGN_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 18900
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t ignitionRpmBins [ IGN_RPM_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-11-05 19:01:07 -07:00
%
2022-06-29 15:52:53 -07:00
* offset 18932
2018-11-29 21:17:55 -08:00
*/
2021-12-22 05:15:15 -08:00
scaled_channel < uint16_t , 10 , 1 > veTable [ FUEL_RPM_COUNT ] [ FUEL_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
kPa
2022-06-29 15:52:53 -07:00
* offset 19444
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t veLoadBins [ FUEL_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 19476
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t veRpmBins [ FUEL_RPM_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-11-05 19:01:07 -07:00
lambda
2022-06-29 15:52:53 -07:00
* offset 19508
2018-11-29 21:17:55 -08:00
*/
2021-11-05 19:01:07 -07:00
scaled_channel < uint8_t , 147 , 1 > lambdaTable [ FUEL_RPM_COUNT ] [ FUEL_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 19764
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t lambdaLoadBins [ FUEL_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 19796
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
uint16_t lambdaRpmBins [ FUEL_RPM_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2021-11-05 19:01:07 -07:00
value
2022-06-29 15:52:53 -07:00
* offset 19828
2018-11-29 21:17:55 -08:00
*/
2021-11-05 19:01:07 -07:00
float tpsTpsAccelTable [ TPS_TPS_ACCEL_TABLE ] [ TPS_TPS_ACCEL_TABLE ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
from
2022-06-29 15:52:53 -07:00
* offset 20084
2018-11-29 21:17:55 -08:00
*/
float tpsTpsAccelFromRpmBins [ TPS_TPS_ACCEL_TABLE ] ;
/**
2021-04-26 14:59:44 -07:00
to
2022-06-29 15:52:53 -07:00
* offset 20116
2018-11-29 21:17:55 -08:00
*/
float tpsTpsAccelToRpmBins [ TPS_TPS_ACCEL_TABLE ] ;
/**
2021-11-05 19:01:07 -07:00
value
2022-06-29 15:52:53 -07:00
* offset 20148
2018-11-29 21:17:55 -08:00
*/
2021-11-14 07:53:06 -08:00
float scriptTable1 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
L
2022-06-29 15:52:53 -07:00
* offset 20404
2018-11-29 21:17:55 -08:00
*/
2022-07-01 03:57:39 -07:00
int16_t scriptTable1LoadBins [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 20420
2018-11-29 21:17:55 -08:00
*/
2022-07-01 03:57:39 -07:00
int16_t scriptTable1RpmBins [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-11-05 19:01:07 -07:00
value
2022-06-29 15:52:53 -07:00
* offset 20436
2018-11-29 21:17:55 -08:00
*/
2021-11-14 07:53:06 -08:00
uint8_t scriptTable2 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
L
2022-06-29 15:52:53 -07:00
* offset 20500
2018-11-29 21:17:55 -08:00
*/
2022-07-01 03:57:39 -07:00
int16_t scriptTable2LoadBins [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 20516
2018-11-29 21:17:55 -08:00
*/
2022-07-01 03:57:39 -07:00
int16_t scriptTable2RpmBins [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-11-05 19:01:07 -07:00
value
2022-06-29 15:52:53 -07:00
* offset 20532
2018-11-29 21:17:55 -08:00
*/
2021-11-14 07:53:06 -08:00
uint8_t scriptTable3 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
L
2022-06-29 15:52:53 -07:00
* offset 20596
2018-11-29 21:17:55 -08:00
*/
2022-07-01 03:57:39 -07:00
int16_t scriptTable3LoadBins [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 20612
2018-11-29 21:17:55 -08:00
*/
2022-07-01 03:57:39 -07:00
int16_t scriptTable3RpmBins [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-11-05 19:01:07 -07:00
value
2022-06-29 15:52:53 -07:00
* offset 20628
2018-11-29 21:17:55 -08:00
*/
2021-11-14 07:53:06 -08:00
uint8_t scriptTable4 [ SCRIPT_TABLE_8 ] [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
L
2022-06-29 15:52:53 -07:00
* offset 20692
2018-11-29 21:17:55 -08:00
*/
2022-07-01 03:57:39 -07:00
int16_t scriptTable4LoadBins [ SCRIPT_TABLE_8 ] ;
2018-11-29 21:17:55 -08:00
/**
2021-04-26 14:59:44 -07:00
RPM
2022-06-29 15:52:53 -07:00
* offset 20708
2021-12-20 19:04:18 -08:00
*/
2022-07-01 03:57:39 -07:00
int16_t scriptTable4RpmBins [ SCRIPT_TABLE_8 ] ;
2021-12-20 19:04:18 -08:00
/**
2022-06-29 15:52:53 -07:00
* offset 20724
2021-12-20 19:04:18 -08:00
*/
uint16_t ignTrimLoadBins [ TRIM_SIZE ] ;
/**
rpm
2022-06-29 15:52:53 -07:00
* offset 20732
2021-12-20 19:04:18 -08:00
*/
uint16_t ignTrimRpmBins [ TRIM_SIZE ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 20740
2021-12-20 19:04:18 -08:00
*/
cyl_trim_s ignTrims [ 12 ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 20932
2021-12-20 19:04:18 -08:00
*/
uint16_t fuelTrimLoadBins [ TRIM_SIZE ] ;
/**
rpm
2022-06-29 15:52:53 -07:00
* offset 20940
2021-12-20 19:04:18 -08:00
*/
uint16_t fuelTrimRpmBins [ TRIM_SIZE ] ;
/**
2022-06-29 15:52:53 -07:00
* offset 20948
2018-11-29 21:17:55 -08:00
*/
2021-12-20 19:04:18 -08:00
cyl_trim_s fuelTrims [ 12 ] ;
2022-02-01 18:45:00 -08:00
/**
ratio
2022-06-29 15:52:53 -07:00
* offset 21140
2022-02-01 18:45:00 -08:00
*/
2022-04-26 16:08:29 -07:00
scaled_channel < uint16_t , 100 , 1 > crankingFuelCoefE100 [ CRANKING_CURVE_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
Airmass
2022-06-29 15:52:53 -07:00
* offset 21156
2022-04-18 17:15:57 -07:00
*/
2022-06-02 22:23:20 -07:00
scaled_channel < uint8_t , 50 , 1 > tcu_pcAirmassBins [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21164
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcValsR [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21172
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcValsN [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21180
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals1 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21188
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals2 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21196
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals3 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21204
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals4 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21212
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals12 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21220
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals23 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21228
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals34 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21236
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals21 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21244
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals32 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
%
2022-06-29 15:52:53 -07:00
* offset 21252
2022-04-18 17:15:57 -07:00
*/
2022-06-02 21:53:49 -07:00
uint8_t tcu_pcVals43 [ TCU_MAGIC_SIZE ] ;
2022-04-18 17:15:57 -07:00
/**
TPS
2022-06-29 15:52:53 -07:00
* offset 21260
2022-04-18 17:15:57 -07:00
*/
uint8_t tcu_tccTpsBins [ 8 ] ;
/**
MPH
2022-06-29 15:52:53 -07:00
* offset 21268
2022-04-18 17:15:57 -07:00
*/
uint8_t tcu_tccLockSpeed [ 8 ] ;
/**
MPH
2022-06-29 15:52:53 -07:00
* offset 21276
2022-04-18 17:15:57 -07:00
*/
uint8_t tcu_tccUnlockSpeed [ 8 ] ;
2022-04-23 04:41:19 -07:00
/**
KPH
2022-06-29 15:52:53 -07:00
* offset 21284
2022-04-23 04:41:19 -07:00
*/
uint8_t tcu_32SpeedBins [ 8 ] ;
/**
%
2022-06-29 15:52:53 -07:00
* offset 21292
2022-04-23 04:41:19 -07:00
*/
uint8_t tcu_32Vals [ 8 ] ;
2019-05-27 16:35:30 -07:00
} ;
2022-06-29 15:52:53 -07:00
static_assert ( sizeof ( persistent_config_s ) = = 21300 ) ;
2019-05-27 16:35:30 -07:00
2018-11-29 21:17:55 -08:00
// end
2022-07-27 23:53:58 -07:00
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jul 28 06:53:47 UTC 2022