FuelTech ManualsGlossarySearch

3. Signals: from physical value to bits

Version 1.2Software: FuelTech Vision 3.0Firmware: 00.03.00.01Products: FT700, FT470, VisionFT2026-10-13

#Message and signal

A CAN frame has up to 8 bytes (64 bits) of data. A single value rarely fills the whole frame: the manufacturer divides the bytes into several signals. An engine frame might carry, for example, engine speed in 16 bits, temperature in 8 bits, throttle position in 8 bits and a few 1-bit switches.

To read or write a signal you need to know exactly:

#Raw value and physical value

What travels on the network is always an integer, the raw value. The physical value (rpm, °C, bar, %) comes from a simple calculation:

physical value = raw value × factor + offset

Conversion of the raw value into the physical value.
Conversion of the raw value into the physical value.

The factor sets the resolution. A factor of 0.1 on a pressure in bar means each unit of the raw value is worth 0.1 bar. The offset shifts the range. Temperature with an offset of −40 lets you transmit from −40 °C upward using only positive numbers. To transmit, the calculation is the inverse: raw value = (physical value − offset) ÷ factor.

#Byte order: Intel and Motorola

When a signal occupies more than one byte, you need to know which byte comes first.

The start bit also changes meaning. In the convention used by DBC files, in Intel the start bit is the least significant bit of the signal; in Motorola it is the most significant bit, and the counting goes byte by byte.

The same 12-bit signal in the two byte orders, in the DBC bit numbering.
The same 12-bit signal in the two byte orders, in the DBC bit numbering.

Getting the byte order wrong does not cause an error: it gives a nonsensical number. A 16-bit signal with the bytes swapped turns 1,000 rpm into 59,395 rpm. If the value read jumps strangely or becomes huge, the first suspect is the byte order.

#Signed signals (negative values)

Values that can be negative, such as ignition advance, fuel correction or lateral acceleration, are usually transmitted in two's complement, the standard way to write negative numbers in binary: the upper half of the range of raw values counts as negative. In an 8-bit signed signal, raw values 0 to 127 are worth 0 to 127 and 128 to 255 are worth −128 to −1; raw value 255 (0xFF) means −1. If the signal is configured as unsigned, the same data appears as 255. In the DBC, the + sign indicates unsigned and − indicates signed.