![]() |
Speeduino
|
The status struct with current values for all 'live' variables. More...
#include <statuses.h>
Public Attributes | |
| volatile bool | hasSync: 1 |
| bool | initialisationComplete: 1 |
| Tracks whether the setup() function has run completely. | |
| bool | clutchTrigger: 1 |
| bool | previousClutchTrigger: 1 |
| volatile bool | fpPrimed: 1 |
| Tracks whether or not the fuel pump priming has been completed yet. | |
| volatile bool | injPrimed: 1 |
| Tracks whether or not the injector priming has been completed yet. | |
| volatile bool | tachoSweepEnabled: 1 |
| volatile bool | tachoAlt: 1 |
| uint16_t | RPM |
| RPM - Current Revs per minute. | |
| byte | RPMdiv100 |
| RPM value scaled (divided by 100) to fit a byte (0-255, e.g. 12000 => 120) | |
| long | longRPM |
| RPM as long int (gets assigned to / maintained in statuses.RPM as well) | |
| uint16_t | baroADC |
| long | MAP |
| Manifold absolute pressure. Has to be a long for PID calcs (Boost control) | |
| uint16_t | EMAP |
| EMAP ... (See config6::useEMAP for EMAP enablement) | |
| uint8_t | baro |
| Barometric pressure is simply the initial MAP reading, taken before the engine is running. Alternatively, can be taken from an external sensor. | |
| uint8_t | TPS |
| uint8_t | tpsADC |
| int16_t | tpsDOT |
| byte | TPSlast |
| int16_t | mapDOT |
| volatile int | rpmDOT |
| byte | VE |
| byte | VE1 |
| byte | VE2 |
| uint8_t | O2 |
| uint8_t | O2_2 |
| int | coolant |
| uint16_t | cltADC |
| int | IAT |
| uint16_t | iatADC |
| uint16_t | O2ADC |
| uint16_t | O2_2ADC |
| uint16_t | dwell |
| dwell (coil primary winding/circuit on) time (in ms * 10 ? See correctionsDwell) | |
| volatile uint16_t | actualDwell |
| actual dwell time if new ignition mode is used (in uS) | |
| byte | dwellCorrection |
| byte | battery10 |
| int8_t | advance |
| int8_t | advance1 |
| int8_t | advance2 |
| uint16_t | corrections |
| uint16_t | AEamount |
| byte | egoCorrection |
| byte | wueCorrection |
| byte | batCorrection |
| byte | iatCorrection |
| byte | baroCorrection |
| byte | launchCorrection |
| byte | flexCorrection |
| byte | fuelTempCorrection |
| int8_t | flexIgnCorrection |
| byte | afrTarget |
| byte | CLIdleTarget |
| bool | idleUpActive |
| bool | CTPSActive |
| volatile byte | ethanolPct |
| volatile int8_t | fuelTemp |
| unsigned long | AEEndTime |
| volatile bool | isInj1Open: 1 |
| Injector 1 status: true == open, false == closed. | |
| volatile bool | isInj2Open: 1 |
| Injector 2 status: true == open, false == closed. | |
| volatile bool | isInj3Open: 1 |
| Injector 3 status: true == open, false == closed. | |
| volatile bool | isInj4Open: 1 |
| Injector 4 status: true == open, false == closed. | |
| bool | isDFCOActive: 1 |
| Deceleration Fuel Cut Off status: true == active, false == inactive. | |
| volatile bool | isToothLog1Full: 1 |
| Boost Cut status: true == active, false == inactive. | |
| bool | hardLaunchActive: 1 |
| Hard Launch status: true == on, false == off. | |
| bool | softLaunchActive: 1 |
| Soft Launch status: true == on, false == off. | |
| bool | hardLimitActive: 1 |
| Hard limit status: true == on, false == off. | |
| bool | softLimitActive: 1 |
| Soft limit status: true == on, false == off. | |
| bool | idleOn: 1 |
| Is the idle code active : true == active, false == inactive. | |
| volatile bool | hasFullSync: 1 |
| bool | resetPreventActive: 1 |
| Reset prevent on (true) or off (false) | |
| bool | nitrousActive: 1 |
| Nitrous on (true) or off (false) | |
| bool | secondFuelTableActive: 1 |
| Secondary fuel table is use (true) or not (false) | |
| bool | vssUiRefresh: 1 |
| Flag to indicate that the VSS value needs to be refreshed in the UI. | |
| volatile bool | halfSync: 1 |
| unsigned int | nSquirtsStatus: 3 |
| bool | wmiTankEmpty: 1 |
| Is the Water Methanol Injection tank empty (true) or not (false) | |
| bool | vvt1AngleError: 1 |
| VVT1 cam angle within limits (false) or not (true) | |
| bool | vvt2AngleError: 1 |
| VVT2 cam angle within limits (false) or not (true) | |
| bool | fanOn: 1 |
| Engine fan status (true == on, false == off) | |
| bool | burnPending: 1 |
| Is an EEPROM burn pending (true) or not (false) | |
| bool | stagingActive: 1 |
| Is fuel injection staging active (true) or not (false) | |
| bool | commCompat: 1 |
| bool | allowLegacyComms: 1 |
| bool | flatShiftSoftCut: 1 |
| Is the flat shift soft cut active (true) or not (false) | |
| bool | secondSparkTableActive: 1 |
| Secondary spark table is use (true) or not (false) | |
| bool | knockRetardActive: 1 |
| Is knock retardation active (true) or not (false) | |
| bool | knockPulseDetected: 1 |
| bool | clutchTriggerActive: 1 |
| Is the clutch trigger active (true) or not (false) | |
| bool | engineIsRunning: 1 |
| Is engine running (true) or not (false) | |
| bool | engineIsCranking: 1 |
| Is engine cranking (true) or not (false) | |
| bool | aseIsActive: 1 |
| Is After Start Enrichment (ASE) active (true) or not (false) | |
| bool | wueIsActive: 1 |
| Is Warm Up Enrichment (WUE) active (true) or not (false) | |
| bool | isAcceleratingTPS: 1 |
| Are we accelerating (true) or not (false), based on TPS. | |
| bool | isDeceleratingTPS: 1 |
| Are we decelerating (true) or not (false), based on TPS. | |
| unsigned int | PW1 |
| In uS. | |
| unsigned int | PW2 |
| In uS. | |
| unsigned int | PW3 |
| In uS. | |
| unsigned int | PW4 |
| In uS. | |
| unsigned int | PW5 |
| In uS. | |
| unsigned int | PW6 |
| In uS. | |
| unsigned int | PW7 |
| In uS. | |
| unsigned int | PW8 |
| In uS. | |
| volatile byte | runSecs |
| volatile byte | secl |
| volatile uint16_t | loopsPerSecond |
| bool | launchingSoft |
| bool | launchingHard |
| uint16_t | freeRAM |
| unsigned int | clutchEngagedRPM |
| bool | flatShiftingHard |
| volatile uint32_t | startRevolutions |
| uint16_t | boostTarget |
| bool | isTestModeActive: 1 |
| bool | testActive |
| uint16_t | boostDuty |
| Boost Duty percentage value * 100 to give 2 points of precision. | |
| byte | idleLoad |
| Either the current steps or current duty cycle for the idle control. | |
| uint16_t | canin [16] |
| 16bit raw value of selected canin data for channels 0-15 | |
| uint8_t | current_caninchannel = 0 |
| uint16_t | crankRPM = 400 |
| int16_t | flexBoostCorrection |
| byte | nitrous_status |
| byte | nSquirts |
| Number of injector squirts per cycle (per injector) | |
| uint16_t | fuelLoad |
| uint16_t | ignLoad |
| bool | fuelPumpOn |
| volatile byte | syncLossCounter |
| byte | knockRetard |
| volatile byte | knockCount |
| bool | toothLogEnabled |
| byte | compositeTriggerUsed |
| int16_t | vvt1Angle |
| byte | vvt1TargetAngle |
| long | vvt1Duty |
| uint16_t | injAngle |
| byte | ASEValue |
| uint16_t | vss |
| bool | idleUpOutputActive |
| byte | gear |
| byte | fuelPressure |
| byte | oilPressure |
| bool | engineProtectRpm: 1 |
| Engine protection is active (true) due to exceeding RPM limits. | |
| bool | engineProtectBoostCut: 1 |
| Engine protection is active (true) due to exceeding MAP limits. | |
| bool | engineProtectOil: 1 |
| Engine protection is active (true) due to minimum oil pressure limits. | |
| bool | engineProtectAfr: 1 |
| Engine protection is active (true) based on maximum AFR limits. | |
| bool | engineProtectClt: 1 |
| Engine protection is active (true) based on exceeding coolant limits. | |
| bool | engineProtectIoError: 1 |
| byte | fanDuty |
| byte | wmiPW |
| int16_t | vvt2Angle |
| byte | vvt2TargetAngle |
| long | vvt2Duty |
| byte | outputsStatus |
| bool | sdCardPresent: 1 |
| true if a card is present, false if not | |
| unsigned int | sdCardType: 1 |
| 0==SD, 1==SDHC | |
| bool | sdCardReady: 1 |
| true if ready, false if not | |
| bool | sdCardLogging: 1 |
| true if logging active, false if not | |
| bool | sdCardError: 1 |
| true if error, false if not | |
| unsigned int | sdCardFS: 1 |
| File system type 0=no FAT16, 1=FAT32. | |
| bool | sdCardUnused: 1 |
| true if unused, false if not | |
| bool | airconRequested: 1 |
| Indicates whether the A/C button is pressed. | |
| bool | airconCompressorOn: 1 |
| Indicates whether the A/C compressor is running. | |
| bool | airconRpmLockout: 1 |
| Indicates the A/C is locked out due to the RPM being too high/low, or the post-high/post-low-RPM "stand-down" lockout period. | |
| bool | airconTpsLockout: 1 |
| Indicates the A/C is locked out due to high TPS, or the post-high-TPS "stand-down" lockout period. | |
| bool | airconTurningOn: 1 |
| Indicates the A/C request is on (i.e. A/C button pressed), the lockouts are off, however the start delay has not yet elapsed. This gives the idle up time to kick in before the compressor. | |
| bool | airconCltLockout: 1 |
| Indicates the A/C is locked out either due to high coolant temp. | |
| bool | airconFanOn: 1 |
| Indicates whether the A/C fan is running. | |
| uint8_t | systemTemp |
The status struct with current values for all 'live' variables.
Instantiated as global currentStatus.
| int8_t statuses::advance |
The current advance value being used in the spark calculation. Can be the same as advance1 or advance2, or a calculated value of both
| int8_t statuses::advance1 |
The advance value from ignition table 1
| int8_t statuses::advance2 |
The advance value from ignition table 2
| uint16_t statuses::AEamount |
The amount of acceleration enrichment currently being applied. 100=No change. Varies above 255
The target end time used whenever AE (acceleration enrichment) is turned on
| bool statuses::airconCltLockout |
Indicates the A/C is locked out either due to high coolant temp.
| bool statuses::airconCompressorOn |
Indicates whether the A/C compressor is running.
| bool statuses::airconFanOn |
Indicates whether the A/C fan is running.
| bool statuses::airconRequested |
Indicates whether the A/C button is pressed.
| bool statuses::airconRpmLockout |
Indicates the A/C is locked out due to the RPM being too high/low, or the post-high/post-low-RPM "stand-down" lockout period.
| bool statuses::airconTpsLockout |
Indicates the A/C is locked out due to high TPS, or the post-high-TPS "stand-down" lockout period.
| bool statuses::airconTurningOn |
Indicates the A/C request is on (i.e. A/C button pressed), the lockouts are off, however the start delay has not yet elapsed. This gives the idle up time to kick in before the compressor.
| bool statuses::allowLegacyComms |
| bool statuses::aseIsActive |
Is After Start Enrichment (ASE) active (true) or not (false)
| byte statuses::ASEValue |
| uint8_t statuses::baro |
Barometric pressure is simply the initial MAP reading, taken before the engine is running. Alternatively, can be taken from an external sensor.
| uint16_t statuses::baroADC |
| byte statuses::baroCorrection |
The amount of correction being applied for the current baro reading
| byte statuses::batCorrection |
The amount of battery voltage enrichment currently being applied
| byte statuses::battery10 |
The current BRV in volts (multiplied by 10. Eg 12.5V = 125)
| uint16_t statuses::boostDuty |
Boost Duty percentage value * 100 to give 2 points of precision.
| uint16_t statuses::boostTarget |
| bool statuses::burnPending |
Is an EEPROM burn pending (true) or not (false)
| uint16_t statuses::canin[16] |
16bit raw value of selected canin data for channels 0-15
| byte statuses::CLIdleTarget |
The target idle RPM (when closed loop idle control is active)
| uint16_t statuses::cltADC |
The RPM at which the clutch was last depressed. Used for distinguishing between launch control and flat shift
| bool statuses::clutchTrigger |
| bool statuses::clutchTriggerActive |
Is the clutch trigger active (true) or not (false)
| bool statuses::commCompat |
| byte statuses::compositeTriggerUsed |
| int statuses::coolant |
Coolant temperature reading
| uint16_t statuses::corrections |
The total current corrections % amount
| uint16_t statuses::crankRPM = 400 |
The actual cranking RPM limit. This is derived from the value in the config page, but saves us multiplying it every time it's used (Config page value is stored divided by 10)
| bool statuses::CTPSActive |
Whether the externally controlled closed throttle position sensor is currently active
| uint8_t statuses::current_caninchannel = 0 |
Current CAN channel, defaults to 0
| uint16_t statuses::dwell |
dwell (coil primary winding/circuit on) time (in ms * 10 ? See correctionsDwell)
| byte statuses::dwellCorrection |
The amount of correction being applied to the dwell time (in unit ...).
| byte statuses::egoCorrection |
The amount of closed loop AFR enrichment currently being applied
| uint16_t statuses::EMAP |
EMAP ... (See config6::useEMAP for EMAP enablement)
| bool statuses::engineIsCranking |
Is engine cranking (true) or not (false)
| bool statuses::engineIsRunning |
Is engine running (true) or not (false)
| bool statuses::engineProtectAfr |
Engine protection is active (true) based on maximum AFR limits.
| bool statuses::engineProtectBoostCut |
Engine protection is active (true) due to exceeding MAP limits.
| bool statuses::engineProtectClt |
Engine protection is active (true) based on exceeding coolant limits.
| bool statuses::engineProtectIoError |
| bool statuses::engineProtectOil |
Engine protection is active (true) due to minimum oil pressure limits.
| bool statuses::engineProtectRpm |
Engine protection is active (true) due to exceeding RPM limits.
Ethanol reading (if enabled). 0 = No ethanol, 100 = pure ethanol. Eg E85 = 85.
| byte statuses::fanDuty |
| bool statuses::fanOn |
Engine fan status (true == on, false == off)
| bool statuses::flatShiftingHard |
| bool statuses::flatShiftSoftCut |
Is the flat shift soft cut active (true) or not (false)
| int16_t statuses::flexBoostCorrection |
Amount of boost added based on flex
| byte statuses::flexCorrection |
Amount of correction being applied to compensate for ethanol content
| int8_t statuses::flexIgnCorrection |
Amount of additional advance being applied based on flex. Note the type as this allows for negative values
Tracks whether or not the fuel pump priming has been completed yet.
| uint16_t statuses::freeRAM |
| uint16_t statuses::fuelLoad |
| byte statuses::fuelPressure |
Fuel pressure in PSI
| bool statuses::fuelPumpOn |
Indicator showing the current status of the fuel pump
| byte statuses::fuelTempCorrection |
Amount of correction being applied to compensate for fuel temperature
| byte statuses::gear |
Current gear (Calculated from vss)
| bool statuses::hardLaunchActive |
Hard Launch status: true == on, false == off.
| bool statuses::hardLimitActive |
Hard limit status: true == on, false == off.
Flag for crank/cam position being known by decoders (See decoders.ino). This is used for sanity checking e.g. before logging tooth history or reading some sensors and computing readings.
| int statuses::IAT |
Inlet air temperature reading
| uint16_t statuses::iatADC |
| byte statuses::iatCorrection |
The amount of inlet air temperature adjustment currently being applied
| byte statuses::idleLoad |
Either the current steps or current duty cycle for the idle control.
| bool statuses::idleOn |
Is the idle code active : true == active, false == inactive.
| bool statuses::idleUpActive |
Whether the externally controlled idle up is currently active
| bool statuses::idleUpOutputActive |
Whether the idle up output is currently active
| uint16_t statuses::ignLoad |
| uint16_t statuses::injAngle |
Tracks whether or not the injector priming has been completed yet.
| bool statuses::isAcceleratingTPS |
Are we accelerating (true) or not (false), based on TPS.
| bool statuses::isDeceleratingTPS |
Are we decelerating (true) or not (false), based on TPS.
| bool statuses::isDFCOActive |
Deceleration Fuel Cut Off status: true == active, false == inactive.
| bool statuses::isTestModeActive |
| bool statuses::knockPulseDetected |
| byte statuses::knockRetard |
| bool statuses::knockRetardActive |
Is knock retardation active (true) or not (false)
| byte statuses::launchCorrection |
The amount of correction being applied if launch control is active
| bool statuses::launchingHard |
Indicator showing whether hard launch control adjustments are active
| bool statuses::launchingSoft |
Indicator showing whether soft launch control adjustments are active
| long statuses::longRPM |
RPM as long int (gets assigned to / maintained in statuses.RPM as well)
A performance indicator showing the number of main loops that are being executed each second
| long statuses::MAP |
Manifold absolute pressure. Has to be a long for PID calcs (Boost control)
| int16_t statuses::mapDOT |
MAP delta over time. Measures the kpa per second that the MAP is changing. Note that is signed value, because MAPdot can be also negative
| byte statuses::nitrous_status |
| bool statuses::nitrousActive |
Nitrous on (true) or off (false)
| byte statuses::nSquirts |
Number of injector squirts per cycle (per injector)
| uint8_t statuses::O2 |
Primary O2 sensor reading
| uint8_t statuses::O2_2 |
Secondary O2 sensor reading
| uint16_t statuses::O2_2ADC |
| uint16_t statuses::O2ADC |
| byte statuses::oilPressure |
Oil pressure in PSI
| byte statuses::outputsStatus |
| bool statuses::previousClutchTrigger |
| bool statuses::resetPreventActive |
Reset prevent on (true) or off (false)
| uint16_t statuses::RPM |
RPM - Current Revs per minute.
| byte statuses::RPMdiv100 |
RPM value scaled (divided by 100) to fit a byte (0-255, e.g. 12000 => 120)
Counter of seconds since cranking commenced (Maxes out at 255 to prevent overflow)
| bool statuses::sdCardError |
true if error, false if not
| bool statuses::sdCardLogging |
true if logging active, false if not
| bool statuses::sdCardPresent |
true if a card is present, false if not
| bool statuses::sdCardReady |
true if ready, false if not
| bool statuses::sdCardUnused |
true if unused, false if not
Counter incrementing once per second. Will overflow after 255 and begin again. This is used by TunerStudio to maintain comms sync
| bool statuses::secondFuelTableActive |
Secondary fuel table is use (true) or not (false)
| bool statuses::secondSparkTableActive |
Secondary spark table is use (true) or not (false)
| bool statuses::softLaunchActive |
Soft Launch status: true == on, false == off.
| bool statuses::softLimitActive |
Soft limit status: true == on, false == off.
| bool statuses::stagingActive |
Is fuel injection staging active (true) or not (false)
A counter for how many revolutions have been completed since sync was achieved.
| uint8_t statuses::systemTemp |
| bool statuses::testActive |
| bool statuses::toothLogEnabled |
| uint8_t statuses::TPS |
The current TPS reading (0% - 100%). Is the tpsADC value after the calibration is applied
| uint8_t statuses::tpsADC |
byte (valued: 0-255) representation of the TPS. Downsampled from the original 10-bit (0-1023) reading, but before any calibration is applied
| int16_t statuses::tpsDOT |
TPS delta over time. Measures the % per second that the TPS is changing. Note that is signed value, because TPSdot can be also negative
| byte statuses::TPSlast |
The previous TPS reading
| byte statuses::VE |
The current VE value being used in the fuel calculation. Can be the same as VE1 or VE2, or a calculated value of both.
| byte statuses::VE1 |
The VE value from fuel table 1
| byte statuses::VE2 |
The VE value from fuel table 2, if in use (and required conditions are met)
| uint16_t statuses::vss |
Current speed reading. Natively stored in kph and converted to mph in TS if required
| bool statuses::vssUiRefresh |
Flag to indicate that the VSS value needs to be refreshed in the UI.
| int16_t statuses::vvt1Angle |
| bool statuses::vvt1AngleError |
VVT1 cam angle within limits (false) or not (true)
| long statuses::vvt1Duty |
| byte statuses::vvt1TargetAngle |
| int16_t statuses::vvt2Angle |
| bool statuses::vvt2AngleError |
VVT2 cam angle within limits (false) or not (true)
| long statuses::vvt2Duty |
| byte statuses::vvt2TargetAngle |
| byte statuses::wmiPW |
| bool statuses::wmiTankEmpty |
Is the Water Methanol Injection tank empty (true) or not (false)
| byte statuses::wueCorrection |
The amount of warmup enrichment currently being applied
| bool statuses::wueIsActive |
Is Warm Up Enrichment (WUE) active (true) or not (false)