39template <
typename TUser,
static TIntegral readSerialIntegralTimeout(void)
Reads an integral type, timing out if necessary.
Definition comms.cpp:173
Scale and translate signed/unsigned values to convert between "raw" & "user" values.
Definition units.h:41
uint16_t scale
Scale factor, must be >0.
Definition units.h:42
constexpr TRaw toRaw(TUser user) const
Convert a value from a user value to raw page value.
Definition units.h:61
constexpr TUser toUser(TRaw raw) const
Convert a value from raw page value to user value.
Definition units.h:51
int16_t translate
Translation - can be negative.
Definition units.h:43
static constexpr conversionFactor< uint16_t, uint8_t > RPM_MEDIUM
RPM stored as RPM/10. E.g. 2700 -> 270 -> 2700.
Definition units.h:90
static constexpr conversionFactor< uint16_t, uint8_t > TIME_TWENTY_MILLIS
Time values stored in 20 milliseconds.
Definition units.h:108
static constexpr conversionFactor< uint16_t, uint8_t > MAP
MAP values: kpa.
Definition units.h:117
static constexpr uint8_t temperatureAddOffset(int16_t temp)
Convert from a user temperature (-40, 215) to storage (0, 255)
Definition units.h:146
static constexpr int16_t temperatureRemoveOffset(uint8_t temp)
Convert from a storage temperature (0, 255) to user (-40, 215)
Definition units.h:158
static constexpr conversionFactor< int16_t, uint8_t > TEMPERATURE
All temperature measurements are stored offset by 40 degrees, to represent temperature ranges from -4...
Definition units.h:135
static constexpr conversionFactor< uint16_t, uint8_t > RPM_FINE
RPM stored as RPM/5. E.g. 1300->260->1300.
Definition units.h:96
static constexpr conversionFactor< int8_t, uint8_t > IGNITION_ADVANCE_LARGE
Ignition values from the main spark table are offset 40 degrees downwards to allow for negative spark...
Definition units.h:129
static constexpr conversionFactor< int8_t, uint8_t > IGNITION_ADVANCE_SMALL
Ignition advance adjustments can use a smaller offset.
Definition units.h:132
static constexpr conversionFactor< uint16_t, uint8_t > TIME_TEN_MILLIS
Time values stored in 10 milliseconds.
Definition units.h:114
static constexpr conversionFactor< int16_t, uint8_t > MAP_DOT
MAP rate of change: kpa/s
Definition units.h:120
static constexpr conversionFactor< uint16_t, uint8_t > CRANKING_ENRICHMENT
Cranking enrichment values range from 0% to 1275%.
Definition units.h:126
static constexpr conversionFactor< uint16_t, uint8_t > RPM_COARSE
RPM stored as RPM/100. E.g. 2700 -> 27 -> 2700.
Definition units.h:84
static constexpr conversionFactor< int16_t, uint8_t > TPS_DOT
TPS rate of change: %/s.
Definition units.h:123
static constexpr conversionFactor< uint32_t, uint8_t > TIME_TENTH_MILLIS
Time values stored in 1/10th milliseconds I.e ms/10.
Definition units.h:102