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
static uint16_t div100(uint16_t n)
Performance optimised integer division by 100. I.e. same as n/100.
Definition maths.h:123
SchedulerCutStatus
The current status of scheduler channel cuts.
Definition statuses.h:20
static void setRpm(statuses &status, uint16_t rpm)
Set the RPM field, keeping RPMDiv100 in sync.
Definition statuses.h:348
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:244
bool rpm
true if RPM limits have been breached, false otherwise
Definition statuses.h:246
bool isActive(void) const
Are any protections active.
Definition statuses.h:258
bool oil
true if the oil limit has been breached, false otherwise
Definition statuses.h:252
bool afr
true if the afr limit has been breached, false otherwise
Definition statuses.h:254
bool boostCut
true if the boost limit has been breached, false otherwise
Definition statuses.h:250
bool coolant
true if coolant limits have been breached, false otherwise
Definition statuses.h:248
void reset(void)
Reset all protections to off.
Definition statuses.h:269
Fuel and ignition scheduler cut state.
Definition statuses.h:329
byte fuelChannels
Which fuel channels are on (1) or off (0)
Definition statuses.h:334
SchedulerCutStatus status
Definition statuses.h:335
byte ignitionChannelsPending
Any ignition channels that are pending injections before they are resumed.
Definition statuses.h:332
byte ignitionChannels
Which ignition channels are on (1) or off (0)
Definition statuses.h:333
The status struct with current values for all 'live' variables.
Definition statuses.h:37
volatile bool isInj4Open
Injector 4 status: true == open, false == closed.
Definition statuses.h:111
bool airconFanOn
Indicates whether the A/C fan is running.
Definition statuses.h:319
byte dwellCorrection
Definition statuses.h:79
bool wueIsActive
Is Warm Up Enrichment (WUE) active (true) or not (false)
Definition statuses.h:182
uint16_t baroADC
Definition statuses.h:56
bool airconRequested
Indicates whether the A/C button is pressed.
Definition statuses.h:307
volatile byte syncLossCounter
Definition statuses.h:226
byte ASEValue
Definition statuses.h:235
int16_t vvt2Angle
Definition statuses.h:283
uint16_t canin[16]
16bit raw value of selected canin data for channels 0-15
Definition statuses.h:217
byte oilPressure
Definition statuses.h:240
uint8_t current_caninchannel
Definition statuses.h:218
bool launchingSoft
Definition statuses.h:202
unsigned int PW3
In uS.
Definition statuses.h:193
byte launchCorrection
Definition statuses.h:91
scheduler_cut_t schedulerCutState
Definition statuses.h:337
unsigned int PW6
In uS.
Definition statuses.h:196
bool idleUpActive
Definition statuses.h:97
bool wmiTankEmpty
Is the Water Methanol Injection tank empty (true) or not (false)
Definition statuses.h:144
long vvt1Duty
Definition statuses.h:233
unsigned int sdCardFS
File system type 0=no FAT16, 1=FAT32.
Definition statuses.h:301
uint32_t revolutionTime
Definition statuses.h:322
bool CTPSActive
Definition statuses.h:98
unsigned int PW8
In uS.
Definition statuses.h:198
byte CLIdleTarget
Definition statuses.h:96
byte vvt2TargetAngle
Definition statuses.h:284
byte TPSlast
Definition statuses.h:63
bool clutchTrigger
Definition statuses.h:41
bool testActive
Definition statuses.h:214
bool idleUpOutputActive
Definition statuses.h:237
bool engineIsRunning
Is engine running (true) or not (false)
Definition statuses.h:176
bool secondSparkTableActive
Secondary spark table is use (true) or not (false)
Definition statuses.h:164
bool vvt2AngleError
VVT2 cam angle within limits (false) or not (true)
Definition statuses.h:148
unsigned long AEEndTime
Definition statuses.h:101
byte baroCorrection
Definition statuses.h:90
bool flatShiftingHard
Definition statuses.h:208
int16_t vvt1Angle
Definition statuses.h:231
bool vvt1AngleError
VVT1 cam angle within limits (false) or not (true)
Definition statuses.h:146
unsigned int PW4
In uS.
Definition statuses.h:194
byte VE2
Definition statuses.h:68
byte flexCorrection
Definition statuses.h:92
bool clutchTriggerActive
Is the clutch trigger active (true) or not (false)
Definition statuses.h:171
volatile uint16_t loopsPerSecond
Definition statuses.h:201
bool toothLogEnabled
Definition statuses.h:229
bool burnPending
Is an EEPROM burn pending (true) or not (false)
Definition statuses.h:152
byte VE1
Definition statuses.h:67
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:313
bool sdCardLogging
true if logging active, false if not
Definition statuses.h:297
int IAT
Definition statuses.h:73
int16_t mapDOT
Definition statuses.h:64
uint16_t ignLoad
Definition statuses.h:224
byte wueCorrection
Definition statuses.h:87
byte batCorrection
Definition statuses.h:88
int8_t advance
Definition statuses.h:81
unsigned int PW1
In uS.
Definition statuses.h:191
uint16_t dwell
dwell (coil primary winding/circuit on) time (in ms * 10 ? See correctionsDwell)
Definition statuses.h:77
uint8_t tpsADC
Definition statuses.h:61
volatile byte knockCount
Definition statuses.h:228
bool knockRetardActive
Is knock retardation active (true) or not (false)
Definition statuses.h:166
bool knockPulseDetected
Definition statuses.h:168
byte nSquirts
Number of injector squirts per cycle (per injector)
Definition statuses.h:222
int8_t advance2
Definition statuses.h:83
bool ioError
true if there is an analog pin conflict
Definition statuses.h:279
bool sdCardUnused
true if unused, false if not
Definition statuses.h:303
bool engineIsCranking
Is engine cranking (true) or not (false)
Definition statuses.h:178
uint16_t vss
Definition statuses.h:236
bool fanOn
Engine fan status (true == on, false == off)
Definition statuses.h:150
byte knockRetard
Definition statuses.h:227
uint16_t boostTarget
Definition statuses.h:210
uint16_t EMAP
EMAP ... (See config6::useEMAP for EMAP enablement)
Definition statuses.h:58
bool fuelPumpOn
Definition statuses.h:225
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:315
bool sdCardReady
true if ready, false if not
Definition statuses.h:295
byte gear
Definition statuses.h:238
volatile bool injPrimed
Tracks whether or not the injector priming has been completed yet.
Definition statuses.h:47
uint8_t maxIgnOutputs
Definition statuses.h:324
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:311
volatile byte secl
Definition statuses.h:200
bool secondFuelTableActive
Secondary fuel table is use (true) or not (false)
Definition statuses.h:136
bool isTestModeActive
Definition statuses.h:213
bool nitrousActive
Nitrous on (true) or off (false)
Definition statuses.h:134
uint16_t fuelLoad
Definition statuses.h:223
int coolant
Definition statuses.h:71
byte VE
Definition statuses.h:66
bool isDeceleratingTPS
Are we decelerating (true) or not (false), based on TPS.
Definition statuses.h:188
volatile uint16_t actualDwell
actual dwell time if new ignition mode is used (in uS)
Definition statuses.h:78
byte fuelPressure
Definition statuses.h:239
unsigned int clutchEngagedRPM
Definition statuses.h:207
volatile uint32_t startRevolutions
Definition statuses.h:209
unsigned int PW5
In uS.
Definition statuses.h:195
volatile bool tachoAlt
Definition statuses.h:51
uint16_t boostDuty
Boost Duty percentage value * 100 to give 2 points of precision.
Definition statuses.h:215
volatile bool isToothLog1Full
Boost Cut status: true == active, false == inactive.
Definition statuses.h:115
bool previousClutchTrigger
Definition statuses.h:43
byte battery10
Definition statuses.h:80
bool commCompat
Definition statuses.h:156
volatile byte runSecs
Definition statuses.h:199
uint16_t iatADC
Definition statuses.h:74
int8_t advance1
Definition statuses.h:82
uint16_t RPM
RPM - Current Revs per minute.
Definition statuses.h:53
volatile bool isInj3Open
Injector 3 status: true == open, false == closed.
Definition statuses.h:109
bool flatShiftSoftCut
Is the flat shift soft cut active (true) or not (false)
Definition statuses.h:162
bool softLaunchActive
Soft Launch status: true == on, false == off.
Definition statuses.h:123
long longRPM
RPM as long int (gets assigned to / maintained in statuses.RPM as well)
Definition statuses.h:55
bool stagingActive
Is fuel injection staging active (true) or not (false)
Definition statuses.h:154
bool hardLaunchActive
Hard Launch status: true == on, false == off.
Definition statuses.h:120
byte wmiPW
Definition statuses.h:282
bool aseIsActive
Is After Start Enrichment (ASE) active (true) or not (false)
Definition statuses.h:180
bool vssUiRefresh
Flag to indicate that the VSS value needs to be refreshed in the UI.
Definition statuses.h:138
volatile int8_t fuelTemp
Definition statuses.h:100
byte vvt1TargetAngle
Definition statuses.h:232
byte RPMdiv100
RPM value scaled (divided by 100) to fit a byte (0-255, e.g. 12000 => 120)
Definition statuses.h:54
bool sdCardPresent
true if a card is present, false if not
Definition statuses.h:291
uint16_t corrections
Definition statuses.h:84
long vvt2Duty
Definition statuses.h:285
byte fanDuty
Definition statuses.h:281
uint8_t TPS
Definition statuses.h:60
byte outputsStatus
Definition statuses.h:286
decoder_t decoder
The current decoder.
Definition statuses.h:339
bool idleOn
Is the idle code active : true == active, false == inactive.
Definition statuses.h:127
byte afrTarget
Definition statuses.h:95
bool launchingHard
Definition statuses.h:203
volatile int rpmDOT
Definition statuses.h:65
byte fuelTempCorrection
Definition statuses.h:93
bool softLimitActive
Soft limit status: true == on, false == off.
Definition statuses.h:125
volatile bool isInj1Open
Injector 1 status: true == open, false == closed.
Definition statuses.h:105
bool airconCltLockout
Indicates the A/C is locked out either due to high coolant temp.
Definition statuses.h:317
byte nitrous_status
Definition statuses.h:221
unsigned int PW2
In uS.
Definition statuses.h:192
bool isAcceleratingTPS
Are we accelerating (true) or not (false), based on TPS.
Definition statuses.h:186
uint8_t systemTemp
Definition statuses.h:321
volatile bool fpPrimed
Tracks whether or not the fuel pump priming has been completed yet.
Definition statuses.h:45
int16_t tpsDOT
Definition statuses.h:62
uint8_t O2_2
Definition statuses.h:70
uint16_t freeRAM
Definition statuses.h:205
bool sdCardError
true if error, false if not
Definition statuses.h:299
byte compositeTriggerUsed
Definition statuses.h:230
byte egoCorrection
Definition statuses.h:86
int16_t flexBoostCorrection
Definition statuses.h:220
bool initialisationComplete
Tracks whether the setup() function has run completely.
Definition statuses.h:39
int8_t flexIgnCorrection
Definition statuses.h:94
byte idleLoad
Either the current steps or current duty cycle for the idle control.
Definition statuses.h:216
uint16_t O2_2ADC
Definition statuses.h:76
bool airconCompressorOn
Indicates whether the A/C compressor is running.
Definition statuses.h:309
byte iatCorrection
Definition statuses.h:89
uint8_t O2
Definition statuses.h:69
bool allowLegacyComms
Definition statuses.h:158
uint16_t injAngle
Definition statuses.h:234
volatile bool isInj2Open
Injector 2 status: true == open, false == closed.
Definition statuses.h:107
bool resetPreventActive
Reset prevent on (true) or off (false)
Definition statuses.h:131
long MAP
Manifold absolute pressure. Has to be a long for PID calcs (Boost control)
Definition statuses.h:57
volatile bool tachoSweepEnabled
Definition statuses.h:49
uint16_t crankRPM
Definition statuses.h:219
uint8_t baro
Barometric pressure is simply the initial MAP reading, taken before the engine is running....
Definition statuses.h:59
engine_protect_flags_t engineProtect
Definition statuses.h:277
volatile byte ethanolPct
Definition statuses.h:99
unsigned int PW7
In uS.
Definition statuses.h:197
uint16_t AEamount
Definition statuses.h:85
uint8_t maxInjOutputs
Definition statuses.h:325
uint16_t cltADC
Definition statuses.h:72
uint16_t O2ADC
Definition statuses.h:75
bool isDFCOActive
Deceleration Fuel Cut Off status: true == active, false == inactive.
Definition statuses.h:113
unsigned int sdCardType
0==SD, 1==SDHC
Definition statuses.h:293
unsigned int nSquirtsStatus
Definition statuses.h:140