Speeduino
Loading...
Searching...
No Matches
statuses.h
Go to the documentation of this file.
1
8#pragma once
9
10#include <stdint.h>
11#include "bit_manip.h"
12#include "maths.h"
13#include "decoder_builder.h"
14
15using byte = uint8_t;
16
19{
21 None,
23 Rolling,
25 Full,
26};
27
28
36struct statuses {
37 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
39 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
40 bool clutchTrigger : 1;
41 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
43 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
44 volatile bool fpPrimed : 1;
45 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
46 volatile bool injPrimed : 1;
47 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
48 volatile bool tachoSweepEnabled : 1;
49 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
50 volatile bool tachoAlt : 1;
51
53 byte RPMdiv100;
54 long longRPM;
56 long MAP;
62 byte TPSlast;
64 volatile int rpmDOT;
65 byte VE;
66 byte VE1;
67 byte VE2;
70 int coolant;
72 int IAT;
79 byte battery10;
94 byte afrTarget;
98 volatile byte ethanolPct;
99 volatile int8_t fuelTemp;
100 unsigned long AEEndTime;
102 // Status1 fields as defined in the INI
103 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
104 volatile bool isInj1Open : 1;
105 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
106 volatile bool isInj2Open : 1;
107 // cppcheck-suppress misra-c2012-6.1
108 volatile bool isInj3Open : 1;
109 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
110 volatile bool isInj4Open : 1;
111 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
112 bool isDFCOActive : 1;
113 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
114 volatile bool isToothLog1Full : 1;
115
116 // Status2 fields as defined in the INI.
117 // TODO: resolve duplication with launchingHard
118 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
120 // TODO: resolve duplication with launchingSoft
121 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
123 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
125 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
126 bool idleOn : 1;
127
128 // Status3 fields as defined in the INI.
129 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
131 // TODO: resolve duplication with nitrous_status
132 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
133 bool nitrousActive : 1;
134 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
136 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
137 bool vssUiRefresh : 1;
138 // TODO: resolve duplication with nSquirts
139 unsigned int nSquirtsStatus: 3;
140
141 // Status4 fields as defined in the INI.
142 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
143 bool wmiTankEmpty : 1;
144 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
145 bool vvt1AngleError : 1;
146 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
147 bool vvt2AngleError : 1;
148 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
149 bool fanOn : 1;
150 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
151 bool burnPending : 1;
152 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
153 bool stagingActive : 1;
154 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
155 bool commCompat : 1;
156 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
158
159 // Status5 fields as defined in the INI.
160 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
162 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
164 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
166 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
168 // TODO: resolve duplication with clutchTrigger
169 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
171
172 // Engine status fields as defined in the INI.
173 // TODO: engine has 3 states: Off, Cranking, Running. Need to capture this better
174 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
176 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
178 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
179 bool aseIsActive : 1;
180 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
181 bool wueIsActive : 1;
182 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
183 // TODO: acceleration has 3 states: Steady, Accelerating, Decelerating. Need to capture this better
184 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
186 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
188
189 // TODO: make all pulse widths uint16_t
190 unsigned int PW1;
191 unsigned int PW2;
192 unsigned int PW3;
193 unsigned int PW4;
194 unsigned int PW5;
195 unsigned int PW6;
196 unsigned int PW7;
197 unsigned int PW8;
198 volatile byte runSecs;
199 volatile byte secl;
203 // TODO: remove this: only updated & read in logger
205 // TODO: make all RPMs uint16_t
206 unsigned int clutchEngagedRPM;
210 // TODO: resolve conflict with testActive
211 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
212 bool isTestModeActive : 1; // Is hardware test mode on?
213 bool testActive; // Not in use ? Replaced by testOutputs ?
215 byte idleLoad;
221 byte nSquirts;
225 volatile byte syncLossCounter;
227 volatile byte knockCount;
229 byte compositeTriggerUsed; // 0 means composite logger disabled, 2 means use secondary input (1st cam), 3 means use tertiary input (2nd cam), 4 means log both cams together
230 int16_t vvt1Angle; //Has to be a long for PID calcs (CL VVT control)
232 long vvt1Duty; //Has to be a long for PID calcs (CL VVT control)
237 byte gear;
243 {
244 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
245 bool rpm : 1;
246 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
247 bool coolant : 1;
248 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
249 bool boostCut : 1;
250 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
251 bool oil : 1;
252 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
253 bool afr : 1;
254
256 // cppcheck-suppress misra-c2012-8.10 ; False positive - cannot make this static
257 inline bool isActive(void) const {
258 return rpm
259 || coolant
260 || boostCut
261 || oil
262 || afr
263 ;
264 }
265
267 // cppcheck-suppress misra-c2012-8.10 ; False positive - cannot make this static
268 inline void reset(void) {
269 rpm = false;
270 boostCut = false;
271 oil = false;
272 afr = false;
273 coolant = false;
274 }
275 };
277 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
278 bool ioError : 1;
279
281 byte wmiPW;
282 int16_t vvt2Angle; //Has to be a long for PID calcs (CL VVT control)
284 long vvt2Duty; //Has to be a long for PID calcs (CL VVT control)
286
287 // SD card status fields.
288 // TODO: conditional compile on SD_LOGGING once board definition is separated from globals.h
289 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
290 bool sdCardPresent : 1;
291 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
292 unsigned int sdCardType : 1;
293 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
294 bool sdCardReady : 1;
295 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
296 bool sdCardLogging : 1;
297 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
298 bool sdCardError : 1;
299 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
300 unsigned int sdCardFS : 1;
301 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
302 bool sdCardUnused : 1;
303
304 // airConStatus fields.
305 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
307 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
309 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
311 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
313 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
315 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
317 // cppcheck-suppress misra-c2012-6.1 ; False positive - MISRA C:2012 Rule (R 6.1) permits the use of boolean for bit fields.
318 bool airconFanOn : 1;
319
321 uint32_t revolutionTime; //The time in uS that one revolution would take at current speed (The time tooth 1 was last seen, minus the time it was seen prior to that)
322
328 {
329 // Using bytes for compactness ATM, but that limits us to 8 fuel and
330 // 8 ignition channels
335 };
337
339};
340
347void setRpm(statuses &status, uint16_t rpm);
Bit twiddling macros.
uint8_t byte
Definition config_pages.h:16
A builder for decoder_t structures.
static TIntegral readSerialIntegralTimeout(void)
Reads an integral type, timing out if necessary.
Definition comms.cpp:175
void setRpm(statuses &status, uint16_t rpm)
Set the RPM field, keeping RPMDiv100 in sync.
Definition statuses.cpp:4
SchedulerCutStatus
The current status of scheduler channel cuts.
Definition statuses.h:19
A builder for decoder_t - will make sure all required fields are set.
Definition decoder_builder.h:10
decoder_t build(void) const
Definition decoder_builder.h:33
This structure represents a decoder configuration.
Definition decoder_t.h:89
Engine protection status fields.
Definition statuses.h:243
bool rpm
true if RPM limits have been breached, false otherwise
Definition statuses.h:245
bool isActive(void) const
Are any protections active.
Definition statuses.h:257
bool oil
true if the oil limit has been breached, false otherwise
Definition statuses.h:251
bool afr
true if the afr limit has been breached, false otherwise
Definition statuses.h:253
bool boostCut
true if the boost limit has been breached, false otherwise
Definition statuses.h:249
bool coolant
true if coolant limits have been breached, false otherwise
Definition statuses.h:247
void reset(void)
Reset all protections to off.
Definition statuses.h:268
Fuel and ignition scheduler cut state.
Definition statuses.h:328
byte fuelChannels
Which fuel channels are on (1) or off (0)
Definition statuses.h:333
SchedulerCutStatus status
Definition statuses.h:334
byte ignitionChannelsPending
Any ignition channels that are pending injections before they are resumed.
Definition statuses.h:331
byte ignitionChannels
Which ignition channels are on (1) or off (0)
Definition statuses.h:332
The status struct with current values for all 'live' variables.
Definition statuses.h:36
volatile bool isInj4Open
Injector 4 status: true == open, false == closed.
Definition statuses.h:110
bool airconFanOn
Indicates whether the A/C fan is running.
Definition statuses.h:318
byte dwellCorrection
Definition statuses.h:78
bool wueIsActive
Is Warm Up Enrichment (WUE) active (true) or not (false)
Definition statuses.h:181
uint16_t baroADC
Definition statuses.h:55
bool airconRequested
Indicates whether the A/C button is pressed.
Definition statuses.h:306
volatile byte syncLossCounter
Definition statuses.h:225
byte ASEValue
Definition statuses.h:234
int16_t vvt2Angle
Definition statuses.h:282
uint16_t canin[16]
16bit raw value of selected canin data for channels 0-15
Definition statuses.h:216
byte oilPressure
Definition statuses.h:239
uint8_t current_caninchannel
Definition statuses.h:217
bool launchingSoft
Definition statuses.h:201
unsigned int PW3
In uS.
Definition statuses.h:192
byte launchCorrection
Definition statuses.h:90
scheduler_cut_t schedulerCutState
Definition statuses.h:336
unsigned int PW6
In uS.
Definition statuses.h:195
bool idleUpActive
Definition statuses.h:96
bool wmiTankEmpty
Is the Water Methanol Injection tank empty (true) or not (false)
Definition statuses.h:143
long vvt1Duty
Definition statuses.h:232
unsigned int sdCardFS
File system type 0=no FAT16, 1=FAT32.
Definition statuses.h:300
uint32_t revolutionTime
Definition statuses.h:321
bool CTPSActive
Definition statuses.h:97
unsigned int PW8
In uS.
Definition statuses.h:197
byte CLIdleTarget
Definition statuses.h:95
byte vvt2TargetAngle
Definition statuses.h:283
byte TPSlast
Definition statuses.h:62
bool clutchTrigger
Definition statuses.h:40
bool testActive
Definition statuses.h:213
bool idleUpOutputActive
Definition statuses.h:236
bool engineIsRunning
Is engine running (true) or not (false)
Definition statuses.h:175
bool secondSparkTableActive
Secondary spark table is use (true) or not (false)
Definition statuses.h:163
bool vvt2AngleError
VVT2 cam angle within limits (false) or not (true)
Definition statuses.h:147
unsigned long AEEndTime
Definition statuses.h:100
byte baroCorrection
Definition statuses.h:89
bool flatShiftingHard
Definition statuses.h:207
int16_t vvt1Angle
Definition statuses.h:230
bool vvt1AngleError
VVT1 cam angle within limits (false) or not (true)
Definition statuses.h:145
unsigned int PW4
In uS.
Definition statuses.h:193
byte VE2
Definition statuses.h:67
byte flexCorrection
Definition statuses.h:91
bool clutchTriggerActive
Is the clutch trigger active (true) or not (false)
Definition statuses.h:170
volatile uint16_t loopsPerSecond
Definition statuses.h:200
bool toothLogEnabled
Definition statuses.h:228
bool burnPending
Is an EEPROM burn pending (true) or not (false)
Definition statuses.h:151
byte VE1
Definition statuses.h:66
bool airconTpsLockout
Indicates the A/C is locked out due to high TPS, or the post-high-TPS "stand-down" lockout period.
Definition statuses.h:312
bool sdCardLogging
true if logging active, false if not
Definition statuses.h:296
int IAT
Definition statuses.h:72
int16_t mapDOT
Definition statuses.h:63
uint16_t ignLoad
Definition statuses.h:223
byte wueCorrection
Definition statuses.h:86
byte batCorrection
Definition statuses.h:87
int8_t advance
Definition statuses.h:80
unsigned int PW1
In uS.
Definition statuses.h:190
uint16_t dwell
dwell (coil primary winding/circuit on) time (in ms * 10 ? See correctionsDwell)
Definition statuses.h:76
uint8_t tpsADC
Definition statuses.h:60
volatile byte knockCount
Definition statuses.h:227
bool knockRetardActive
Is knock retardation active (true) or not (false)
Definition statuses.h:165
bool knockPulseDetected
Definition statuses.h:167
byte nSquirts
Number of injector squirts per cycle (per injector)
Definition statuses.h:221
int8_t advance2
Definition statuses.h:82
bool ioError
true if there is an analog pin conflict
Definition statuses.h:278
bool sdCardUnused
true if unused, false if not
Definition statuses.h:302
bool engineIsCranking
Is engine cranking (true) or not (false)
Definition statuses.h:177
uint16_t vss
Definition statuses.h:235
bool fanOn
Engine fan status (true == on, false == off)
Definition statuses.h:149
byte knockRetard
Definition statuses.h:226
uint16_t boostTarget
Definition statuses.h:209
uint16_t EMAP
EMAP ... (See config6::useEMAP for EMAP enablement)
Definition statuses.h:57
bool fuelPumpOn
Definition statuses.h:224
bool airconTurningOn
Indicates the A/C request is on (i.e. A/C button pressed), the lockouts are off, however the start de...
Definition statuses.h:314
bool sdCardReady
true if ready, false if not
Definition statuses.h:294
byte gear
Definition statuses.h:237
volatile bool injPrimed
Tracks whether or not the injector priming has been completed yet.
Definition statuses.h:46
uint8_t maxIgnOutputs
Definition statuses.h:323
bool airconRpmLockout
Indicates the A/C is locked out due to the RPM being too high/low, or the post-high/post-low-RPM "sta...
Definition statuses.h:310
volatile byte secl
Definition statuses.h:199
bool secondFuelTableActive
Secondary fuel table is use (true) or not (false)
Definition statuses.h:135
bool isTestModeActive
Definition statuses.h:212
bool nitrousActive
Nitrous on (true) or off (false)
Definition statuses.h:133
uint16_t fuelLoad
Definition statuses.h:222
int coolant
Definition statuses.h:70
byte VE
Definition statuses.h:65
bool isDeceleratingTPS
Are we decelerating (true) or not (false), based on TPS.
Definition statuses.h:187
volatile uint16_t actualDwell
actual dwell time if new ignition mode is used (in uS)
Definition statuses.h:77
byte fuelPressure
Definition statuses.h:238
unsigned int clutchEngagedRPM
Definition statuses.h:206
volatile uint32_t startRevolutions
Definition statuses.h:208
unsigned int PW5
In uS.
Definition statuses.h:194
volatile bool tachoAlt
Definition statuses.h:50
uint16_t boostDuty
Boost Duty percentage value * 100 to give 2 points of precision.
Definition statuses.h:214
volatile bool isToothLog1Full
Boost Cut status: true == active, false == inactive.
Definition statuses.h:114
bool previousClutchTrigger
Definition statuses.h:42
byte battery10
Definition statuses.h:79
bool commCompat
Definition statuses.h:155
volatile byte runSecs
Definition statuses.h:198
uint16_t iatADC
Definition statuses.h:73
int8_t advance1
Definition statuses.h:81
uint16_t RPM
RPM - Current Revs per minute.
Definition statuses.h:52
volatile bool isInj3Open
Injector 3 status: true == open, false == closed.
Definition statuses.h:108
bool flatShiftSoftCut
Is the flat shift soft cut active (true) or not (false)
Definition statuses.h:161
bool softLaunchActive
Soft Launch status: true == on, false == off.
Definition statuses.h:122
long longRPM
RPM as long int (gets assigned to / maintained in statuses.RPM as well)
Definition statuses.h:54
bool stagingActive
Is fuel injection staging active (true) or not (false)
Definition statuses.h:153
bool hardLaunchActive
Hard Launch status: true == on, false == off.
Definition statuses.h:119
byte wmiPW
Definition statuses.h:281
bool aseIsActive
Is After Start Enrichment (ASE) active (true) or not (false)
Definition statuses.h:179
bool vssUiRefresh
Flag to indicate that the VSS value needs to be refreshed in the UI.
Definition statuses.h:137
volatile int8_t fuelTemp
Definition statuses.h:99
byte vvt1TargetAngle
Definition statuses.h:231
byte RPMdiv100
RPM value scaled (divided by 100) to fit a byte (0-255, e.g. 12000 => 120)
Definition statuses.h:53
bool sdCardPresent
true if a card is present, false if not
Definition statuses.h:290
uint16_t corrections
Definition statuses.h:83
long vvt2Duty
Definition statuses.h:284
byte fanDuty
Definition statuses.h:280
uint8_t TPS
Definition statuses.h:59
byte outputsStatus
Definition statuses.h:285
decoder_t decoder
The current decoder.
Definition statuses.h:338
bool idleOn
Is the idle code active : true == active, false == inactive.
Definition statuses.h:126
byte afrTarget
Definition statuses.h:94
bool launchingHard
Definition statuses.h:202
volatile int rpmDOT
Definition statuses.h:64
byte fuelTempCorrection
Definition statuses.h:92
bool softLimitActive
Soft limit status: true == on, false == off.
Definition statuses.h:124
volatile bool isInj1Open
Injector 1 status: true == open, false == closed.
Definition statuses.h:104
bool airconCltLockout
Indicates the A/C is locked out either due to high coolant temp.
Definition statuses.h:316
byte nitrous_status
Definition statuses.h:220
unsigned int PW2
In uS.
Definition statuses.h:191
bool isAcceleratingTPS
Are we accelerating (true) or not (false), based on TPS.
Definition statuses.h:185
uint8_t systemTemp
Definition statuses.h:320
volatile bool fpPrimed
Tracks whether or not the fuel pump priming has been completed yet.
Definition statuses.h:44
int16_t tpsDOT
Definition statuses.h:61
uint8_t O2_2
Definition statuses.h:69
uint16_t freeRAM
Definition statuses.h:204
bool sdCardError
true if error, false if not
Definition statuses.h:298
byte compositeTriggerUsed
Definition statuses.h:229
byte egoCorrection
Definition statuses.h:85
int16_t flexBoostCorrection
Definition statuses.h:219
bool initialisationComplete
Tracks whether the setup() function has run completely.
Definition statuses.h:38
int8_t flexIgnCorrection
Definition statuses.h:93
byte idleLoad
Either the current steps or current duty cycle for the idle control.
Definition statuses.h:215
uint16_t O2_2ADC
Definition statuses.h:75
bool airconCompressorOn
Indicates whether the A/C compressor is running.
Definition statuses.h:308
byte iatCorrection
Definition statuses.h:88
uint8_t O2
Definition statuses.h:68
bool allowLegacyComms
Definition statuses.h:157
uint16_t injAngle
Definition statuses.h:233
volatile bool isInj2Open
Injector 2 status: true == open, false == closed.
Definition statuses.h:106
bool resetPreventActive
Reset prevent on (true) or off (false)
Definition statuses.h:130
long MAP
Manifold absolute pressure. Has to be a long for PID calcs (Boost control)
Definition statuses.h:56
volatile bool tachoSweepEnabled
Definition statuses.h:48
uint16_t crankRPM
Definition statuses.h:218
uint8_t baro
Barometric pressure is simply the initial MAP reading, taken before the engine is running....
Definition statuses.h:58
engine_protect_flags_t engineProtect
Definition statuses.h:276
volatile byte ethanolPct
Definition statuses.h:98
unsigned int PW7
In uS.
Definition statuses.h:196
uint16_t AEamount
Definition statuses.h:84
uint8_t maxInjOutputs
Definition statuses.h:324
uint16_t cltADC
Definition statuses.h:71
uint16_t O2ADC
Definition statuses.h:74
bool isDFCOActive
Deceleration Fuel Cut Off status: true == active, false == inactive.
Definition statuses.h:112
unsigned int sdCardType
0==SD, 1==SDHC
Definition statuses.h:292
unsigned int nSquirtsStatus
Definition statuses.h:139