2022-08-20 21:25:05 -07:00
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/idle_state.txt Sun Aug 21 04:23:45 UTC 2022
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 ;
/**
2022-07-07 21:29:21 -07:00
* " idle: current position
* that ' s current position with CLT and IAT corrections "
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
/**
2022-07-07 22:14:15 -07:00
* idle : iacByTpsTaper portion of idle
2022-04-03 17:28:24 -07:00
* offset 12
*/
percent_t iacByTpsTaper = ( percent_t ) 0 ;
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 ?
2022-04-03 17:28:24 -07:00
* offset 16
2021-10-16 20:55:29 -07:00
*/
int throttlePedalUpState = ( int ) 0 ;
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 ( ) .
2022-04-03 17:28:24 -07:00
offset 20 bit 0 */
2021-12-01 21:04:17 -08:00
bool mightResetPid : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-07-07 22:14:15 -07:00
* idle : shouldResetPid
2022-04-03 17:28:24 -07:00
offset 20 bit 1 */
2021-12-01 21:04:17 -08:00
bool shouldResetPid : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-07-07 22:14:15 -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 .
2022-04-03 17:28:24 -07:00
offset 20 bit 2 */
2021-12-01 21:04:17 -08:00
bool wasResetPid : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-07-07 22:14:15 -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
2022-04-03 17:28:24 -07:00
offset 20 bit 3 */
2021-12-01 21:04:17 -08:00
bool mustResetPid : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-07-07 22:14:15 -07:00
* idle : coasting
2022-04-03 17:28:24 -07:00
offset 20 bit 4 */
2022-01-10 17:57:47 -08:00
bool isCoasting : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 5 */
2022-01-10 17:57:47 -08:00
bool useIacTableForCoasting : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 6 */
2022-01-10 17:57:47 -08:00
bool notIdling : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-07-07 22:14:15 -07:00
* idle : reset
2022-04-03 17:28:24 -07:00
offset 20 bit 7 */
2022-01-10 17:57:47 -08:00
bool needReset : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-07-07 22:14:15 -07:00
* idle : dead zone
2022-04-03 17:28:24 -07:00
offset 20 bit 8 */
2022-01-10 17:57:47 -08:00
bool isInDeadZone : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 9 */
2022-01-10 17:57:47 -08:00
bool isBlipping : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 10 */
2022-01-10 17:57:47 -08:00
bool useClosedLoop : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 11 */
2022-01-10 18:55:52 -08:00
bool badTps : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 12 */
2022-01-10 18:55:52 -08:00
bool looksLikeRunning : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 13 */
2022-01-10 18:55:52 -08:00
bool looksLikeCoasting : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 14 */
2022-01-10 18:55:52 -08:00
bool looksLikeCrankToIdle : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 15 */
2022-01-11 11:10:30 -08:00
bool useInstantRpmForIdle : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 16 */
2022-01-11 11:10:30 -08:00
bool isVerboseIAC : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 17 */
bool unusedBit_22_17 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 18 */
bool unusedBit_22_18 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 19 */
bool unusedBit_22_19 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 20 */
bool unusedBit_22_20 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 21 */
bool unusedBit_22_21 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 22 */
bool unusedBit_22_22 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 23 */
bool unusedBit_22_23 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 24 */
bool unusedBit_22_24 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 25 */
bool unusedBit_22_25 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 26 */
bool unusedBit_22_26 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 27 */
bool unusedBit_22_27 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 28 */
bool unusedBit_22_28 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 29 */
bool unusedBit_22_29 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 30 */
bool unusedBit_22_30 : 1 { } ;
2021-10-16 21:27:12 -07:00
/**
2022-04-03 17:28:24 -07:00
offset 20 bit 31 */
bool unusedBit_22_31 : 1 { } ;
2022-01-10 18:55:52 -08:00
/**
2022-07-07 22:14:15 -07:00
* idle : target by CLT
2022-04-03 17:28:24 -07:00
* offset 24
2022-01-10 18:55:52 -08:00
*/
int targetRpmByClt = ( int ) 0 ;
/**
2022-07-07 22:14:15 -07:00
* idle : A / C bump
2022-04-03 17:28:24 -07:00
* offset 28
2022-01-10 18:55:52 -08:00
*/
int targetRpmAcBump = ( int ) 0 ;
2022-08-09 22:44:46 -07:00
/**
2022-08-18 20:08:33 -07:00
* idle : iacByRpmTaper portion of idle
2022-08-09 22:44:46 -07:00
* offset 32
*/
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
* offset 36
*/
percent_t luaAdd = ( percent_t ) 0 ;
2021-10-16 20:55:29 -07:00
} ;
2022-08-20 21:25:05 -07:00
static_assert ( sizeof ( idle_state_s ) = = 40 ) ;
2021-10-16 20:55:29 -07:00
// end
2022-08-20 21:25:05 -07:00
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/idle_state.txt Sun Aug 21 04:23:45 UTC 2022