2024-01-03 12:32:11 -08:00
// this section was generated automatically by rusEFI tool config_definition_base.jar based on (unknown script) controllers/actuators/idle_state.txt Wed Jan 03 20:30:10 UTC 2024
2021-10-16 20:55:29 -07:00
// by class com.rusefi.output.CHeaderConsumer
// begin
# pragma once
# include "rusefi_types.h"
// start of idle_state_s
struct idle_state_s {
/**
* offset 0
*/
idle_state_e idleState = ( idle_state_e ) 0 ;
/**
2023-09-28 06:46:29 -07:00
* @ @ GAUGE_NAME_IAC @ @
2024-01-03 12:32:11 -08:00
* units : %
2021-10-16 20:55:29 -07:00
* offset 4
*/
percent_t currentIdlePosition = ( percent_t ) 0 ;
/**
2022-07-07 21:29:21 -07:00
* " idle: base value
* current position without adjustments ( iacByTpsTaper , afterCrankingIACtaperDuration ) "
2021-10-16 20:55:29 -07:00
* offset 8
*/
percent_t baseIdlePosition = ( percent_t ) 0 ;
2022-04-03 17:28:24 -07:00
/**
2023-09-28 06:46:29 -07:00
* Idle : Closed loop
2022-04-03 17:28:24 -07:00
* offset 12
*/
2023-09-28 06:46:29 -07:00
percent_t idleClosedLoop = ( percent_t ) 0 ;
/**
* idle : iacByTpsTaper portion
* offset 16
*/
2022-04-03 17:28:24 -07:00
percent_t iacByTpsTaper = ( percent_t ) 0 ;
2021-10-16 20:55:29 -07:00
/**
2022-11-01 14:00:55 -07:00
* idle : throttlePedalUpState
2021-10-16 20:55:29 -07:00
* true in IDLE throttle pedal state , false if driver is touching the pedal
* todo : better name for this field ?
2023-09-28 06:46:29 -07:00
* offset 20
2021-10-16 20:55:29 -07:00
*/
int throttlePedalUpState = ( int ) 0 ;
2021-10-16 21:27:12 -07:00
/**
2022-11-01 14:00:55 -07:00
* idle : mightResetPid
2021-10-16 21:27:12 -07:00
* The idea of ' mightResetPid ' is to reset PID only once - each time when TPS > idlePidDeactivationTpsThreshold .
* The throttle pedal can be pressed for a long time , making the PID data obsolete ( thus the reset is required ) .
* We set ' mightResetPid ' to true only if PID was actually used ( i . e . idlePid . getOutput ( ) was called ) to save some CPU resources .
* See automaticIdleController ( ) .
2023-09-28 06:46:29 -07:00
offset 24 bit 0 */
2021-12-01 21:04:17 -08:00
bool mightResetPid : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-25 05:43:29 -07:00
* Idle : shouldResetPid
2023-09-28 06:46:29 -07:00
offset 24 bit 1 */
2021-12-01 21:04:17 -08:00
bool shouldResetPid : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-25 05:43:29 -07:00
* Idle : wasResetPid
2021-10-16 21:27:12 -07:00
* This is needed to slowly turn on the PID back after it was reset .
2023-09-28 06:46:29 -07:00
offset 24 bit 2 */
2021-12-01 21:04:17 -08:00
bool wasResetPid : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-25 05:43:29 -07:00
* Idle : mustResetPid
2021-10-16 21:27:12 -07:00
* This is used when the PID configuration is changed , to guarantee the reset
2023-09-28 06:46:29 -07:00
offset 24 bit 3 */
2021-12-01 21:04:17 -08:00
bool mustResetPid : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-25 05:43:29 -07:00
* Idle : cranking
2023-09-28 06:46:29 -07:00
offset 24 bit 4 */
2022-08-25 17:41:14 -07:00
bool isCranking : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 5 */
2022-10-30 14:55:22 -07:00
bool isIacTableForCoasting : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 6 */
2022-01-10 17:57:47 -08:00
bool notIdling : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-25 05:43:29 -07:00
* Idle : reset
2023-09-28 06:46:29 -07:00
offset 24 bit 7 */
2022-01-10 17:57:47 -08:00
bool needReset : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-25 05:43:29 -07:00
* Idle : dead zone
2023-09-28 06:46:29 -07:00
offset 24 bit 8 */
2022-01-10 17:57:47 -08:00
bool isInDeadZone : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 9 */
2022-01-10 17:57:47 -08:00
bool isBlipping : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 10 */
2022-01-10 17:57:47 -08:00
bool useClosedLoop : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 11 */
2022-01-10 18:55:52 -08:00
bool badTps : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 12 */
2022-01-10 18:55:52 -08:00
bool looksLikeRunning : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 13 */
2022-01-10 18:55:52 -08:00
bool looksLikeCoasting : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 14 */
2022-01-10 18:55:52 -08:00
bool looksLikeCrankToIdle : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-25 05:43:29 -07:00
* Idle : coasting
2023-09-28 06:46:29 -07:00
offset 24 bit 15 */
2023-09-25 05:43:29 -07:00
bool isIdleCoasting : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-26 18:14:21 -07:00
* Idle : Closed loop active
2023-09-28 06:46:29 -07:00
offset 24 bit 16 */
2023-09-26 18:14:21 -07:00
bool isIdleClosedLoop : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 17 */
bool unusedBit_23_17 : 1 { } ;
/**
offset 24 bit 18 */
bool unusedBit_23_18 : 1 { } ;
2022-08-29 19:29:24 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 19 */
bool unusedBit_23_19 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 20 */
bool unusedBit_23_20 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 21 */
bool unusedBit_23_21 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 22 */
bool unusedBit_23_22 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 23 */
bool unusedBit_23_23 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 24 */
bool unusedBit_23_24 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 25 */
bool unusedBit_23_25 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 26 */
bool unusedBit_23_26 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 27 */
bool unusedBit_23_27 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 28 */
bool unusedBit_23_28 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 29 */
bool unusedBit_23_29 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 30 */
bool unusedBit_23_30 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
offset 24 bit 31 */
bool unusedBit_23_31 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2023-09-28 06:46:29 -07:00
* Idle : Target RPM
* offset 28
*/
int idleTarget = ( int ) 0 ;
2022-01-10 18:55:52 -08:00
/**
2023-09-28 06:46:29 -07:00
* Idle : Target RPM base
* offset 32
2022-01-10 18:55:52 -08:00
*/
int targetRpmByClt = ( int ) 0 ;
/**
2023-10-22 15:38:22 -07:00
* Idle : Target A / C RPM
2023-09-28 06:46:29 -07:00
* offset 36
2022-01-10 18:55:52 -08:00
*/
2023-10-22 15:38:22 -07:00
int targetRpmAc = ( int ) 0 ;
2022-08-09 22:44:46 -07:00
/**
2022-11-01 14:00:55 -07:00
* idle : iacByRpmTaper portion
2023-09-28 06:46:29 -07:00
* offset 40
2022-08-09 22:44:46 -07:00
*/
2022-08-18 20:08:33 -07:00
percent_t iacByRpmTaper = ( percent_t ) 0 ;
2022-08-20 21:25:05 -07:00
/**
* idle : Lua Adder
2023-09-28 06:46:29 -07:00
* offset 44
2022-08-20 21:25:05 -07:00
*/
percent_t luaAdd = ( percent_t ) 0 ;
2021-10-16 20:55:29 -07:00
} ;
2023-09-28 06:46:29 -07:00
static_assert ( sizeof ( idle_state_s ) = = 48 ) ;
2021-10-16 20:55:29 -07:00
// end
2024-01-03 12:32:11 -08:00
// this section was generated automatically by rusEFI tool config_definition_base.jar based on (unknown script) controllers/actuators/idle_state.txt Wed Jan 03 20:30:10 UTC 2024