2021-03-27 16:02:46 -07:00
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Mar 27 23:02:01 UTC 2021
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 {
/**
* offset 0
*/
int8_t maxAdd ;
/**
* offset 1
*/
int8_t maxRemove ;
/**
* offset 2
*/
uint16_t timeConstant ;
/** total size 4*/
} ;
typedef struct stft_cell_cfg_s stft_cell_cfg_s ;
// start of stft_s
struct stft_s {
/**
* Below this RPM , the idle region is active
* offset 0
*/
uint8_t maxIdleRegionRpm ;
/**
* Below this engine load , the overrun region is active
* offset 1
*/
uint8_t maxOverrunLoad ;
/**
* Above this engine load , the power region is active
* offset 2
*/
uint8_t minPowerLoad ;
/**
* When close to correct AFR , pause correction . This can improve stability by not changing the adjustment if the error is extremely small , but is not required .
* offset 3
*/
uint8_t deadband ;
/**
* Below this temperature , correction is disabled .
* offset 4
*/
int8_t minClt ;
/**
* Below this AFR , correction is paused
* offset 5
*/
uint8_t minAfr ;
/**
* Above this AFR , correction is paused
* offset 6
*/
uint8_t maxAfr ;
/**
* Delay after starting the engine before beginning closed loop correction .
* offset 7
*/
uint8_t startupDelay ;
/**
* offset 8
*/
stft_cell_cfg_s cellCfgs [ STFT_CELL_COUNT ] ;
/** total size 24*/
} ;
typedef struct stft_s stft_s ;
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
*/
float pFactor ;
/**
* offset 4
*/
float iFactor ;
/**
* offset 8
*/
float dFactor ;
/**
* Linear addition to PID logic
* offset 12
*/
2017-05-28 19:32:32 -07:00
int16_t offset ;
/**
* PID dTime
* offset 14
*/
2019-02-10 19:47:49 -08:00
int16_t periodMs ;
2017-05-28 19:32:32 -07:00
/**
2018-11-22 20:15:05 -08:00
* Output min value
2017-05-28 19:32:32 -07:00
* offset 16
*/
int16_t minValue ;
/**
2018-11-22 20:15:05 -08:00
* Output max value
2017-05-28 19:32:32 -07:00
* offset 18
*/
int16_t maxValue ;
/** total size 20*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct pid_s pid_s ;
2017-03-24 10:41:36 -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 .
2017-03-27 19:19:58 -07:00
* offset 0
*/
float baseFuel ;
/**
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
* offset 4
*/
int16_t rpm ;
/**
* need 4 byte alignment
* offset 6
*/
2020-02-02 10:18:41 -08:00
uint8_t alignmentFill_at_6 [ 2 ] ;
2017-03-24 10:41:36 -07:00
/** total size 8*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct cranking_parameters_s cranking_parameters_s ;
2017-03-24 10:41:36 -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
*/
brain_pin_e mosiPin ;
/**
* offset 1
*/
brain_pin_e misoPin ;
/**
* offset 2
*/
brain_pin_e sckPin ;
/**
* need 4 byte alignment
* offset 3
*/
2021-02-08 20:49:57 -08:00
uint8_t alignmentFill_at_3 [ 1 ] ;
2019-04-04 18:34:33 -07:00
/** total size 4*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct spi_pins spi_pins ;
2019-04-04 18:34:33 -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 .
* offset 1
*/
uint8_t dutyIfError ;
/**
* Select a frequency to run PWM at .
* Set this to 0 hz to enable on - off mode .
* offset 2
*/
uint16_t pwmFrequency ;
/**
* In on - off mode , turn the output on when the table value is above this duty .
* offset 4
*/
uint8_t onAboveDuty ;
/**
* In on - off mode , turn the output off when the table value is below this duty .
* offset 5
*/
uint8_t offBelowDuty ;
/**
* Selects the load axis to use for the table .
* offset 6
*/
gppwm_channel_e loadAxis ;
/**
* offset 7
*/
2020-06-30 18:01:31 -07:00
uint8_t alignmentFill_map ;
2020-04-25 15:07:37 -07:00
/**
* offset 8
*/
uint8_t loadBins [ GPPWM_LOAD_COUNT ] ;
/**
* offset 16
*/
uint8_t rpmBins [ GPPWM_RPM_COUNT ] ;
/**
* offset 24
*/
gppwm_table_t table ;
/** total size 88*/
} ;
typedef struct gppwm_channel gppwm_channel ;
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
* offset 0
*/
float lowValue ;
/**
* kPa value at high volts
* offset 4
*/
float highValue ;
/**
* offset 8
*/
air_pressure_sensor_type_e type ;
/**
* offset 12
*/
adc_channel_e hwChannel ;
2019-02-22 19:10:41 -08:00
/**
* offset 13
*/
2020-06-29 18:46:18 -07:00
uint8_t alignmentFill [ 3 ] ;
2017-03-24 10:41:36 -07:00
/** total size 16*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct air_pressure_sensor_config_s air_pressure_sensor_config_s ;
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
/**
* @ brief MAP averaging sampling start angle , by RPM
* 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
/**
* @ brief MAP averaging angle duration , by RPM
* 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 ;
2017-03-24 10:41:36 -07:00
/** total size 144*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct MAP_sensor_config_s MAP_sensor_config_s ;
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
2017-03-27 19:19:58 -07:00
* offset 0
*/
float tempC_1 ;
/**
* offset 4
*/
float tempC_2 ;
/**
* offset 8
*/
float tempC_3 ;
/**
* offset 12
*/
float resistance_1 ;
/**
* offset 16
*/
float resistance_2 ;
/**
* offset 20
*/
float resistance_3 ;
/**
2019-06-11 17:32:27 -07:00
* Pull - up resistor value on your board
2017-03-27 19:19:58 -07:00
* offset 24
*/
float bias_resistor ;
2017-03-24 10:41:36 -07:00
/** total size 28*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct thermistor_conf_s thermistor_conf_s ;
2017-03-24 10:41:36 -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 ;
2019-02-22 19:10:41 -08:00
/**
* offset 1
*/
2020-06-29 18:46:18 -07:00
uint8_t alignmentFill [ 3 ] ;
2017-11-15 11:30:13 -08:00
/**
* offset 4
*/
float v1 ;
/**
* offset 8
*/
float value1 ;
/**
* offset 12
*/
float v2 ;
/**
* offset 16
*/
float value2 ;
/** total size 20*/
2019-05-27 16:35:30 -07:00
} ;
2020-10-23 04:33:40 -07:00
typedef struct linear_sensor_s linear_sensor_s ;
2017-11-15 11:30:13 -08: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
* offset 29
*/
2020-02-02 10:18:41 -08:00
uint8_t alignmentFill_at_29 [ 3 ] ;
2017-03-24 10:41:36 -07:00
/** total size 32*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct ThermistorConf ThermistorConf ;
2017-03-24 10:41:36 -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
* offset 0
*/
float flow ;
/**
2017-06-11 12:32:29 -07:00
* set_flat_injector_lag LAG
* set_injector_lag VOLTAGE LAG
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
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 ] ;
2017-11-19 09:07:07 -08:00
/** total size 68*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct injector_s injector_s ;
2017-03-24 10:41:36 -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
/**
2019-06-18 16:18:52 -07:00
* Engine displacement , in litres
2017-03-27 19:19:58 -07:00
* see also cylindersCount
* offset 0
*/
float displacement ;
/**
* offset 4
*/
cylinders_count_t cylindersCount ;
/**
* offset 8
*/
firing_order_e firingOrder ;
2017-03-24 10:41:36 -07:00
/** total size 12*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct specs_s specs_s ;
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
/**
* set trigger_type X
* offset 0
*/
trigger_type_e type ;
/**
offset 4 bit 0 */
2020-03-23 20:20:54 -07:00
bool todoRemoveMeOneDay0 : 1 ;
2017-03-27 19:19:58 -07:00
/**
offset 4 bit 1 */
2020-03-23 20:20:54 -07:00
bool todoRemoveMeOneDay1 : 1 ;
2017-03-27 19:19:58 -07:00
/**
* This option could be used if your second trigger channel is broken
offset 4 bit 2 */
bool useOnlyFirstChannel : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 4 bit 3 */
bool unusedBit_4_3 : 1 ;
/**
offset 4 bit 4 */
bool unusedBit_4_4 : 1 ;
/**
offset 4 bit 5 */
bool unusedBit_4_5 : 1 ;
/**
offset 4 bit 6 */
bool unusedBit_4_6 : 1 ;
/**
offset 4 bit 7 */
bool unusedBit_4_7 : 1 ;
/**
offset 4 bit 8 */
bool unusedBit_4_8 : 1 ;
/**
offset 4 bit 9 */
bool unusedBit_4_9 : 1 ;
/**
offset 4 bit 10 */
bool unusedBit_4_10 : 1 ;
/**
offset 4 bit 11 */
bool unusedBit_4_11 : 1 ;
/**
offset 4 bit 12 */
bool unusedBit_4_12 : 1 ;
/**
offset 4 bit 13 */
bool unusedBit_4_13 : 1 ;
/**
offset 4 bit 14 */
bool unusedBit_4_14 : 1 ;
/**
offset 4 bit 15 */
bool unusedBit_4_15 : 1 ;
/**
offset 4 bit 16 */
bool unusedBit_4_16 : 1 ;
/**
offset 4 bit 17 */
bool unusedBit_4_17 : 1 ;
/**
offset 4 bit 18 */
bool unusedBit_4_18 : 1 ;
/**
offset 4 bit 19 */
bool unusedBit_4_19 : 1 ;
/**
offset 4 bit 20 */
bool unusedBit_4_20 : 1 ;
/**
offset 4 bit 21 */
bool unusedBit_4_21 : 1 ;
/**
offset 4 bit 22 */
bool unusedBit_4_22 : 1 ;
/**
offset 4 bit 23 */
bool unusedBit_4_23 : 1 ;
/**
offset 4 bit 24 */
bool unusedBit_4_24 : 1 ;
/**
offset 4 bit 25 */
bool unusedBit_4_25 : 1 ;
/**
offset 4 bit 26 */
bool unusedBit_4_26 : 1 ;
/**
offset 4 bit 27 */
bool unusedBit_4_27 : 1 ;
/**
offset 4 bit 28 */
bool unusedBit_4_28 : 1 ;
/**
offset 4 bit 29 */
bool unusedBit_4_29 : 1 ;
/**
offset 4 bit 30 */
bool unusedBit_4_30 : 1 ;
/**
offset 4 bit 31 */
bool unusedBit_4_31 : 1 ;
2017-03-27 19:19:58 -07:00
/**
* offset 8
*/
int customTotalToothCount ;
/**
* offset 12
*/
int customSkippedToothCount ;
2017-11-19 09:07:07 -08:00
/** total size 16*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct trigger_config_s trigger_config_s ;
2017-03-24 10:41:36 -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 ;
2019-02-22 19:10:41 -08:00
/**
* offset 1
*/
2020-06-29 18:46:18 -07:00
uint8_t alignmentFill_afr [ 3 ] ;
2017-03-27 19:19:58 -07:00
/**
* offset 4
*/
float v1 ;
/**
* offset 8
*/
float value1 ;
/**
* offset 12
*/
float v2 ;
/**
* offset 16
*/
float value2 ;
2017-03-24 10:41:36 -07:00
/** total size 20*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct afr_sensor_s afr_sensor_s ;
2017-03-24 10:41:36 -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
/**
* offset 0
*/
2019-02-22 19:10:41 -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
/**
2019-02-22 19:10:41 -08:00
* offset 5
2017-03-27 19:19:58 -07:00
*/
2020-07-03 12:10:58 -07:00
output_pin_e stepperDirectionPin ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
* offset 6
2017-03-27 19:19:58 -07:00
*/
2020-07-03 12:10:58 -07:00
output_pin_e stepperStepPin ;
2019-02-22 19:10:41 -08:00
/**
* offset 7
*/
pin_output_mode_e solenoidPinMode ;
/** total size 8*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct idle_hardware_s idle_hardware_s ;
2017-03-24 10:41:36 -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
*/
brain_pin_e directionPin1 ;
/**
* offset 1
*/
brain_pin_e directionPin2 ;
/**
* offset 2
*/
brain_pin_e controlPin1 ;
/**
* offset 3
*/
2020-04-10 14:27:13 -07:00
brain_pin_e disablePin ;
2019-03-10 09:02:25 -07:00
/** total size 4*/
2019-05-27 16:35:30 -07:00
} ;
2020-11-16 16:45:34 -08:00
typedef struct dc_io dc_io ;
2019-03-10 09:02:25 -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 ;
/**
* Engine sniffer would be disabled above this rpm
* set engineSnifferRpmThreshold X
* offset 4
*/
int engineSnifferRpmThreshold ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
* offset 8
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
injector_s injector ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 76 bit 0 */
2020-05-06 22:00:02 -07:00
bool isForcedInduction : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 1 */
2021-02-10 18:49:50 -08:00
bool unused_294_1 : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 2 */
bool isVerboseAuxPid1 : 1 ;
/**
offset 76 bit 3 */
2021-02-10 18:49:50 -08:00
bool unused_294_3 : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 4 */
2021-02-10 18:49:50 -08:00
bool unused_294_4 : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 5 */
2021-02-10 18:49:50 -08:00
bool unused_294_5 : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 6 */
2021-02-10 18:49:50 -08:00
bool unused_294_6 : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 7 */
2021-02-10 18:49:50 -08:00
bool unused_294_7 : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 8 */
2021-02-10 18:49:50 -08:00
bool unused_294_8 : 1 ;
2019-12-11 14:48:55 -08:00
/**
2020-04-08 19:12:33 -07:00
* enable cj125verbose / disable cj125verbose
2019-12-11 14:48:55 -08:00
offset 76 bit 9 */
2020-04-08 19:12:33 -07: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
2019-12-11 14:48:55 -08:00
offset 76 bit 10 */
bool cj125isUaDivided : 1 ;
/**
offset 76 bit 11 */
bool cj125isLsu49 : 1 ;
/**
2020-03-29 07:29:33 -07:00
* TLE7209 uses two - wire mode . TLE9201 and VNH2SP30 do NOT use two wire mode .
2019-12-11 14:48:55 -08:00
offset 76 bit 12 */
bool etb_use_two_wires : 1 ;
/**
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 .
2019-12-11 14:48:55 -08:00
offset 76 bit 13 */
2020-02-03 22:06:20 -08:00
bool isDoubleSolenoidIdle : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 14 */
bool showSdCardWarning : 1 ;
/**
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 .
2019-12-11 14:48:55 -08:00
offset 76 bit 15 */
bool cj125isUrDivided : 1 ;
/**
2020-07-12 14:36:03 -07:00
* Switch between Industrial and Cic PID implementation
2019-12-11 14:48:55 -08:00
offset 76 bit 16 */
2020-07-12 14:36:03 -07:00
bool useCicPidForIdle : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 17 */
bool useTLE8888_cranking_hack : 1 ;
/**
offset 76 bit 18 */
bool useInstantRpmForIdle : 1 ;
/**
* If your fuel regulator does not have vacuum line
offset 76 bit 19 */
bool absoluteFuelPressure : 1 ;
/**
offset 76 bit 20 */
2020-02-02 09:23:55 -08:00
bool launchControlEnabled : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 21 */
2020-02-02 09:23:55 -08:00
bool rollingLaunchEnabled : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 22 */
2020-02-02 09:23:55 -08:00
bool antiLagEnabled : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 23 */
2020-02-16 13:13:15 -08:00
bool useRunningMathForCranking : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 24 */
2020-04-15 15:24:26 -07:00
bool displayLogicLevelsInEngineSniffer : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 25 */
2020-11-10 09:39:01 -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 .
2019-12-11 14:48:55 -08:00
offset 76 bit 26 */
2021-01-31 14:21:02 -08:00
bool enableMapEstimationTableFallback : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 27 */
2021-02-05 08:29:43 -08:00
bool useFSIOTableForCanSniffingFiltering : 1 ;
2019-12-11 14:48:55 -08:00
/**
offset 76 bit 28 */
bool issue_294_29 : 1 ;
/**
offset 76 bit 29 */
bool issue_294_30 : 1 ;
/**
offset 76 bit 30 */
bool issue_294_31 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 76 bit 31 */
bool unusedBit_34_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
* offset 80
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -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
* offset 82
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -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 .
2019-12-11 14:48:55 -08:00
* offset 84
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -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 .
2019-12-11 14:48:55 -08:00
* offset 86
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
int16_t tpsErrorDetectionTooHigh ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 88
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
cranking_parameters_s cranking ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 96
2019-02-22 19:10:41 -08:00
*/
2019-12-11 14:48:55 -08:00
float primingSquirtDurationMs ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* Used if useConstantDwellDuringCranking is TRUE
* offset 100
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float ignitionDwellForCrankingMs ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* While cranking ( which causes battery voltage to drop ) we can calculate dwell time in shaft
* degrees , not in absolute time as in running mode .
* set cranking_charge_angle X
* offset 104
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float crankingChargeAngle ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* @ see hasMapSensor
* @ see isMapAveragingEnabled
* offset 108
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 !
* offset 252
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
/**
2019-12-11 14:48:55 -08:00
* offset 284
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
/**
2019-12-11 14:48:55 -08:00
* A secondary Rev limit engaged by the driver to help launch the vehicle faster
* offset 316
2017-03-27 19:19:58 -07:00
*/
2020-02-02 09:23:55 -08:00
int launchRpm ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 320
2017-03-27 19:19:58 -07:00
*/
2020-02-02 09:23:55 -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
* offset 324
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -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
* offset 328
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float knockBandCustom ;
2017-03-27 19:19:58 -07:00
/**
2020-07-28 06:12:43 -07:00
* On Single Coil or Wasted Spark setups you have to lower dwell at high RPM
2019-12-11 14:48:55 -08:00
* offset 332
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float sparkDwellRpmBins [ DWELL_CURVE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 364
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float sparkDwellValues [ DWELL_CURVE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 396
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
/**
2019-12-11 14:48:55 -08:00
* Cylinder diameter , in mm .
* offset 408
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float cylinderBore ;
/**
* Disable sensor sniffer above this rpm
* offset 412
*/
int sensorSnifferRpmThreshold ;
/**
* set rpm_hard_limit X
* offset 416
*/
int rpmHardLimit ;
/**
* This setting controls which fuel quantity control algorithm is used .
* offset 420
*/
engine_load_mode_e fuelAlgorithm ;
/**
* This is the injection strategy during engine start . See Fuel / Injection settings for more detail . It is suggested to use " Simultaneous " .
* offset 424
*/
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
* offset 428
*/
injection_mode_e injectionMode ;
/**
* this is about deciding when the injector starts it ' s squirt
* See also injectionPhase map
* todo : do we need even need this since we have the map anyway ?
* offset 432
*/
angle_t extraInjectionOffset ;
/**
* Ignition advance angle used during engine cranking , 5 - 10 degrees will work as a base setting for most engines .
* set cranking_timing_angle X
* offset 436
*/
angle_t crankingTimingAngle ;
/**
2020-07-28 06:12:43 -07:00
* " Single Coil " is for use on distributed ignition system . " Individual Coils " is to be used when you have one coil per cylinder ( COP or similar ) . " Wasted Spark " means one coil is driving two spark plugs in two cylinders , with one of the sparks not doing anything since it ' s happening on the exhaust cycle
2019-12-11 14:48:55 -08:00
* set ignition_mode X
* offset 440
*/
ignition_mode_e ignitionMode ;
2017-03-27 19:19:58 -07:00
/**
2021-03-27 16:02:46 -07:00
* This value could be used to offset the whole ignition timing table by a constant
* See also timing_offset_cylinder
2019-12-11 14:48:55 -08:00
* offset 444
*/
angle_t ignitionOffset ;
/**
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 ) .
2019-12-11 14:48:55 -08:00
* offset 448
*/
timing_mode_e timingMode ;
/**
* This value is the ignition timing used when in ' fixed timing ' mode , i . e . constant timing
* This mode is useful when adjusting distributor location .
* offset 452
*/
angle_t fixedModeTiming ;
/**
* 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
* offset 456
*/
angle_t globalTriggerAngleOffset ;
/**
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 .
2019-12-11 14:48:55 -08:00
* offset 460
*/
float analogInputDividerCoefficient ;
/**
* This is the ratio of the resistors for the battery voltage , measure the voltage at the battery and then adjust this number until the gauge matches the reading .
* offset 464
*/
float vbattDividerCoeff ;
/**
* Cooling fan turn - on temperature threshold , in Celsius
* offset 468
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -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
* offset 472
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float fanOffTemperature ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* This coefficient translates vehicle speed input frequency ( in Hz ) into vehicle speed , km / h
* offset 476
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float vehicleSpeedCoef ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* set can_mode X
* offset 480
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
can_nbc_e canNbcType ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* CANbus thread period , ms
* offset 484
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
int canSleepPeriodMs ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* ' Some triggers could be mounted differently . Most well - known triggers imply specific sensor setup . 4 stroke with symmetrical crank ' is a pretty special case for example on Miata NB2
* See engineCycle
* set operation_mode X
* offset 488
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
operation_mode_e ambiguousOperationMode ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 492
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
display_mode_e displayMode ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 496
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
log_format_e logFormat ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 500
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
int byFirmwareVersion ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 504
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
int HD44780width ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 508
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -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
2019-12-11 14:48:55 -08:00
* offset 512
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 .
* offset 513
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 .
* offset 514
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
2019-12-11 14:48:55 -08:00
* offset 515
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
2019-12-11 14:48:55 -08:00
* offset 516
2017-03-27 19:19:58 -07:00
*/
2020-07-10 11:05:14 -07:00
float idle_derivativeFilterLoss ;
2019-12-02 14:49:01 -08:00
/**
2019-12-11 14:48:55 -08:00
* offset 520
2019-12-02 14:49:01 -08:00
*/
2019-12-11 14:48:55 -08:00
int sensorChartFrequency ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 524
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
trigger_config_s trigger ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 540
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-01-27 17:33:00 -08:00
* This value is only used for speed density fueling calculations .
2019-12-11 14:48:55 -08:00
* offset 541
2017-03-27 19:19:58 -07:00
*/
2021-01-27 17:33:00 -08:00
uint8_t failedMapFallback ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 542
2017-03-27 19:19:58 -07:00
*/
2020-11-03 09:20:50 -08:00
uint8_t unused542 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* See hasMafSensor
* offset 543
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
* offset 544
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float globalFuelCorrection ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 548
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float adcVcc ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* maximum total number of degrees to subtract from ignition advance
* when knocking
* offset 552
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float maxKnockSubDeg ;
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 .
* offset 556
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
/**
* offset 560
*/
uint8_t camInputsPadding [ CAM_INPUTS_COUNT_padding ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 560
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
2019-12-11 14:48:55 -08:00
* offset 580
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
/**
2019-12-11 14:48:55 -08:00
* offset 581
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e tle6240_cs ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 582
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e tle6240_csPinMode ;
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
* offset 583
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
* offset 584
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
/**
2019-12-11 14:48:55 -08:00
* offset 600
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
/**
2019-12-11 14:48:55 -08:00
* value between 0 and 100 used in Manual mode
* offset 608
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float manIdlePosition ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 612
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float mapFrequency0Kpa ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 616
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
float mapFrequency100Kpa ;
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
2019-12-11 14:48:55 -08:00
* offset 620
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
int triggerSimulatorFrequency ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 624
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e injectionPins [ INJECTION_PIN_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 636
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e ignitionPins [ IGNITION_PIN_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 648
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
/**
2019-12-11 14:48:55 -08:00
* offset 649
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e ignitionPinMode ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 650
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e HD44780_rs ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 651
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e HD44780_e ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 652
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e HD44780_db4 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 653
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e HD44780_db5 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 654
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e HD44780_db6 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 655
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e HD44780_db7 ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* offset 656
2019-02-22 19:10:41 -08:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e gps_rx_pin ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* offset 657
2019-02-22 19:10:41 -08:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e gps_tx_pin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 658
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
/**
2019-12-11 14:48:55 -08:00
* offset 659
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e fuelPumpPinMode ;
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 .
* offset 660
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
/**
2019-12-11 14:48:55 -08:00
* offset 661
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
/**
2019-12-11 14:48:55 -08:00
* offset 662
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
/**
2019-12-11 14:48:55 -08:00
* offset 663
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
/**
2019-12-11 14:48:55 -08:00
* some cars have a switch to indicate that clutch pedal is all the way down
* offset 664
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
/**
2019-12-11 14:48:55 -08:00
* offset 665
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
/**
2019-12-11 14:48:55 -08:00
* offset 666
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
/**
2019-12-11 14:48:55 -08:00
* offset 667
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
/**
2019-12-11 14:48:55 -08:00
* offset 668
2017-05-27 20:43:48 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e digitalPotentiometerChipSelect [ DIGIPOT_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 672
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e electronicThrottlePin1Mode ;
2017-03-27 19:19:58 -07:00
/**
2020-04-08 19:37:00 -07:00
* set_cj125_heater_pin XXX
2019-12-11 14:48:55 -08:00
* offset 673
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e wboHeaterPin ;
2017-03-27 19:19:58 -07:00
/**
2020-04-08 19:37:00 -07:00
* set_cj125_cs_pin XXX
2019-12-11 14:48:55 -08:00
* offset 674
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e cj125CsPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 675
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
/**
2019-12-11 14:48:55 -08:00
* offset 676
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e 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
* offset 677
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
/**
2019-12-11 14:48:55 -08:00
* offset 678
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e mc33972_cs ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 679
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
* offset 680
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 .
2019-12-11 14:48:55 -08:00
* offset 681
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 .
* offset 682
*/
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
2020-01-10 22:08:41 -08:00
* offset 683
*/
adc_channel_e throttlePedalPositionSecondAdcChannel ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 684
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
* offset 692
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
ego_sensor_e afr_type ;
2017-03-27 19:19:58 -07:00
/**
2020-07-10 13:06:22 -07:00
* 0.1 is a good default value
2019-12-11 14:48:55 -08:00
* offset 696
2017-03-27 19:19:58 -07:00
*/
2020-07-10 11:05:14 -07:00
float idle_antiwindupFreq ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 700
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 ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 703
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
/**
2019-12-11 14:48:55 -08:00
* offset 704
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
/**
2019-12-11 14:48:55 -08:00
* offset 705
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
/**
2019-12-11 14:48:55 -08:00
* offset 706
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
/**
2019-12-11 14:48:55 -08:00
* offset 707
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e sdCardCsPin ;
2017-03-27 19:19:58 -07:00
/**
2020-03-31 13:49:19 -07:00
* set_can_tx_pin X
2019-12-11 14:48:55 -08:00
* offset 708
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e canTxPin ;
2017-03-27 19:19:58 -07:00
/**
2020-03-31 13:49:19 -07:00
* set_can_rx_pin X
2019-12-11 14:48:55 -08:00
* offset 709
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e canRxPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 710
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
/**
2020-07-07 20:03:03 -07:00
* Additional idle PID offset while A / C is active
2019-12-11 14:48:55 -08:00
* offset 711
2019-02-22 19:10:41 -08:00
*/
2020-07-07 19:20:59 -07:00
uint8_t acIdleExtraOffset ;
2017-03-27 19:19:58 -07:00
/**
2020-08-05 04:59:46 -07:00
* CANbus thread period , ms
2019-12-11 14:48:55 -08:00
* offset 712
2017-03-27 19:19:58 -07:00
*/
2020-08-05 04:59:46 -07:00
int can2SleepPeriodMs ;
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 !
2020-06-18 21:17:05 -07:00
* offset 716
*/
2020-09-18 00:05:55 -07: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
2020-09-18 00:05:55 -07:00
* offset 718
*/
uint16_t wastegatePositionMax ;
/**
* Voltage when the idle valve is closed .
* You probably don ' t have one of these !
2020-06-18 21:17:05 -07:00
* offset 720
*/
2020-09-18 00:05:55 -07:00
uint16_t idlePositionMin ;
/**
* 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
2020-09-18 00:05:55 -07:00
* offset 722
*/
uint16_t idlePositionMax ;
2020-06-18 21:17:05 -07:00
/**
* offset 724
*/
2020-11-09 19:09:32 -08:00
uint16_t tempHpfpStart ;
/**
* offset 726
*/
uint16_t tempHpfpDuration ;
2017-03-27 19:19:58 -07:00
/**
2020-05-03 00:41:14 -07:00
* Secondary TTL channel baud rate
2019-12-11 14:48:55 -08:00
* offset 728
*/
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
2019-12-11 14:48:55 -08:00
* offset 732
*/
2020-05-06 22:00:02 -07:00
float compressionRatio ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Each rusEfi piece can provide synthetic trigger signal for external ECU . Sometimes these wires are routed back into trigger inputs of the same rusEfi board .
* See also directSelfStimulation which is different .
* offset 736
*/
brain_pin_e triggerSimulatorPins [ TRIGGER_SIMULATOR_PIN_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 739
*/
pin_output_mode_e triggerSimulatorPinModes [ TRIGGER_SIMULATOR_PIN_COUNT ] ;
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
2019-12-11 14:48:55 -08:00
* offset 742
*/
output_pin_e o2heaterPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 743
*/
pin_output_mode_e o2heaterPinModeTodO ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 0 */
bool is_enabled_spi_1 : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 1 */
bool is_enabled_spi_2 : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 2 */
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
2019-12-11 14:48:55 -08:00
offset 744 bit 3 */
bool isSdCardEnabled : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 4 */
2020-09-29 03:36:50 -07:00
bool unused744b4 : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 5 */
bool isEngineControlEnabled : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 6 */
bool isHip9011Enabled : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 7 */
bool isVerboseAlternator : 1 ;
2019-05-11 10:39:27 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 8 */
bool useSerialPort : 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 .
offset 744 bit 9 */
bool useStepperIdle : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 10 */
bool enabledStep1Limiter : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 11 */
bool useTpicAdvancedMode : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 12 */
bool useLcdScreen : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 13 */
2020-02-26 22:11:44 -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
2019-12-11 14:48:55 -08:00
offset 744 bit 14 */
2020-03-19 06:22:16 -07: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 .
2019-12-11 14:48:55 -08:00
offset 744 bit 15 */
bool onOffAlternatorLogic : 1 ;
2017-03-27 19:19:58 -07:00
/**
2020-04-08 18:43:05 -07:00
* enable cj125 / disable cj125
2019-12-11 14:48:55 -08:00
offset 744 bit 16 */
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
2019-12-11 14:48:55 -08:00
offset 744 bit 17 */
bool vvtCamSensorUseRise : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Useful for individual intakes
offset 744 bit 18 */
bool measureMapOnlyInOneCylinder : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 19 */
bool stepperForceParkingEveryRestart : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* Smarter cranking logic .
* See also startOfCrankingPrimingPulse
offset 744 bit 20 */
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 .
offset 744 bit 21 */
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 .
2019-12-11 14:48:55 -08:00
offset 744 bit 22 */
bool useIacTableForCoasting : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 23 */
bool useNoiselessTriggerDecoder : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 24 */
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 .
2019-12-11 14:48:55 -08:00
offset 744 bit 25 */
2021-02-05 15:21:55 -08:00
bool disableEtbWhenEngineStopped : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 26 */
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 .
2019-12-11 14:48:55 -08:00
offset 744 bit 27 */
bool pauseEtbControl : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 28 */
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 .
offset 744 bit 29 */
bool useETBforIdleControl : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 30 */
bool idleIncrementalPidCic : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
offset 744 bit 31 */
2020-01-12 00:44:37 -08:00
bool enableAemXSeries : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 748
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
/**
2019-12-11 14:48:55 -08:00
* offset 752
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
/**
2019-12-11 14:48:55 -08:00
* offset 753
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e hip9011CsPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 754
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e hip9011IntHoldPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 755
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
/**
2019-12-11 14:48:55 -08:00
* offset 756
2017-03-27 19:19:58 -07:00
*/
2020-03-19 06:22:16 -07:00
uint32_t verboseCanBaseAddress ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 760
2017-03-27 19:19:58 -07:00
*/
2020-04-15 18:28:44 -07:00
uint8_t mc33_hvolt ;
/**
2020-07-07 20:03:03 -07:00
* Additional idle PID minValue while A / C is active
2020-04-15 18:28:44 -07:00
* offset 761
*/
2020-07-07 19:20:59 -07:00
uint8_t acIdleExtraMin ;
/**
2020-09-05 20:38:02 -07:00
* Optional Radiator Fan used with A / C
2020-07-07 19:20:59 -07:00
* offset 762
*/
2020-09-05 20:38:02 -07:00
output_pin_e acFanPin ;
/**
* offset 763
*/
pin_output_mode_e acFanPinMode ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 764
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e gpioPinModes [ FSIO_COMMAND_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* todo : more comments
* offset 780
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e fsioOutputPins [ FSIO_COMMAND_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 796
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e max31855_cs [ EGT_CHANNEL_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* SD card logging period , in milliseconds
* offset 804
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
int16_t sdCardPeriodMs ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 806
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
/**
2019-12-11 14:48:55 -08:00
* offset 807
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e debugMapAveraging ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 808
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
2019-12-11 14:48:55 -08:00
* offset 809
2017-03-27 19:19:58 -07:00
*/
2020-09-27 04:38:53 -07:00
pin_output_mode_e starterRelayDisablePinMode ;
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
2019-12-11 14:48:55 -08:00
* offset 810
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
2020-02-03 22:06:20 -08:00
* offset 811
*/
2020-03-20 17:45:35 -07:00
switch_input_pin_e startStopButtonPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 812
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
int mapMinBufferLength ;
2017-03-27 19:19:58 -07:00
/**
2020-12-30 05:37:55 -08:00
* Below this throttle position , the engine is considered idling .
2019-12-11 14:48:55 -08:00
* offset 816
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
int16_t idlePidDeactivationTpsThreshold ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 818
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
int16_t stepperParkingExtraSteps ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 820
2017-03-27 19:19:58 -07:00
*/
2020-05-10 07:11:51 -07:00
uint16_t tps1SecondaryMin ;
/**
* offset 822
*/
uint16_t tps1SecondaryMax ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 824
2017-03-27 19:19:58 -07:00
*/
2020-03-24 21:58:59 -07:00
int16_t antiLagRpmTreshold ;
2020-03-23 20:20:54 -07:00
/**
2020-03-24 21:58:59 -07:00
* Maximum time to crank starter
2020-03-23 20:20:54 -07:00
* offset 826
*/
2021-01-26 18:58:44 -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
* offset 828
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e triggerErrorPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 829
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e triggerErrorPinMode ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 830
2019-02-22 19:10:41 -08:00
*/
2019-12-11 14:48:55 -08:00
output_pin_e acRelayPin ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* offset 831
2019-02-22 19:10:41 -08:00
*/
2019-12-11 14:48:55 -08:00
pin_output_mode_e acRelayPinMode ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* offset 832
2019-02-22 19:10:41 -08:00
*/
2019-12-11 14:48:55 -08:00
fsio_pwm_freq_t fsioFrequency [ FSIO_COMMAND_COUNT ] ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* offset 864
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
fsio_setting_t fsio_setting [ FSIO_COMMAND_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 928
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e spi1mosiPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 929
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e spi1misoPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 930
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e spi1sckPin ;
2019-04-14 15:12:15 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 931
2019-04-14 15:12:15 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e spi2mosiPin ;
2019-05-25 12:35:25 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 932
2019-05-25 12:35:25 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e spi2misoPin ;
2019-05-25 12:35:25 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 933
2019-05-25 12:35:25 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e spi2sckPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 934
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e spi3mosiPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 935
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e spi3misoPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 936
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e 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
* offset 937
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e cdmInputPin ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* offset 938
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e joystickCenterPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 939
2017-03-27 19:19:58 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e joystickAPin ;
2019-02-22 19:10:41 -08:00
/**
2019-12-11 14:48:55 -08:00
* offset 940
2019-02-22 19:10:41 -08:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e joystickBPin ;
2019-04-20 20:39:06 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 941
2019-04-20 20:39:06 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e joystickCPin ;
2019-04-20 20:39:06 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 942
2019-04-20 20:39:06 -07:00
*/
2019-12-11 14:48:55 -08:00
brain_pin_e joystickDPin ;
2017-03-27 19:19:58 -07:00
/**
2019-12-11 14:48:55 -08:00
* offset 943
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
/**
2019-12-11 14:48:55 -08:00
* rusEfi console Sensor Sniffer mode
* offset 944
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
/**
* offset 948
*/
maf_sensor_type_e mafSensorType ;
/**
* todo : not finished
* These input pins allow us to pull toggle buttons state
* offset 952
*/
brain_pin_e fsioDigitalInputs [ FSIO_COMMAND_COUNT ] ;
/**
* offset 968
*/
brain_input_pin_e vehicleSpeedSensorInputPin ;
/**
* Some vehicles have a switch to indicate that clutch pedal is all the way up
* offset 969
*/
switch_input_pin_e clutchUpPin ;
/**
* offset 970
*/
brain_input_pin_e frequencyReportingMapInputPin ;
/**
* offset 971
*/
pin_input_mode_e clutchUpPinMode ;
/**
* offset 972
*/
2020-03-14 06:18:25 -07:00
uint16_t multisparkMaxRpm ;
/**
* offset 974
*/
uint8_t multisparkMaxSparkingAngle ;
/**
* offset 975
*/
uint8_t multisparkMaxExtraSparkCount ;
2019-11-30 07:24:37 -08:00
/**
offset 976 bit 0 */
bool todoClutchUpPinInverted : 1 ;
/**
offset 976 bit 1 */
bool todoClutchDownPinInverted : 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
2019-12-14 13:11:31 -08:00
offset 976 bit 2 */
2020-03-02 16:49:47 -08:00
bool useHbridges : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 3 */
2020-03-14 06:18:25 -07:00
bool multisparkEnable : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 4 */
2020-03-23 20:20:54 -07:00
bool enableLaunchRetard : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 5 */
2020-03-23 20:20:54 -07:00
bool enableLaunchBoost : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 6 */
2020-03-23 20:20:54 -07:00
bool launchDisableBySpeed : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 7 */
2020-04-19 15:32:24 -07:00
bool enableCanVss : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 8 */
2020-04-19 15:32:24 -07:00
bool enableInnovateLC2 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 9 */
2020-04-22 16:51:37 -07: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 .
2019-12-14 13:11:31 -08:00
offset 976 bit 10 */
2020-05-06 18:00:40 -07:00
bool stftIgnoreErrorMagnitude : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 11 */
2020-09-28 13:34:48 -07:00
bool unused976b11 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 12 */
2020-08-28 18:15:45 -07:00
bool enableSoftwareKnock : 1 ;
2019-12-14 13:11:31 -08:00
/**
2020-08-29 14:03:44 -07:00
* enable vvt_details
2019-12-14 13:11:31 -08:00
offset 976 bit 13 */
2020-08-29 14:03:44 -07:00
bool verboseVVTDecoding : 1 ;
2019-12-14 13:11:31 -08:00
/**
2020-08-29 15:00:40 -07:00
* get invertCamVVTSignal
2019-12-14 13:11:31 -08:00
offset 976 bit 14 */
2020-08-29 15:00:40 -07: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
2019-12-14 13:11:31 -08:00
offset 976 bit 15 */
2020-08-30 11:29:40 -07:00
bool consumeObdSensors : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 16 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl1 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 17 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl2 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 18 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl3 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 19 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl4 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 20 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl5 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 21 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl6 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 22 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl7 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 23 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl8 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 24 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl9 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 25 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl10 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 26 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl11 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 27 */
2020-09-02 04:22:59 -07:00
bool knockBankCyl12 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 28 */
2020-09-02 12:34:30 -07:00
bool tcuEnabled : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 29 */
2020-03-02 16:49:47 -08:00
bool unusedBit_251_29 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 30 */
2021-03-19 05:41:10 -07:00
bool unusedBit_288_30 : 1 ;
2019-12-14 13:11:31 -08:00
/**
offset 976 bit 31 */
2021-03-19 05:41:10 -07:00
bool unusedBit_288_31 : 1 ;
2019-11-30 07:24:37 -08:00
/**
* offset 980
*/
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
2019-11-30 14:38:33 -08:00
* offset 988
*/
2020-01-31 11:23:15 -08:00
output_pin_e boostControlPin ;
/**
* offset 989
*/
pin_output_mode_e boostControlPinMode ;
/**
* offset 990
*/
2020-02-02 10:18:41 -08:00
switch_input_pin_e antiLagActivatePin ;
/**
* offset 991
*/
switch_input_pin_e launchActivatePin ;
2020-01-31 11:23:15 -08:00
/**
* offset 992
*/
pid_s boostPid ;
/**
* offset 1012
*/
boostType_e boostType ;
/**
* offset 1016
*/
int boostPwmFrequency ;
/**
* offset 1020
*/
2020-02-02 09:23:55 -08:00
launchActivationMode_e launchActivationMode ;
/**
* offset 1024
*/
antiLagActivationMode_e antiLagActivationMode ;
/**
* Disabled above this speed
2020-02-02 10:18:41 -08:00
* offset 1028
2020-02-02 09:23:55 -08:00
*/
int launchSpeedTreshold ;
/**
* Disabled below this rpm
2020-02-02 10:18:41 -08:00
* offset 1032
2020-02-02 09:23:55 -08:00
*/
int launchRpmTreshold ;
/**
* Range from Launch Rpm for Timing Retard to activate
2020-02-02 10:18:41 -08:00
* offset 1036
2020-02-02 09:23:55 -08:00
*/
int launchTimingRpmRange ;
/**
* Extra Fuel Added
2020-02-02 10:18:41 -08:00
* offset 1040
2020-02-02 09:23:55 -08:00
*/
int launchFuelAdded ;
/**
* Duty Cycle for the Boost Solenoid
2020-02-02 10:18:41 -08:00
* offset 1044
2020-02-02 09:23:55 -08:00
*/
int launchBoostDuty ;
/**
* RPM Range for Hard Cut
2020-02-02 10:18:41 -08:00
* offset 1048
2020-02-02 09:23:55 -08:00
*/
int hardCutRpmRange ;
/**
2020-02-02 10:18:41 -08:00
* offset 1052
2020-02-02 09:23:55 -08:00
*/
2020-03-23 20:20:54 -07:00
int launchAdvanceRpmRange ;
/**
* offset 1056
*/
int launchTpsTreshold ;
/**
* offset 1060
*/
float launchActivateDelay ;
/**
* offset 1064
*/
2020-04-13 06:23:13 -07:00
stft_s stft ;
/**
* offset 1088
*/
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
2020-05-02 15:38:22 -07:00
* offset 1096
*/
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
2020-05-05 12:37:44 -07:00
* offset 1128
*/
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
2020-05-06 11:00:08 -07:00
* offset 1160
*/
2020-05-07 10:46:18 -07:00
vehicle_info_t vehicleName ;
/**
* offset 1192
*/
2020-05-19 22:18:23 -07:00
output_pin_e tcu_solenoid [ TCU_SOLENOID_COUNT ] ;
2020-09-15 01:35:57 -07:00
/**
* offset 1198
*/
2020-10-08 11:14:09 -07:00
etb_function_e etbFunctions [ ETB_COUNT ] ;
2020-05-19 22:18:23 -07:00
/**
* offset 1200
*/
2020-09-07 07:49:54 -07:00
spi_device_e drv8860spiDevice ;
/**
* offset 1201
*/
brain_pin_e drv8860_cs ;
/**
* offset 1202
*/
pin_output_mode_e drv8860_csPinMode ;
/**
* offset 1203
*/
brain_pin_e drv8860_miso ;
/**
* offset 1204
*/
2021-03-19 05:41:10 -07:00
uint16_t fuelLevelBins [ FUEL_LEVEL_TABLE_COUNT ] ;
/**
* offset 1220
*/
int unusedAtOldBoardConfigurationEnd [ 59 ] ;
2020-11-25 10:21:44 -08:00
/**
* offset 1456
*/
uint16_t vehicleWeight ;
/**
* offset 1458
*/
2021-02-07 05:48:13 -08:00
brain_pin_e lps25BaroSensorScl ;
/**
* offset 1459
*/
brain_pin_e lps25BaroSensorSda ;
2020-05-10 07:11:51 -07:00
/**
* offset 1460
*/
uint16_t tps2SecondaryMin ;
/**
* offset 1462
*/
uint16_t tps2SecondaryMax ;
2019-02-22 19:10:41 -08:00
/**
offset 1464 bit 0 */
2020-06-01 05:12:18 -07:00
bool unusedHereWeHave : 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 .
2019-02-22 19:10:41 -08:00
offset 1464 bit 1 */
2017-03-27 19:19:58 -07:00
bool fuelClosedLoopCorrectionEnabled : 1 ;
/**
2018-06-15 17:45:06 -07:00
* Print details into rusEfi console
2020-11-29 21:14:11 -08:00
* enable verbose_idle
2019-02-22 19:10:41 -08:00
offset 1464 bit 2 */
2017-05-16 19:13:40 -07:00
bool isVerboseIAC : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-06-18 16:18:52 -07:00
* Prints ETB details to rusEFI console
2019-02-22 19:10:41 -08:00
offset 1464 bit 3 */
2017-05-24 21:38:37 -07:00
bool isVerboseETB : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-09 14:17:23 -08:00
* If set to true , will use the specified duration for cranking dwell . If set to false , will use the specified dwell angle . Unless you have a really good reason to , leave this set to true to use duration mode .
2019-02-22 19:10:41 -08:00
offset 1464 bit 4 */
2017-03-27 19:19:58 -07:00
bool useConstantDwellDuringCranking : 1 ;
/**
* This options enables data for ' engine sniffer ' tab in console , which comes at some CPU price
2019-02-22 19:10:41 -08:00
offset 1464 bit 5 */
2017-03-27 19:19:58 -07:00
bool isEngineChartEnabled : 1 ;
/**
2019-07-22 14:38:52 -07:00
* Sometimes we have a performance issue while printing error
2019-02-22 19:10:41 -08:00
offset 1464 bit 6 */
2017-05-25 05:28:30 -07:00
bool silentTriggerError : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 7 */
2017-06-12 15:22:25 -07: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
2019-02-22 19:10:41 -08:00
offset 1464 bit 8 */
2017-03-27 19:19:58 -07:00
bool canReadEnabled : 1 ;
/**
2020-03-31 13:49:19 -07:00
* enable can_write / disable can_write
2019-02-22 19:10:41 -08:00
offset 1464 bit 9 */
2017-03-27 19:19:58 -07:00
bool canWriteEnabled : 1 ;
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 10 */
2017-06-12 15:22:25 -07:00
bool useLinearIatSensor : 1 ;
2017-03-27 19:19:58 -07:00
/**
2017-08-03 18:09:32 -07:00
* See fsioTimingAdjustment
2019-02-22 19:10:41 -08:00
offset 1464 bit 11 */
2017-07-25 17:32:54 -07:00
bool useFSIO16ForTimingAdjustment : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 12 */
2017-08-28 18:00:36 -07: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 .
2019-02-22 19:10:41 -08:00
offset 1464 bit 13 */
2017-03-27 19:19:58 -07:00
bool isAlternatorControlEnabled : 1 ;
/**
2019-06-18 16:18:52 -07:00
* This setting flips the signal from the primary engine speed sensor .
2019-02-22 19:10:41 -08:00
offset 1464 bit 14 */
2017-10-16 11:52:42 -07: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 .
2019-02-22 19:10:41 -08:00
offset 1464 bit 15 */
2017-10-16 11:52:42 -07:00
bool invertSecondaryTriggerSignal : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 16 */
2017-03-27 19:19:58 -07:00
bool cutFuelOnHardLimit : 1 ;
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 17 */
2017-03-27 19:19:58 -07:00
bool cutSparkOnHardLimit : 1 ;
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 18 */
2020-02-02 09:23:55 -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
2019-02-22 19:10:41 -08:00
offset 1464 bit 19 */
2020-02-02 09:23:55 -08:00
bool launchSparkCutEnable : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 20 */
2017-03-27 19:19:58 -07:00
bool hasFrequencyReportingMapSensor : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 21 */
2018-03-18 09:15:51 -07:00
bool useFSIO8ForServo1 : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 22 */
2018-03-18 09:15:51 -07:00
bool useFSIO9ForServo2 : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 23 */
2018-03-18 09:15:51 -07:00
bool useFSIO10ForServo3 : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 24 */
2018-03-18 09:15:51 -07:00
bool useFSIO11ForServo4 : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 25 */
2018-03-18 09:15:51 -07:00
bool useFSIO12ForServo5 : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 26 */
2018-07-29 15:02:37 -07:00
bool useFSIO15ForIdleRpmAdjustment : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-01-05 20:48:37 -08:00
* Sometimes we just have to shut the engine down . Use carefully !
2019-02-22 19:10:41 -08:00
offset 1464 bit 27 */
2019-01-05 20:48:37 -08:00
bool useFSIO5ForCriticalIssueEngineStop : 1 ;
/**
* Sometimes we have to miss injection on purpose to attract driver ' s attention
2019-02-22 19:10:41 -08:00
offset 1464 bit 28 */
2019-01-05 20:48:37 -08:00
bool useFSIO4ForSeriousEngineWarning : 1 ;
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 29 */
2019-09-11 17:46:50 -07:00
bool useFSIO12ForIdleOffset : 1 ;
2019-01-05 20:48:37 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1464 bit 30 */
2019-09-11 17:46:50 -07:00
bool useFSIO13ForIdleMinValue : 1 ;
2019-09-29 11:00:04 -07:00
/**
offset 1464 bit 31 */
2019-11-18 16:22:29 -08:00
bool useFSIO6ForRevLimiter : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
* offset 1468
2017-03-27 19:19:58 -07:00
*/
adc_channel_e hipOutputChannel ;
/**
2020-09-10 19:18:18 -07:00
* A / C button input
2019-02-22 19:10:41 -08:00
* offset 1469
*/
2020-09-10 19:18:18 -07:00
switch_input_pin_e acSwitch ;
2019-07-12 11:24:45 -07:00
/**
* offset 1470
*/
adc_channel_e vRefAdcChannel ;
/**
2019-09-22 20:28:11 -07:00
* Expected neutral position
2019-07-12 11:24:45 -07:00
* offset 1471
*/
2019-09-22 20:28:11 -07:00
uint8_t etbNeutralPosition ;
2019-02-22 19:10:41 -08:00
/**
2019-04-04 18:45:18 -07:00
* See also idleRpmPid
2019-02-22 19:10:41 -08:00
* offset 1472
2017-03-27 19:19:58 -07:00
*/
idle_mode_e idleMode ;
/**
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 .
2019-02-22 19:10:41 -08:00
offset 1476 bit 0 */
2017-03-27 19:19:58 -07:00
bool isInjectionEnabled : 1 ;
/**
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 .
2019-02-22 19:10:41 -08:00
offset 1476 bit 1 */
2017-03-27 19:19:58 -07:00
bool isIgnitionEnabled : 1 ;
/**
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 .
2019-02-22 19:10:41 -08:00
offset 1476 bit 2 */
2017-03-27 19:19:58 -07:00
bool isCylinderCleanupEnabled : 1 ;
/**
2019-02-22 19:10:41 -08:00
offset 1476 bit 3 */
2020-09-29 03:36:50 -07:00
bool unused1476b3 : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
offset 1476 bit 4 */
2020-01-12 02:17:42 -08:00
bool unusedBit4_1476 : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
offset 1476 bit 5 */
2017-03-27 19:19:58 -07:00
bool isMapAveragingEnabled : 1 ;
/**
2019-06-18 16:18:52 -07:00
* This setting overrides the normal multiplication values that have been set for the idle air control valve during cranking . If this setting is enabled the " IAC multiplier " table in the Cranking settings tab needs to be adjusted appropriately or potentially no IAC opening will occur .
2019-02-22 19:10:41 -08:00
offset 1476 bit 6 */
2017-12-06 15:46:31 -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 .
2019-02-22 19:10:41 -08:00
offset 1476 bit 7 */
2017-12-11 07:14:42 -08:00
bool useSeparateAdvanceForIdle : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
offset 1476 bit 8 */
2020-09-29 03:36:50 -07:00
bool unused1476b8 : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
offset 1476 bit 9 */
2017-03-27 19:19:58 -07:00
bool isWaveAnalyzerEnabled : 1 ;
/**
2019-06-18 16:18:52 -07:00
* This activates a separate fuel table for Idle , this allows fine tuning of the idle fuelling .
2019-02-22 19:10:41 -08:00
offset 1476 bit 10 */
2017-12-11 07:14:42 -08:00
bool useSeparateVeForIdle : 1 ;
2017-03-27 19:19:58 -07:00
/**
* enable trigger_details
2019-02-22 19:10:41 -08:00
offset 1476 bit 11 */
2019-06-24 23:25:26 -07: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
2019-02-22 19:10:41 -08:00
offset 1476 bit 12 */
2017-03-27 19:19:58 -07:00
bool isManualSpinningMode : 1 ;
/**
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
2019-02-22 19:10:41 -08:00
offset 1476 bit 13 */
2017-03-27 19:19:58 -07:00
bool twoWireBatchInjection : 1 ;
/**
* VR sensors are only precise on rising front
* enable trigger_only_front
2019-02-22 19:10:41 -08:00
offset 1476 bit 14 */
2017-03-27 19:19:58 -07:00
bool useOnlyRisingEdgeForTrigger : 1 ;
/**
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 ) .
2019-02-22 19:10:41 -08:00
offset 1476 bit 15 */
2017-03-27 19:19:58 -07:00
bool twoWireBatchIgnition : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1476 bit 16 */
2018-01-02 18:25:40 -08:00
bool useFixedBaroCorrFromMap : 1 ;
/**
2019-06-18 16:18:52 -07:00
* This activates a separate advance table for cranking conditions , this allows cranking advance to be RPM dependant .
2019-02-22 19:10:41 -08:00
offset 1476 bit 17 */
2018-02-02 05:18:00 -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 ) .
2019-02-22 19:10:41 -08:00
offset 1476 bit 18 */
2018-02-02 05:18:00 -08:00
bool useAdvanceCorrectionsForCranking : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1476 bit 19 */
2020-10-09 14:19:04 -07:00
bool unused1476b19 : 1 ;
2018-01-02 18:25:40 -08:00
/**
2019-02-22 19:10:41 -08:00
offset 1476 bit 20 */
2020-04-28 17:12:34 -07:00
bool unused1476b20 : 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
2019-02-22 19:10:41 -08:00
offset 1476 bit 21 */
2019-12-03 21:38:40 -08:00
bool useIacPidMultTable : 1 ;
2019-09-29 11:00:04 -07:00
/**
offset 1476 bit 22 */
2020-01-31 11:23:15 -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
2019-09-29 11:00:04 -07:00
offset 1476 bit 23 */
2020-02-02 09:23:55 -08:00
bool launchSmoothRetard : 1 ;
2019-09-29 11:00:04 -07:00
/**
offset 1476 bit 24 */
bool unused_1484_bit_24 : 1 ;
/**
offset 1476 bit 25 */
bool unused_1484_bit_25 : 1 ;
/**
offset 1476 bit 26 */
bool unused_1484_bit_26 : 1 ;
/**
offset 1476 bit 27 */
bool unused_1484_bit_27 : 1 ;
/**
offset 1476 bit 28 */
bool unused_1484_bit_28 : 1 ;
/**
offset 1476 bit 29 */
bool unused_1484_bit_29 : 1 ;
/**
offset 1476 bit 30 */
bool unused_1484_bit_30 : 1 ;
/**
offset 1476 bit 31 */
bool unused_1484_bit_31 : 1 ;
2017-03-27 19:19:58 -07:00
/**
2019-02-22 19:10:41 -08:00
* offset 1480
2017-03-27 19:19:58 -07:00
*/
uint32_t engineChartSize ;
/**
2020-06-28 07:12:01 -07:00
* Relative to the target idle RPM - this limit is coupled with useIacTableForCoasting and iacCoasting parameters
2019-02-22 19:10:41 -08:00
* offset 1484
2017-03-27 19:19:58 -07:00
*/
2017-12-26 21:26:40 -08:00
int16_t idlePidRpmUpperLimit ;
/**
2019-06-18 16:18:52 -07:00
* This sets the temperature above which no priming pulse is used , The value at - 40 is reduced until there is no more priming injection at this temperature .
2019-02-22 19:10:41 -08:00
* offset 1486
2017-12-26 21:26:40 -08:00
*/
2018-01-03 04:59:59 -08:00
int16_t primeInjFalloffTemperature ;
2017-03-27 19:19:58 -07:00
/**
* At what trigger index should some ignition - related math be executed ? This is a performance trick to reduce load on synchronization trigger callback .
2019-07-12 11:24:45 -07:00
* offset 1488
2017-03-27 19:19:58 -07:00
*/
2019-02-22 19:10:41 -08:00
int ignMathCalculateAtIndex ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1492
2017-03-27 19:19:58 -07:00
*/
int16_t acCutoffLowRpm ;
/**
2019-07-12 11:24:45 -07:00
* offset 1494
2017-03-27 19:19:58 -07:00
*/
int16_t acCutoffHighRpm ;
/**
2019-07-12 11:24:45 -07:00
* offset 1496
2017-03-27 19:19:58 -07:00
*/
int16_t acIdleRpmBump ;
/**
* set warningPeriod X
2019-07-12 11:24:45 -07:00
* offset 1498
2017-03-27 19:19:58 -07:00
*/
int16_t warningPeriod ;
/**
2019-07-12 11:24:45 -07:00
* offset 1500
2017-03-27 19:19:58 -07:00
*/
float knockDetectionWindowStart ;
/**
2019-07-12 11:24:45 -07:00
* offset 1504
2017-03-27 19:19:58 -07:00
*/
float knockDetectionWindowEnd ;
/**
2019-07-12 11:24:45 -07:00
* offset 1508
2017-03-27 19:19:58 -07:00
*/
float idleStepperReactionTime ;
/**
2019-07-12 11:24:45 -07:00
* offset 1512
2017-03-27 19:19:58 -07:00
*/
float knockVThreshold ;
/**
2019-07-12 11:24:45 -07:00
* offset 1516
2017-03-27 19:19:58 -07:00
*/
2017-06-25 23:14:31 -07:00
pin_input_mode_e fsioInputModes [ FSIO_COMMAND_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1532
2017-03-27 19:19:58 -07:00
*/
int idleStepperTotalSteps ;
/**
2017-05-12 13:28:56 -07:00
* TODO : finish this # 413
2019-07-12 11:24:45 -07:00
* offset 1536
2017-03-27 19:19:58 -07:00
*/
float noAccelAfterHardLimitPeriodSecs ;
/**
* At what trigger index should some MAP - related math be executed ? This is a performance trick to reduce load on synchronization trigger callback .
2019-07-12 11:24:45 -07:00
* offset 1540
2017-03-27 19:19:58 -07:00
*/
int mapAveragingSchedulingAtIndex ;
/**
2019-07-12 11:24:45 -07:00
* offset 1544
2017-03-27 19:19:58 -07:00
*/
2015-07-10 06:01:56 -07:00
float baroCorrPressureBins [ BARO_CORR_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1560
2017-03-27 19:19:58 -07:00
*/
2015-07-10 06:01:56 -07:00
float baroCorrRpmBins [ BARO_CORR_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1576
2017-03-27 19:19:58 -07:00
*/
baro_corr_table_t baroCorrTable ;
/**
* Cranking fuel correction coefficient based on TPS
2019-07-12 11:24:45 -07:00
* offset 1640
2017-03-27 19:19:58 -07:00
*/
2015-08-18 11:03:02 -07:00
float crankingTpsCoef [ CRANKING_CURVE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1672
2017-03-27 19:19:58 -07:00
*/
2015-08-18 11:03:02 -07:00
float crankingTpsBins [ CRANKING_CURVE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1704
2017-03-27 19:19:58 -07:00
*/
float tachPulseDuractionMs ;
/**
2019-07-12 11:24:45 -07:00
* offset 1708
2017-03-27 19:19:58 -07:00
*/
2020-10-29 12:28:08 -07:00
int unused1708 ;
2017-03-27 19:19:58 -07:00
/**
2019-07-11 18:14:02 -07:00
* Length of time the deposited wall fuel takes to dissipate after the start of acceleration .
2019-07-12 11:24:45 -07:00
* offset 1712
2017-03-27 19:19:58 -07:00
*/
2019-01-06 17:45:51 -08:00
float wwaeTau ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1716
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
/**
2019-07-12 11:24:45 -07:00
* offset 1736
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
/**
2019-07-12 11:24:45 -07:00
* offset 1756
2017-03-27 19:19:58 -07:00
*/
2019-09-24 15:39:26 -07:00
float fuelRailPressure ;
/**
* offset 1760
*/
2019-10-23 18:41:30 -07:00
float alternator_derivativeFilterLoss ;
/**
* offset 1764
*/
float alternator_antiwindupFreq ;
/**
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
2019-10-23 18:41:30 -07:00
* offset 1768
*/
2019-12-07 21:37:33 -08:00
int16_t tps2Min ;
/**
* Full throttle # 2. tpsMax value as 10 bit ADC value . Not Voltage !
* See also tps1_1AdcChannel
* set tps2_max X
* offset 1770
*/
int16_t tps2Max ;
/**
2020-03-24 21:58:59 -07:00
* See also startStopButtonPin
2019-12-07 21:37:33 -08:00
* offset 1772
*/
2020-03-18 12:56:17 -07:00
output_pin_e starterControlPin ;
/**
* offset 1773
*/
2020-03-20 17:45:35 -07:00
pin_input_mode_e startStopButtonMode ;
/**
* offset 1774
*/
2020-04-13 16:01:22 -07:00
brain_pin_e mc33816_flag0 ;
2019-12-29 22:41:23 -08:00
/**
* offset 1775
*/
uint8_t tachPulsePerRev ;
2017-03-27 19:19:58 -07:00
/**
* kPa value which is too low to be true
2019-07-12 11:24:45 -07:00
* offset 1776
2017-03-27 19:19:58 -07:00
*/
float mapErrorDetectionTooLow ;
/**
* kPa value which is too high to be true
2019-07-12 11:24:45 -07:00
* offset 1780
2017-03-27 19:19:58 -07:00
*/
float mapErrorDetectionTooHigh ;
/**
2019-07-12 11:24:45 -07:00
* offset 1784
2017-03-27 19:19:58 -07:00
*/
2020-03-14 06:18:25 -07:00
uint16_t multisparkSparkDuration ;
/**
* offset 1786
*/
uint16_t multisparkDwell ;
2017-03-27 19:19:58 -07:00
/**
2018-01-07 09:11:49 -08:00
* See cltIdleRpmBins
2019-07-12 11:24:45 -07:00
* offset 1788
2017-03-27 19:19:58 -07:00
*/
pid_s idleRpmPid ;
/**
2019-07-11 18:14:02 -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 .
2019-07-12 11:24:45 -07:00
* offset 1808
2017-03-27 19:19:58 -07:00
*/
2019-01-06 17:45:51 -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 .
2019-07-12 11:24:45 -07:00
* offset 1812
2017-03-27 19:19:58 -07:00
*/
2018-07-26 12:51:06 -07:00
brain_pin_e 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 .
2019-07-12 11:24:45 -07:00
* offset 1813
2017-03-27 19:19:58 -07:00
*/
2018-07-26 12:51:06 -07:00
brain_pin_e runningLedPin ;
2017-03-27 19:19:58 -07:00
/**
2020-05-02 21:11:27 -07:00
* See also EFI_CONSOLE_RX_BRAIN_PIN
2019-07-12 11:24:45 -07:00
* offset 1814
2017-03-27 19:19:58 -07:00
*/
brain_pin_e binarySerialTxPin ;
/**
2019-07-12 11:24:45 -07:00
* offset 1815
2017-03-27 19:19:58 -07:00
*/
brain_pin_e binarySerialRxPin ;
2019-02-22 19:10:41 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 1816
2019-02-22 19:10:41 -08:00
*/
brain_pin_e auxValves [ AUX_DIGITAL_VALVE_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1818
2017-03-27 19:19:58 -07:00
*/
2020-05-29 18:00:34 -07:00
switch_input_pin_e tcuUpshiftButtonPin ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1819
2017-03-27 19:19:58 -07:00
*/
2020-05-29 18:00:34 -07:00
switch_input_pin_e tcuDownshiftButtonPin ;
2017-03-27 19:19:58 -07:00
/**
* Knock sensor output knock detection threshold depending on current RPM
2019-07-12 11:24:45 -07:00
* offset 1820
2017-03-27 19:19:58 -07:00
*/
2016-01-01 15:01:46 -08:00
float knockNoise [ ENGINE_NOISE_CURVE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1852
2017-03-27 19:19:58 -07:00
*/
2016-01-01 15:01:46 -08:00
float knockNoiseRpmBins [ ENGINE_NOISE_CURVE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 1884
2017-03-27 19:19:58 -07:00
*/
2017-05-29 19:35:24 -07:00
float throttlePedalUpVoltage ;
/**
* Pedal in the floor
2019-07-12 11:24:45 -07:00
* offset 1888
2017-05-29 19:35:24 -07:00
*/
float throttlePedalWOTVoltage ;
2017-06-13 07:40:16 -07:00
/**
2018-01-21 09:19:36 -08:00
* on ECU start turn fuel pump on to build fuel pressure
2019-07-12 11:24:45 -07:00
* offset 1892
2017-06-13 07:40:16 -07:00
*/
2017-06-24 22:35:46 -07:00
int16_t startUpFuelPumpDuration ;
/**
2019-03-22 20:00:21 -07:00
* If RPM is close enough let ' s leave IAC alone , and maybe engage timing PID correction
2019-07-12 11:24:45 -07:00
* offset 1894
2017-06-24 22:35:46 -07:00
*/
2017-12-26 21:26:40 -08:00
int16_t idlePidRpmDeadZone ;
2017-03-27 19:19:58 -07:00
/**
* CLT - based target RPM for automatic idle controller
2019-07-12 11:24:45 -07:00
* offset 1896
2017-03-27 19:19:58 -07:00
*/
2015-11-18 18:02:51 -08:00
float cltIdleRpmBins [ CLT_CURVE_SIZE ] ;
2017-03-27 19:19:58 -07:00
/**
2018-01-07 09:11:49 -08:00
* See idleRpmPid
2019-07-12 11:24:45 -07:00
* offset 1960
2017-03-27 19:19:58 -07:00
*/
2015-11-18 16:01:34 -08:00
float cltIdleRpm [ CLT_CURVE_SIZE ] ;
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
2019-07-12 11:24:45 -07:00
* offset 2024
2017-03-27 19:19:58 -07:00
*/
float targetVBatt ;
/**
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 .
2019-07-12 11:24:45 -07:00
* offset 2028
2017-03-27 19:19:58 -07:00
*/
float alternatorOffAboveTps ;
/**
2019-03-21 17:26:14 -07:00
* Prime pulse for cold engine , duration in ms
* Linear interpolation between - 40F / - 40 C and fallout temperature
*
2019-01-20 08:33:40 -08:00
* See also isFasterEngineSpinUpEnabled
2018-03-04 20:21:43 -08:00
* set cranking_priming_pulse X
2019-07-12 11:24:45 -07:00
* offset 2032
2017-03-27 19:19:58 -07:00
*/
2017-07-15 12:36:49 -07:00
float startOfCrankingPrimingPulse ;
/**
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 .
2019-07-12 11:24:45 -07:00
* offset 2036
2017-07-15 12:36:49 -07:00
*/
2017-07-31 12:35:12 -07:00
int16_t afterCrankingIACtaperDuration ;
/**
2017-08-12 09:05:49 -07:00
* Extra IAC , in percent between 0 and 100 , tapered between zero and idle deactivation TPS value
2019-07-12 11:24:45 -07:00
* offset 2038
2017-07-31 12:35:12 -07:00
*/
2017-08-12 09:05:49 -07:00
int16_t iacByTpsTaper ;
/**
2020-04-19 12:47:29 -07:00
* set_aux_tx_pin X
2019-07-12 11:24:45 -07:00
* offset 2040
2019-02-22 19:10:41 -08:00
*/
2020-04-19 12:47:29 -07:00
brain_pin_e auxSerialTxPin ;
2019-02-22 19:10:41 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2041
2019-02-22 19:10:41 -08:00
*/
2019-04-28 20:04:52 -07:00
brain_pin_e warningLedPin ;
2019-02-22 19:10:41 -08:00
/**
2020-04-19 12:47:29 -07:00
* set_aux_rx_pin X
2019-07-12 11:24:45 -07:00
* offset 2042
2019-02-22 19:10:41 -08:00
*/
2020-04-19 12:47:29 -07:00
brain_pin_e auxSerialRxPin ;
2019-02-22 19:10:41 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2043
2017-08-12 09:05:49 -07:00
*/
2017-08-16 23:32:06 -07:00
brain_pin_e LIS302DLCsPin ;
/**
2019-07-11 18:14:02 -07:00
* This is the number of engine cycles that the TPS position change can occur over , a longer duration will make the enrichment more active but too long may affect steady state driving , a good default is 30 - 60 cycles .
2019-07-12 11:24:45 -07:00
* offset 2044
2017-03-27 19:19:58 -07:00
*/
int tpsAccelLength ;
/**
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 .
2019-07-12 11:24:45 -07:00
* offset 2048
2017-03-27 19:19:58 -07:00
*/
float tpsAccelEnrichmentThreshold ;
/**
2019-06-18 16:18:52 -07:00
* Angle between cam sensor and VVT zero position
2017-03-27 19:19:58 -07:00
* set vvt_offset X
2019-07-12 11:24:45 -07:00
* offset 2052
2017-03-27 19:19:58 -07:00
*/
float vvtOffset ;
/**
2019-07-12 11:24:45 -07:00
* offset 2056
2017-03-27 19:19:58 -07:00
*/
int engineLoadAccelLength ;
/**
2019-07-12 11:24:45 -07:00
* offset 2060
2017-03-27 19:19:58 -07:00
*/
float engineLoadDecelEnleanmentThreshold ;
/**
2019-07-12 11:24:45 -07:00
* offset 2064
2017-03-27 19:19:58 -07:00
*/
float engineLoadDecelEnleanmentMultiplier ;
/**
2019-07-12 11:24:45 -07:00
* offset 2068
2017-03-27 19:19:58 -07:00
*/
float engineLoadAccelEnrichmentThreshold ;
/**
2019-07-12 11:24:45 -07:00
* offset 2072
2017-03-27 19:19:58 -07:00
*/
float engineLoadAccelEnrichmentMultiplier ;
/**
2020-05-03 00:41:14 -07:00
* Band rate for primary TTL
2019-07-12 11:24:45 -07:00
* offset 2076
2017-03-27 19:19:58 -07:00
*/
uint32_t uartConsoleSerialSpeed ;
/**
2019-07-12 11:24:45 -07:00
* offset 2080
2017-03-27 19:19:58 -07:00
*/
float tpsDecelEnleanmentThreshold ;
/**
2019-07-12 11:24:45 -07:00
* offset 2084
2017-03-27 19:19:58 -07:00
*/
float tpsDecelEnleanmentMultiplier ;
/**
* ExpAverage alpha coefficient
2019-07-12 11:24:45 -07:00
* offset 2088
2017-03-27 19:19:58 -07:00
*/
float slowAdcAlpha ;
/**
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
2019-07-12 11:24:45 -07:00
* offset 2092
2017-03-27 19:19:58 -07:00
*/
debug_mode_e debugMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 2096
2017-03-27 19:19:58 -07:00
*/
2020-04-19 12:47:29 -07:00
uint32_t auxSerialSpeed ;
/**
* offset 2100
*/
2020-05-23 07:55:42 -07:00
float throttlePedalSecondaryUpVoltage ;
/**
* Pedal in the floor
* offset 2104
*/
float throttlePedalSecondaryWOTVoltage ;
/**
2020-06-14 14:01:05 -07:00
* set can_baudrate
2020-05-23 07:55:42 -07:00
* offset 2108
*/
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 .
2020-06-14 14:01:05 -07:00
* offset 2109
*/
2020-09-07 07:17:40 -07:00
ve_override_e veOverrideMode ;
2020-08-02 10:46:08 -07:00
/**
* offset 2110
*/
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 .
2020-08-02 10:46:08 -07:00
* offset 2111
*/
2020-09-07 07:17:40 -07:00
afr_override_e afrOverrideMode ;
2020-08-02 10:46:08 -07:00
/**
2020-08-05 04:59:46 -07:00
* offset 2112
*/
uint32_t verboseCan2BaseAddress ;
/**
* CAN broadcast using custom rusEFI protocol
* enable can_broadcast / disable can_broadcast
offset 2116 bit 0 */
bool enableVerboseCan2Tx : 1 ;
/**
* enable can_read / disable can_read
offset 2116 bit 1 */
bool can2ReadEnabled : 1 ;
/**
* enable can_write / disable can_write
offset 2116 bit 2 */
bool can2WriteEnabled : 1 ;
/**
offset 2116 bit 3 */
bool unused1126 : 1 ;
/**
offset 2116 bit 4 */
bool unused1127 : 1 ;
/**
offset 2116 bit 5 */
bool unused1128 : 1 ;
/**
offset 2116 bit 6 */
bool unused1129 : 1 ;
/**
offset 2116 bit 7 */
bool unused1130 : 1 ;
/**
offset 2116 bit 8 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_8 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 9 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_9 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 10 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_10 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 11 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_11 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 12 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_12 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 13 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_13 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 14 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_14 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 15 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_15 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 16 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_16 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 17 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_17 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 18 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_18 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 19 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_19 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 20 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_20 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 21 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_21 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 22 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_22 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 23 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_23 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 24 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_24 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 25 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_25 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 26 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_26 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 27 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_27 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 28 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_28 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 29 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_29 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 30 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_30 : 1 ;
2020-08-05 04:59:46 -07:00
/**
offset 2116 bit 31 */
2021-02-08 21:26:52 -08:00
bool unusedBit_490_31 : 1 ;
2020-08-05 04:59:46 -07:00
/**
* set can_mode X
* offset 2120
*/
can_nbc_e can2NbcType ;
/**
* set_can2_tx_pin X
* offset 2124
*/
brain_pin_e can2TxPin ;
/**
* set_can2_rx_pin X
* offset 2125
*/
brain_pin_e can2RxPin ;
/**
* offset 2126
2020-06-14 14:01:05 -07:00
*/
2020-09-08 23:44:30 -07:00
pin_output_mode_e starterControlPinMode ;
/**
* offset 2127
*/
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 .
2020-09-18 00:05:55 -07:00
* offset 2128
*/
2020-10-09 14:19:04 -07:00
afr_override_e ignOverrideMode ;
/**
2020-10-23 12:48:01 -07:00
* Select which fuel pressure sensor measures the pressure of the fuel at your injectors .
2020-10-09 14:19:04 -07:00
* offset 2129
*/
2020-10-23 12:48:01 -07:00
injector_pressure_type_e injectorPressureType ;
/**
* offset 2130
*/
2020-11-15 14:33:48 -08:00
output_pin_e hpfpValvePin ;
2020-11-03 07:53:22 -08:00
/**
* offset 2131
*/
pin_output_mode_e hpfpValvePinMode ;
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 .
2019-07-12 11:24:45 -07:00
* offset 2132
2017-03-27 19:19:58 -07:00
*/
float boostCutPressure ;
/**
2019-07-12 11:24:45 -07:00
* offset 2136
2017-03-27 19:19:58 -07:00
*/
2016-03-12 07:01:55 -08:00
float mapAccelTaperBins [ MAP_ACCEL_TAPER ] ;
2017-03-27 19:19:58 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 2168
2017-03-27 19:19:58 -07:00
*/
2016-03-12 07:01:55 -08:00
float mapAccelTaperMult [ MAP_ACCEL_TAPER ] ;
2017-03-27 19:19:58 -07:00
/**
2017-08-06 16:43:01 -07:00
* todo : rename to fsioAnalogInputs
2019-07-12 11:24:45 -07:00
* offset 2200
2017-03-27 19:19:58 -07:00
*/
2017-08-06 16:43:01 -07:00
adc_channel_e fsioAdc [ FSIO_ANALOG_INPUT_COUNT ] ;
2017-03-27 19:19:58 -07:00
/**
* Fixed timing , useful for TDC testing
2019-07-12 11:24:45 -07:00
* offset 2204
2017-03-27 19:19:58 -07:00
*/
2018-11-29 21:17:55 -08:00
float fixedTiming ;
/**
* MAP voltage for low point
2019-07-12 11:24:45 -07:00
* offset 2208
2018-11-29 21:17:55 -08:00
*/
float mapLowValueVoltage ;
/**
* MAP voltage for low point
2019-07-12 11:24:45 -07:00
* offset 2212
2018-11-29 21:17:55 -08:00
*/
float mapHighValueVoltage ;
/**
* EGO value correction
2019-07-12 11:24:45 -07:00
* offset 2216
2018-11-29 21:17:55 -08:00
*/
float egoValueShift ;
2019-02-22 19:10:41 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2220
2019-02-22 19:10:41 -08:00
*/
2021-02-10 17:23:22 -08:00
output_pin_e auxPidPins [ CAM_INPUTS_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2224
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
/**
2019-07-12 11:24:45 -07:00
* offset 2225
2019-02-22 19:10:41 -08:00
*/
pin_output_mode_e cj125CsPinMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 2226
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
2019-07-12 11:24:45 -07:00
* offset 2227
2019-02-22 19:10:41 -08:00
*/
2021-02-08 20:49:57 -08:00
uint8_t alignmentFill_at_2227 [ 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 .
2019-07-12 11:24:45 -07:00
* offset 2228
2018-11-29 21:17:55 -08:00
*/
int crankingIACposition ;
/**
2019-07-12 11:24:45 -07:00
* offset 2232
2018-11-29 21:17:55 -08:00
*/
float tChargeMinRpmMinTps ;
/**
2019-07-12 11:24:45 -07:00
* offset 2236
2018-11-29 21:17:55 -08:00
*/
float tChargeMinRpmMaxTps ;
/**
2019-07-12 11:24:45 -07:00
* offset 2240
2018-11-29 21:17:55 -08:00
*/
float tChargeMaxRpmMinTps ;
/**
2019-07-12 11:24:45 -07:00
* offset 2244
2018-11-29 21:17:55 -08:00
*/
float tChargeMaxRpmMaxTps ;
/**
2019-07-12 11:24:45 -07:00
* offset 2248
2018-11-29 21:17:55 -08:00
*/
2021-02-10 17:23:22 -08:00
fsio_pwm_freq_t auxPidFrequency [ CAMS_PER_BANK ] ;
/**
* offset 2252
*/
uint8_t unused1301 ;
/**
* need 4 byte alignment
* offset 2253
*/
uint8_t alignmentFill_at_2253 [ 3 ] ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2256
2018-11-29 21:17:55 -08:00
*/
int alternatorPwmFrequency ;
/**
2019-07-12 11:24:45 -07:00
* offset 2260
2018-11-29 21:17:55 -08:00
*/
2020-09-29 03:36:50 -07:00
int unused2260 ;
2018-11-29 21:17:55 -08:00
/**
* Narrow Band WBO Approximation
2019-07-12 11:24:45 -07:00
* offset 2264
2018-11-29 21:17:55 -08:00
*/
float narrowToWideOxygenBins [ NARROW_BAND_WIDE_BAND_CONVERSION_SIZE ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 2296
2018-11-29 21:17:55 -08:00
*/
float narrowToWideOxygen [ NARROW_BAND_WIDE_BAND_CONVERSION_SIZE ] ;
/**
* set vvt_mode X
2019-07-12 11:24:45 -07:00
* offset 2328
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
/**
* offset 2330
*/
uint8_t vvtModePadding [ CAMS_PER_BANK_padding ] ;
2021-02-08 11:13:25 -08:00
/**
* offset 2330
*/
uint8_t unusedOldBiquad [ 22 ] ;
2018-11-29 21:17:55 -08:00
/**
* CLT - based timing correction
2019-07-12 11:24:45 -07:00
* offset 2352
2018-11-29 21:17:55 -08:00
*/
float cltTimingBins [ CLT_TIMING_CURVE_SIZE ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 2384
2018-11-29 21:17:55 -08:00
*/
float cltTimingExtra [ CLT_TIMING_CURVE_SIZE ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 2416
2018-11-29 21:17:55 -08:00
*/
2020-04-23 13:57:37 -07:00
tle8888_mode_e tle8888mode ;
/**
* offset 2417
*/
2020-09-27 04:38:53 -07:00
pin_output_mode_e LIS302DLCsPinMode ;
/**
* offset 2418
*/
2020-11-10 20:13:06 -08:00
injector_compensation_mode_e injectorCompensationMode ;
2018-11-29 21:17:55 -08:00
/**
2020-11-10 20:13:06 -08:00
* offset 2419
*/
uint8_t unused2419 ;
/**
* 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 .
2019-07-12 11:24:45 -07:00
* offset 2420
2018-11-29 21:17:55 -08:00
*/
2020-11-10 20:13:06 -08:00
float fuelReferencePressure ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2424
2018-11-29 21:17:55 -08:00
*/
2020-06-29 18:46:18 -07:00
float unused244_2 ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2428
2018-11-29 21:17:55 -08:00
*/
2020-06-29 18:46:18 -07:00
float unused244_3 ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2432
2018-11-29 21:17:55 -08:00
*/
2020-04-18 09:20:18 -07:00
float unused2432 ;
2018-11-29 21:17:55 -08:00
/**
2020-04-30 16:43:31 -07:00
* Fuel multiplier ( enrichment ) immediately after engine start
2019-07-12 11:24:45 -07:00
* offset 2436
2018-11-29 21:17:55 -08:00
*/
float postCrankingFactor ;
/**
2020-04-30 16:43:31 -07:00
* Time over which to taper out after start enrichment
2019-07-12 11:24:45 -07:00
* offset 2440
2018-11-29 21:17:55 -08:00
*/
float postCrankingDurationSec ;
/**
* todo : finish implementation # 332
2019-07-12 11:24:45 -07:00
* offset 2444
2018-11-29 21:17:55 -08:00
*/
ThermistorConf auxTempSensor1 ;
/**
* todo : finish implementation # 332
2019-07-12 11:24:45 -07:00
* offset 2476
2018-11-29 21:17:55 -08:00
*/
ThermistorConf auxTempSensor2 ;
/**
2019-07-12 11:24:45 -07:00
* offset 2508
2018-11-29 21:17:55 -08:00
*/
2020-06-01 04:19:23 -07:00
uint8_t unused2508 [ 6 ] ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2514
2018-11-29 21:17:55 -08:00
*/
int16_t etbFreq ;
/**
2019-07-12 11:24:45 -07:00
* offset 2516
2018-11-29 21:17:55 -08:00
*/
2020-10-19 05:06:22 -07:00
pid_s etbWastegatePid ;
/**
* offset 2536
*/
uint8_t unused2536 [ 4 ] ;
2018-11-29 21:17:55 -08:00
/**
2019-02-22 19:10:41 -08:00
* per - cylinder timing correction
2019-07-12 11:24:45 -07:00
* offset 2540
2018-11-29 21:17:55 -08:00
*/
2019-02-22 19:10:41 -08:00
cfg_float_t_1f timing_offset_cylinder [ IGNITION_PIN_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2588
2018-11-29 21:17:55 -08:00
*/
2019-02-22 19:10:41 -08:00
float idlePidActivationTime ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2592
2018-11-29 21:17:55 -08:00
*/
2019-02-22 19:10:41 -08:00
spi_device_e sdCardSpiDevice ;
2019-04-14 15:12:15 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 2593
2019-04-14 15:12:15 -07:00
*/
uint8_t unusedSpiPadding4 [ 3 ] ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2596
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 .
2019-07-12 11:24:45 -07:00
* offset 2597
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
/**
2019-07-12 11:24:45 -07:00
* offset 2598
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
/**
2019-07-12 11:24:45 -07:00
* offset 2599
2018-11-29 21:17:55 -08:00
*/
2019-02-22 19:10:41 -08:00
pin_mode_e spi2SckMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 2600
2019-02-22 19:10:41 -08:00
*/
pin_mode_e spi2MosiMode ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2601
2019-02-22 19:10:41 -08:00
*/
pin_mode_e spi2MisoMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 2602
2018-11-29 21:17:55 -08:00
*/
pin_mode_e spi3SckMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 2603
2018-11-29 21:17:55 -08:00
*/
pin_mode_e spi3MosiMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 2604
2018-11-29 21:17:55 -08:00
*/
pin_mode_e spi3MisoMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 2605
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
2019-07-12 11:24:45 -07:00
* offset 2606
2018-11-29 21:17:55 -08:00
*/
2019-05-25 10:47:09 -07:00
brain_pin_e mc33816_rstb ;
/**
2019-07-12 11:24:45 -07:00
* offset 2607
2019-05-25 10:47:09 -07:00
*/
brain_pin_e mc33816_driven ;
2018-11-29 21:17:55 -08:00
/**
2019-07-21 14:06:16 -07:00
* Brake pedal switch
2019-07-12 11:24:45 -07:00
* offset 2608
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
2019-07-12 11:24:45 -07:00
* offset 2609
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
2019-07-12 11:24:45 -07:00
* offset 2610
2019-02-22 19:10:41 -08:00
*/
adc_channel_e cj125ur ;
/**
2019-07-12 11:24:45 -07:00
* offset 2611
2019-02-22 19:10:41 -08:00
*/
pin_input_mode_e brakePedalPinMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 2612
2018-11-29 21:17:55 -08:00
*/
2021-02-10 17:23:22 -08:00
pid_s auxPid [ CAMS_PER_BANK ] ;
/**
* offset 2652
*/
uint8_t unused1366 [ 40 ] ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2692
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
/**
2019-07-12 11:24:45 -07:00
* offset 2712
2018-11-29 21:17:55 -08:00
*/
spi_device_e accelerometerSpiDevice ;
2019-04-14 15:12:15 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 2713
2019-04-14 15:12:15 -07:00
*/
2021-02-08 20:49:57 -08:00
uint8_t unusedAuxVoltage1_TODO_332 [ 1 ] ;
2020-05-02 12:56:36 -07:00
/**
* offset 2714
*/
2021-02-08 20:49:57 -08:00
uint8_t unusedAuxVoltage2_TODO_332 [ 1 ] ;
2020-05-02 12:56:36 -07:00
/**
* offset 2715
*/
2021-02-08 20:49:57 -08:00
uint8_t unusedSpiPadding5 [ 1 ] ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 2716
2018-11-29 21:17:55 -08:00
*/
float fsioCurve1Bins [ FSIO_CURVE_16 ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 2780
2018-11-29 21:17:55 -08:00
*/
float fsioCurve1 [ FSIO_CURVE_16 ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 2844
2018-11-29 21:17:55 -08:00
*/
float fsioCurve2Bins [ FSIO_CURVE_16 ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 2908
2018-11-29 21:17:55 -08:00
*/
float fsioCurve2 [ FSIO_CURVE_16 ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 2972
2018-11-29 21:17:55 -08:00
*/
float fsioCurve3Bins [ FSIO_CURVE_8 ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 3004
2018-11-29 21:17:55 -08:00
*/
float fsioCurve3 [ FSIO_CURVE_8 ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 3036
2018-11-29 21:17:55 -08:00
*/
float fsioCurve4Bins [ FSIO_CURVE_8 ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 3068
2018-11-29 21:17:55 -08:00
*/
float fsioCurve4 [ FSIO_CURVE_8 ] ;
/**
2021-01-05 04:59:14 -08:00
* Continental / GM flex fuel sensor , 50 - 150 hz type
2019-07-12 11:24:45 -07:00
* offset 3100
2018-11-29 21:17:55 -08:00
*/
2021-01-05 04:59:14 -08:00
brain_input_pin_e flexSensorPin ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 3101
2018-11-29 21:17:55 -08:00
*/
brain_pin_e test557pin ;
2019-02-22 19:10:41 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 3102
2019-02-22 19:10:41 -08:00
*/
pin_output_mode_e stepperDirectionPinMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 3103
2019-02-22 19:10:41 -08:00
*/
adc_channel_e externalKnockSenseAdc ;
/**
2019-07-12 11:24:45 -07:00
* offset 3104
2019-02-22 19:10:41 -08:00
*/
2020-07-03 12:10:58 -07:00
output_pin_e stepperEnablePin ;
2019-02-22 19:10:41 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 3105
2019-02-22 19:10:41 -08:00
*/
2019-03-25 12:08:32 -07:00
brain_pin_e tle8888_cs ;
/**
2019-07-12 11:24:45 -07:00
* offset 3106
2019-03-25 12:08:32 -07:00
*/
2019-03-25 17:30:36 -07:00
pin_output_mode_e tle8888_csPinMode ;
/**
2019-07-12 11:24:45 -07:00
* offset 3107
2019-03-25 17:30:36 -07:00
*/
2019-05-03 18:13:25 -07:00
brain_pin_e mc33816_cs ;
2018-11-29 21:17:55 -08:00
/**
* Optional timing advance table for Cranking ( see useSeparateAdvanceForCranking )
2019-07-12 11:24:45 -07:00
* offset 3108
2018-11-29 21:17:55 -08:00
*/
float crankingAdvanceBins [ CRANKING_ADVANCE_CURVE_SIZE ] ;
/**
* Optional timing advance table for Cranking ( see useSeparateAdvanceForCranking )
2019-07-12 11:24:45 -07:00
* offset 3124
2018-11-29 21:17:55 -08:00
*/
float crankingAdvance [ CRANKING_ADVANCE_CURVE_SIZE ] ;
/**
* todo : more comments
2019-07-12 11:24:45 -07:00
* offset 3140
2018-11-29 21:17:55 -08:00
*/
brain_pin_e servoOutputPins [ SERVO_COUNT ] ;
/**
2019-06-13 11:56:13 -07:00
* This sets the RPM limit above which the fuel cut is deactivated , activating this maintains fuel flow at high RPM to help cool pistons
2019-07-12 11:24:45 -07:00
* offset 3148
2018-11-29 21:17:55 -08:00
*/
int16_t coastingFuelCutRpmHigh ;
/**
2019-06-13 11:56:13 -07:00
* This sets the RPM limit below which the fuel cut is deactivated , this prevents jerking or issues transitioning to idle
2019-07-12 11:24:45 -07:00
* offset 3150
2018-11-29 21:17:55 -08:00
*/
int16_t coastingFuelCutRpmLow ;
/**
2019-06-13 11:56:13 -07:00
* percent between 0 and 100 below which the fuel cut is deactivated , this helps low speed drivability .
2019-07-12 11:24:45 -07:00
* offset 3152
2018-11-29 21:17:55 -08:00
*/
int16_t coastingFuelCutTps ;
/**
2019-06-18 16:18:52 -07:00
* Fuel cutoff is deactivated below this coolant threshold .
2019-07-12 11:24:45 -07:00
* offset 3154
2018-11-29 21:17:55 -08:00
*/
int16_t coastingFuelCutClt ;
/**
* Increases PID reaction for RPM < target by adding extra percent to PID - error
2019-07-12 11:24:45 -07:00
* offset 3156
2018-11-29 21:17:55 -08:00
*/
int16_t pidExtraForLowRpm ;
/**
2019-06-18 16:18:52 -07:00
* MAP value above which fuel injection is re - enabled .
2019-07-12 11:24:45 -07:00
* offset 3158
2018-11-29 21:17:55 -08:00
*/
int16_t coastingFuelCutMap ;
/**
* CLT - based idle position for coasting ( used in Auto - PID Idle mode )
2019-07-12 11:24:45 -07:00
* offset 3160
2018-11-29 21:17:55 -08:00
*/
float iacCoastingBins [ CLT_CURVE_SIZE ] ;
/**
* CLT - based idle position for coasting ( used in Auto - PID Idle mode )
2019-07-12 11:24:45 -07:00
* offset 3224
2018-11-29 21:17:55 -08:00
*/
float iacCoasting [ CLT_CURVE_SIZE ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 3288
2018-11-29 21:17:55 -08:00
*/
2020-10-23 04:33:40 -07:00
linear_sensor_s highPressureFuel ;
/**
* offset 3308
*/
linear_sensor_s lowPressureFuel ;
/**
2021-02-17 14:46:18 -08:00
* CLT - based target RPM for hard limit depending on CLT like on Lexus LFA
2020-10-23 04:33:40 -07:00
* offset 3328
*/
2021-02-17 14:46:18 -08:00
int8_t cltRevLimitRpmBins [ CLT_LIMITER_CURVE_SIZE ] ;
/**
* See idleRpmPid
* offset 3332
*/
uint16_t cltRevLimitRpm [ CLT_LIMITER_CURVE_SIZE ] ;
/**
* offset 3340
*/
uint8_t unused3328 [ 524 ] ;
2018-11-29 21:17:55 -08:00
/**
2019-07-12 11:24:45 -07:00
* offset 3864
2018-11-29 21:17:55 -08:00
*/
float tChargeAirCoefMin ;
/**
2019-07-12 11:24:45 -07:00
* offset 3868
2018-11-29 21:17:55 -08:00
*/
float tChargeAirCoefMax ;
/**
2019-07-12 11:24:45 -07:00
* offset 3872
2018-11-29 21:17:55 -08:00
*/
float tChargeAirFlowMax ;
/**
2019-07-12 11:24:45 -07:00
* offset 3876
2018-11-29 21:17:55 -08:00
*/
float tChargeAirIncrLimit ;
/**
2019-07-12 11:24:45 -07:00
* offset 3880
2018-11-29 21:17:55 -08:00
*/
float tChargeAirDecrLimit ;
/**
2019-07-12 11:24:45 -07:00
* offset 3884
2018-11-29 21:17:55 -08:00
*/
tChargeMode_e tChargeMode ;
/**
2018-12-09 07:19:47 -08:00
* target TPS value , 0 to 100 %
2019-02-22 19:10:41 -08:00
* TODO : use int8 data date once we template interpolation method
2019-07-12 11:24:45 -07:00
* offset 3888
2018-11-29 21:17:55 -08:00
*/
2019-01-07 16:30:35 -08:00
float etbBiasBins [ ETB_BIAS_CURVE_LENGTH ] ;
2018-12-09 07:19:47 -08:00
/**
* PWM bias , 0 to 100 %
2019-07-12 11:24:45 -07:00
* offset 3920
2018-12-09 07:19:47 -08:00
*/
float etbBiasValues [ ETB_BIAS_CURVE_LENGTH ] ;
/**
2019-07-12 11:24:45 -07:00
* offset 3952
2018-12-09 07:19:47 -08:00
*/
2019-01-04 14:18:43 -08:00
float hip9011Gain ;
/**
2019-03-02 11:00:32 -08:00
* iTerm min value
2019-07-12 11:24:45 -07:00
* offset 3956
2019-01-04 14:18:43 -08:00
*/
2019-03-02 11:00:32 -08:00
int16_t etb_iTermMin ;
/**
* iTerm max value
2019-07-12 11:24:45 -07:00
* offset 3958
2019-03-02 11:00:32 -08:00
*/
int16_t etb_iTermMax ;
/**
2019-07-12 11:24:45 -07:00
* offset 3960
2019-03-02 11:00:32 -08:00
*/
2019-03-09 20:31:47 -08:00
float etbDeadband ;
/**
2019-07-12 11:24:45 -07:00
* offset 3964
2019-03-09 20:31:47 -08:00
*/
2019-11-30 14:38:33 -08:00
uint8_t unused1059 [ 4 ] ;
2019-03-10 09:02:25 -07:00
/**
2019-03-22 20:00:21 -07:00
* See useIdleTimingPidControl
2019-07-12 11:24:45 -07:00
* offset 3968
2019-03-10 09:02:25 -07:00
*/
2019-03-22 20:00:21 -07:00
pid_s idleTimingPid ;
/**
2019-07-12 11:24:45 -07:00
* offset 3988
2019-03-22 20:00:21 -07:00
*/
2021-01-07 05:08:14 -08:00
uint8_t unused3988 [ 2 ] ;
2019-03-22 20:00:21 -07:00
/**
2019-09-11 17:59:05 -07:00
* If the RPM closer to target than this value , disable timing correction to prevent oscillation
2019-07-12 11:24:45 -07:00
* offset 3990
2019-03-22 20:00:21 -07:00
*/
int16_t idleTimingPidDeadZone ;
/**
2019-07-12 11:24:45 -07:00
* offset 3992
2019-03-22 20:00:21 -07:00
*/
2021-01-07 05:08:14 -08:00
uint8_t unused3942 [ 2 ] ;
2019-03-22 20:00:21 -07:00
/**
2019-03-28 19:48:12 -07:00
* A delay in cycles between fuel - enrich . portions
2019-07-12 11:24:45 -07:00
* offset 3994
2019-03-22 20:00:21 -07:00
*/
2019-03-28 19:48:12 -07: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
2019-07-12 11:24:45 -07:00
* offset 3996
2019-03-22 20:00:21 -07:00
*/
2019-03-28 19:48:12 -07:00
float tpsAccelFractionDivisor ;
2019-03-25 12:08:32 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 4000
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
/**
2019-07-12 11:24:45 -07:00
* offset 4001
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
2019-07-12 11:24:45 -07:00
* offset 4002
2019-05-03 18:13:25 -07:00
*/
2019-09-01 21:19:06 -07:00
int16_t idlerpmpid_iTermMin ;
2019-03-28 19:48:12 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 4004
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 .
2019-07-12 11:24:45 -07:00
* offset 4005
2019-04-14 15:12:15 -07:00
*/
2020-08-21 16:45:25 -07:00
uint8_t stoichRatioPrimary ;
2019-09-01 21:19:06 -07:00
/**
* iTerm max value
* offset 4006
*/
int16_t idlerpmpid_iTermMax ;
2019-04-13 07:58:52 -07:00
/**
2019-07-12 11:24:45 -07:00
* offset 4008
2019-04-13 07:58:52 -07:00
*/
spi_device_e mc33972spiDevice ;
2019-04-14 15:12:15 -07:00
/**
2021-01-05 13:32:00 -08:00
* Stoichiometric ratio for your secondary fuel . This value is used when the Flex Fuel sensor indicates E100 .
2019-07-12 11:24:45 -07:00
* offset 4009
2019-04-14 15:12:15 -07:00
*/
2021-01-05 13:32:00 -08:00
uint8_t stoichRatioSecondary ;
/**
* offset 4010
*/
uint8_t unusedSpiPadding8 [ 2 ] ;
2019-04-13 07:58:52 -07:00
/**
2019-06-26 16:25:38 -07:00
* ETB idle authority
2019-07-12 11:24:45 -07:00
* offset 4012
2019-04-13 07:58:52 -07:00
*/
2019-06-15 10:33:14 -07: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
2019-07-12 11:24:45 -07:00
* offset 4016
*/
2021-01-02 06:16:50 -08:00
uint8_t cylinderBankSelect [ INJECTION_PIN_COUNT ] ;
2019-07-12 11:24:45 -07:00
/**
2021-01-02 06:16:50 -08:00
* offset 4028
2019-07-12 11:24:45 -07:00
*/
2021-01-02 06:16:50 -08:00
int unused4028 [ 2 ] ;
2019-07-12 11:24:45 -07:00
/**
2019-12-03 21:38:40 -08:00
* Trigger comparator center point voltage
2019-07-12 11:24:45 -07:00
* offset 4036
*/
2019-12-03 21:38:40 -08:00
uint8_t triggerCompCenterVolt ;
/**
* Trigger comparator hysteresis voltage ( Min )
* offset 4037
*/
uint8_t triggerCompHystMin ;
/**
* Trigger comparator hysteresis voltage ( Max )
* offset 4038
*/
uint8_t triggerCompHystMax ;
/**
* VR - sensor saturation RPM
* offset 4039
*/
uint8_t triggerCompSensorSatRpm ;
2019-06-15 10:33:14 -07:00
/**
* offset 4040
*/
2019-09-11 17:46:50 -07:00
pid_s idleRpmPid2 ;
/**
* offset 4060
*/
2019-10-30 06:27:12 -07:00
iac_pid_mult_t iacPidMultTable ;
/**
* offset 4124
*/
uint8_t iacPidMultLoadBins [ IAC_PID_MULT_SIZE ] ;
/**
* offset 4132
*/
uint8_t iacPidMultRpmBins [ IAC_PID_MULT_SIZE ] ;
/**
2020-04-19 15:32:24 -07:00
* set can_vss X
2019-10-30 06:27:12 -07:00
* offset 4140
*/
2020-04-19 15:32:24 -07:00
can_vss_nbc_e canVssNbcType ;
/**
* offset 4144
*/
2020-05-08 19:05:44 -07:00
gppwm_channel gppwm [ GPPWM_CHANNELS ] ;
2020-04-25 15:07:37 -07:00
/**
* offset 4496
*/
2020-05-19 05:38:31 -07:00
uint16_t mc33_i_boost ;
/**
* offset 4498
*/
uint16_t mc33_i_peak ;
/**
* offset 4500
*/
uint16_t mc33_i_hold ;
/**
* offset 4502
*/
uint16_t mc33_t_max_boost ;
/**
* offset 4504
*/
uint16_t mc33_t_peak_off ;
/**
* offset 4506
*/
uint16_t mc33_t_peak_tot ;
/**
* offset 4508
*/
uint16_t mc33_t_bypass ;
/**
* offset 4510
*/
uint16_t mc33_t_hold_off ;
/**
* offset 4512
*/
uint16_t mc33_t_hold_tot ;
/**
* offset 4514
*/
2020-09-02 12:34:30 -07:00
pin_input_mode_e tcuUpshiftButtonPinMode ;
/**
* offset 4515
*/
pin_input_mode_e tcuDownshiftButtonPinMode ;
2020-05-19 05:38:31 -07:00
/**
* offset 4516
*/
2020-09-10 19:18:18 -07:00
pin_input_mode_e acSwitchMode ;
/**
* offset 4517
*/
2020-09-28 18:41:06 -07:00
pin_output_mode_e tcu_solenoid_mode [ TCU_SOLENOID_COUNT ] ;
/**
* offset 4523
*/
2020-12-08 18:10:55 -08:00
int8_t knockBaseNoise [ IGN_RPM_COUNT ] ;
/**
* need 4 byte alignment
* offset 4539
*/
2021-02-08 20:49:57 -08:00
uint8_t alignmentFill_at_4539 [ 1 ] ;
2020-09-10 19:18:18 -07:00
/**
2020-12-08 18:10:55 -08:00
* offset 4540
2020-09-10 19:18:18 -07:00
*/
2020-12-08 18:10:55 -08:00
int mainUnusedEnd [ 365 ] ;
2020-05-19 08:55:20 -07:00
/** total size 6000*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct engine_configuration_s engine_configuration_s ;
2018-11-29 21:17:55 -08: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 ;
2020-03-28 17:14:17 -07:00
/**
2020-05-19 08:55:20 -07:00
* offset 6000
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
/**
2020-05-19 08:55:20 -07:00
* offset 6120
2020-03-27 09:13:12 -07:00
*/
float afterstartCoolantBins [ AFTERSTART_HOLD_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 6152
2020-03-27 09:13:12 -07:00
*/
float afterstartHoldTime [ AFTERSTART_HOLD_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 6184
2020-03-27 09:13:12 -07:00
*/
float afterstartEnrich [ AFTERSTART_ENRICH_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 6216
2020-03-27 09:13:12 -07:00
*/
float afterstartDecayTime [ AFTERSTART_DECAY_CURVE_SIZE ] ;
2020-01-31 11:23:15 -08:00
/**
2020-05-19 08:55:20 -07:00
* offset 6248
2020-01-31 11:23:15 -08:00
*/
boost_table_t boostTableOpenLoop ;
/**
2020-05-19 08:55:20 -07:00
* offset 6312
2020-01-31 11:23:15 -08:00
*/
2020-05-06 05:49:08 -07:00
uint8_t unused6312 [ 8 ] ;
2020-01-31 11:23:15 -08:00
/**
2020-05-19 08:55:20 -07:00
* offset 6320
2020-01-31 11:23:15 -08:00
*/
uint8_t boostRpmBins [ BOOST_RPM_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 6328
2020-01-31 11:23:15 -08:00
*/
2020-09-09 13:28:47 -07:00
boost_target_table_t boostTableClosedLoop ;
2020-01-31 11:23:15 -08:00
/**
2020-05-19 08:55:20 -07:00
* offset 6392
2020-01-31 11:23:15 -08:00
*/
uint8_t boostTpsBins [ BOOST_LOAD_COUNT ] ;
2019-06-10 09:52:26 -07:00
/**
2020-05-19 08:55:20 -07:00
* offset 6400
2019-06-10 09:52:26 -07:00
*/
2019-06-10 10:07:42 -07:00
pedal_to_tps_t pedalToTpsTable ;
2019-06-10 09:52:26 -07:00
/**
2020-05-19 08:55:20 -07:00
* offset 6464
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
/**
2020-05-19 08:55:20 -07:00
* offset 6472
2019-06-10 09:52:26 -07:00
*/
2019-06-10 20:38:44 -07:00
uint8_t pedalToTpsRpmBins [ PEDAL_TO_TPS_SIZE ] ;
2018-11-29 21:17:55 -08:00
/**
* CLT - based cranking position multiplier for simple manual idle controller
2020-05-19 08:55:20 -07:00
* offset 6480
2018-11-29 21:17:55 -08:00
*/
float cltCrankingCorrBins [ CLT_CRANKING_CURVE_SIZE ] ;
/**
* CLT - based cranking position multiplier for simple manual idle controller
2020-05-19 08:55:20 -07:00
* offset 6512
2018-11-29 21:17:55 -08:00
*/
float cltCrankingCorr [ CLT_CRANKING_CURVE_SIZE ] ;
/**
* Optional timing advance table for Idle ( see useSeparateAdvanceForIdle )
2020-05-19 08:55:20 -07:00
* offset 6544
2018-11-29 21:17:55 -08:00
*/
float idleAdvanceBins [ IDLE_ADVANCE_CURVE_SIZE ] ;
/**
* Optional timing advance table for Idle ( see useSeparateAdvanceForIdle )
2020-05-19 08:55:20 -07:00
* offset 6576
2018-11-29 21:17:55 -08:00
*/
float idleAdvance [ IDLE_ADVANCE_CURVE_SIZE ] ;
/**
* Optional VE table for Idle ( see useSeparateVEForIdle )
2020-05-19 08:55:20 -07:00
* offset 6608
2018-11-29 21:17:55 -08:00
*/
float idleVeBins [ IDLE_VE_CURVE_SIZE ] ;
/**
* Optional VE table for Idle ( see useSeparateVEForIdle )
2020-05-19 08:55:20 -07:00
* offset 6640
2018-11-29 21:17:55 -08:00
*/
float idleVe [ IDLE_VE_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 6672
2018-11-29 21:17:55 -08:00
*/
le_formula_t fsioFormulas [ FSIO_COMMAND_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 9872
2018-11-29 21:17:55 -08:00
*/
le_formula_t timingMultiplier ;
/**
2020-05-19 08:55:20 -07:00
* offset 10072
2018-11-29 21:17:55 -08:00
*/
le_formula_t timingAdditive ;
/**
2020-05-19 08:55:20 -07:00
* offset 10272
2018-11-29 21:17:55 -08:00
*/
float cltFuelCorrBins [ CLT_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 10336
2018-11-29 21:17:55 -08:00
*/
float cltFuelCorr [ CLT_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 10400
2018-11-29 21:17:55 -08:00
*/
float iatFuelCorrBins [ IAT_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 10464
2018-11-29 21:17:55 -08:00
*/
float iatFuelCorr [ IAT_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 10528
2018-11-29 21:17:55 -08:00
*/
float crankingFuelCoef [ CRANKING_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 10560
2018-11-29 21:17:55 -08:00
*/
float crankingFuelBins [ CRANKING_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 10592
2018-11-29 21:17:55 -08:00
*/
float crankingCycleCoef [ CRANKING_CURVE_SIZE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 10624
2018-11-29 21:17:55 -08:00
*/
float crankingCycleBins [ CRANKING_CURVE_SIZE ] ;
/**
* CLT - based idle position multiplier for simple manual idle controller
2020-05-19 08:55:20 -07:00
* offset 10656
2018-11-29 21:17:55 -08:00
*/
float cltIdleCorrBins [ CLT_CURVE_SIZE ] ;
/**
* CLT - based idle position multiplier for simple manual idle controller
2020-05-19 08:55:20 -07:00
* offset 10720
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
2020-05-19 08:55:20 -07:00
* offset 10784
2018-11-29 21:17:55 -08:00
*/
float mafDecoding [ MAF_DECODING_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 11808
2018-11-29 21:17:55 -08:00
*/
float mafDecodingBins [ MAF_DECODING_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 12832
2018-11-29 21:17:55 -08:00
*/
angle_table_t ignitionIatCorrTable ;
/**
2020-05-19 08:55:20 -07:00
* offset 13856
2018-11-29 21:17:55 -08:00
*/
float ignitionIatCorrLoadBins [ IGN_LOAD_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 13920
2018-11-29 21:17:55 -08:00
*/
float ignitionIatCorrRpmBins [ IGN_RPM_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 13984
2018-11-29 21:17:55 -08:00
*/
angle_table_t injectionPhase ;
/**
2020-05-19 08:55:20 -07:00
* offset 15008
2018-11-29 21:17:55 -08:00
*/
float injPhaseLoadBins [ FUEL_LOAD_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 15072
2018-11-29 21:17:55 -08:00
*/
float injPhaseRpmBins [ FUEL_RPM_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 15136
2018-11-29 21:17:55 -08:00
*/
2020-09-15 01:35:57 -07:00
tcubinary_table_t tcuSolenoidTable ;
/**
2021-01-10 07:16:52 -08:00
* Good example : number of tooth on wheel , For Can 10 is a good number .
2020-09-15 01:35:57 -07:00
* offset 15196
*/
2021-01-10 07:16:52 -08:00
float vssFilterReciprocal ;
/**
* offset 15200
*/
2021-01-31 14:21:02 -08:00
map_estimate_table_t mapEstimateTable ;
/**
* offset 15712
*/
uint16_t mapEstimateTpsBins [ FUEL_LOAD_COUNT ] ;
/**
* offset 15744
*/
uint16_t mapEstimateRpmBins [ FUEL_RPM_COUNT ] ;
/**
* offset 15776
*/
2021-02-09 11:01:08 -08:00
fsio_table_8x8_u8t vvtTable1 ;
/**
* offset 15840
*/
float vvtTable1LoadBins [ FSIO_TABLE_8 ] ;
/**
* RPM is float and not integer in order to use unified methods for interpolation
* offset 15872
*/
float vvtTable1RpmBins [ FSIO_TABLE_8 ] ;
/**
* offset 15904
*/
fsio_table_8x8_u8t vvtTable2 ;
/**
* offset 15968
*/
float vvtTable2LoadBins [ FSIO_TABLE_8 ] ;
/**
* RPM is float and not integer in order to use unified methods for interpolation
* offset 16000
*/
float vvtTable2RpmBins [ FSIO_TABLE_8 ] ;
/**
* offset 16032
*/
uint8_t unused15136 [ 256 ] ;
2018-11-29 21:17:55 -08:00
/**
2020-05-19 08:55:20 -07:00
* offset 16288
2018-11-29 21:17:55 -08:00
*/
ignition_table_t ignitionTable ;
/**
2020-05-19 08:55:20 -07:00
* offset 17312
2018-11-29 21:17:55 -08:00
*/
float ignitionLoadBins [ IGN_LOAD_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 17376
2018-11-29 21:17:55 -08:00
*/
float ignitionRpmBins [ IGN_RPM_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 17440
2018-11-29 21:17:55 -08:00
*/
ve_table_t veTable ;
/**
2020-05-19 08:55:20 -07:00
* offset 18464
2018-11-29 21:17:55 -08:00
*/
float veLoadBins [ FUEL_LOAD_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 18528
2018-11-29 21:17:55 -08:00
*/
float veRpmBins [ FUEL_RPM_COUNT ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 18592
2018-11-29 21:17:55 -08:00
*/
2020-10-26 15:17:20 -07:00
lambda_table_t lambdaTable ;
2018-11-29 21:17:55 -08:00
/**
2020-05-19 08:55:20 -07:00
* offset 18848
2018-11-29 21:17:55 -08:00
*/
2020-10-26 15:17:20 -07:00
float lambdaLoadBins [ FUEL_LOAD_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2020-05-19 08:55:20 -07:00
* offset 18912
2018-11-29 21:17:55 -08:00
*/
2020-10-26 15:17:20 -07:00
float lambdaRpmBins [ FUEL_RPM_COUNT ] ;
2018-11-29 21:17:55 -08:00
/**
2020-05-19 08:55:20 -07:00
* offset 18976
2018-11-29 21:17:55 -08:00
*/
tps_tps_table_t tpsTpsAccelTable ;
/**
2020-05-19 08:55:20 -07:00
* offset 19232
2018-11-29 21:17:55 -08:00
*/
float tpsTpsAccelFromRpmBins [ TPS_TPS_ACCEL_TABLE ] ;
/**
* RPM is float and not integer in order to use unified methods for interpolation
2020-05-19 08:55:20 -07:00
* offset 19264
2018-11-29 21:17:55 -08:00
*/
float tpsTpsAccelToRpmBins [ TPS_TPS_ACCEL_TABLE ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 19296
2018-11-29 21:17:55 -08:00
*/
fsio_table_8x8_f32t fsioTable1 ;
/**
2020-05-19 08:55:20 -07:00
* offset 19552
2018-11-29 21:17:55 -08:00
*/
float fsioTable1LoadBins [ FSIO_TABLE_8 ] ;
/**
* RPM is float and not integer in order to use unified methods for interpolation
2020-05-19 08:55:20 -07:00
* offset 19584
2018-11-29 21:17:55 -08:00
*/
float fsioTable1RpmBins [ FSIO_TABLE_8 ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 19616
2018-11-29 21:17:55 -08:00
*/
fsio_table_8x8_u8t fsioTable2 ;
/**
2020-05-19 08:55:20 -07:00
* offset 19680
2018-11-29 21:17:55 -08:00
*/
float fsioTable2LoadBins [ FSIO_TABLE_8 ] ;
/**
* RPM is float and not integer in order to use unified methods for interpolation
2020-05-19 08:55:20 -07:00
* offset 19712
2018-11-29 21:17:55 -08:00
*/
float fsioTable2RpmBins [ FSIO_TABLE_8 ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 19744
2018-11-29 21:17:55 -08:00
*/
fsio_table_8x8_u8t fsioTable3 ;
/**
2020-05-19 08:55:20 -07:00
* offset 19808
2018-11-29 21:17:55 -08:00
*/
float fsioTable3LoadBins [ FSIO_TABLE_8 ] ;
/**
* RPM is float and not integer in order to use unified methods for interpolation
2020-05-19 08:55:20 -07:00
* offset 19840
2018-11-29 21:17:55 -08:00
*/
float fsioTable3RpmBins [ FSIO_TABLE_8 ] ;
/**
2020-05-19 08:55:20 -07:00
* offset 19872
2018-11-29 21:17:55 -08:00
*/
fsio_table_8x8_u8t fsioTable4 ;
/**
2020-05-19 08:55:20 -07:00
* offset 19936
2018-11-29 21:17:55 -08:00
*/
float fsioTable4LoadBins [ FSIO_TABLE_8 ] ;
/**
* RPM is float and not integer in order to use unified methods for interpolation
2020-05-19 08:55:20 -07:00
* offset 19968
2018-11-29 21:17:55 -08:00
*/
float fsioTable4RpmBins [ FSIO_TABLE_8 ] ;
2020-05-19 08:55:20 -07:00
/** total size 20000*/
2019-05-27 16:35:30 -07:00
} ;
typedef struct persistent_config_s persistent_config_s ;
2018-11-29 21:17:55 -08:00
// end
2021-03-27 16:02:46 -07:00
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Mar 27 23:02:01 UTC 2021