Skip to Content

B9 Report

TAU binary report of 89 bytes that extends the B3 with accelerometer (XYZ) data and a trail of the last 10 GPS positions encoded as deltas. It keeps the same efficiency goal: about 70% less data than the equivalent text report.

TAU binary reports (B9 and B3) are assigned to events just like text reports (type CQ / CY). The device encodes and transmits them directly in binary.


What is it for?

  • 📈 Report vehicle dynamics (accelerometer) together with position
  • 🧭 Send the recent route (10 positions) in a single compact frame
  • 📉 Minimize mobile data usage versus the text report
  • 🛰️ Satellite / LPWA links with higher information density per byte

Event assignment

The report is assigned to an event with the two-letter code B9, exactly like the text reports CQ or CY. When the event fires, the device builds the 89-byte binary frame and sends it to the configured destination.

SMS is not a valid destination for binary reports. If the assigned destination is SMS, the frame is discarded (binary is not transmitted over SMS). Use GPRS, Wi-Fi, backend or log.


Terminal query (QBUS)

When querying the buffer from the terminal with QBUS, the frame is shown as a hex dump with the RB9: prefix.

>QBUS< >RB9:3E52423968...< // 89 bytes in hexadecimal

Binary layout (89 bytes)

Bytes 0–23 share the same format as the B3 report (header, date/time, position, network). From byte 24 onward, accelerometer and trail are added.

BytesFieldDescription
0–3HeaderASCII >RB9
4–7Date/timeTAU epoch (uint32, big-endian)
8EventEvent code that triggered the report
9–12HDOP + longitudeHDOP (6 bits) + 26-bit TAU longitude (lon × 10⁵ + 18000000)
13–16Fix + satellites + latitudeFix (2 bits) + satellites (4 bits) + 25-bit TAU latitude (lat × 10⁵ + 9000000)
17Position ageSeconds since last valid fix (max. 255)
18–19GSM signal + speedCSQ (6 bits) + speed km/h (10 bits)
20–21Network registration + headingGSM/GPRS registration (3 + 3 bits) + heading in degrees (9 bits)
22–23Outputs + inputsDigital outputs XP (5 bits) + inputs IN (10 bits)
24–29XYZ accelerometerResultant axis + Z / Y / X axes encoded with a +999 offset
30Motion state0 = stopped, 1 = moving
31Data ageTrail age
32–8110-position trail10 records × 5 bytes: speed (8 bits) + heading (9 bits) + Δlat (11 bits) + Δlon (12 bits)
82–85Device IDDevice identifier (4 bytes)
86–87Message numberMessage counter (uint16, big-endian)
88ChecksumXOR of bytes 0–87

Accelerometer (bytes 24–29)

The resultant axis is transmitted along with the three axes encoded with a +999 offset: the X axis directly, the Y axis divided by 32 and the Z axis divided by 4. Byte 30 indicates whether the vehicle is stopped or moving.

Position trail (bytes 32–81)

Each of the 10 records (5 bytes) stores a recent-route position as a delta relative to the event position:

  • Δlat: (Δlat / 2) + 999 in 11 bits (Δ in degrees × 10⁵)
  • Δlon: (Δlon / 16) + 999 in 12 bits (Δ in degrees × 10⁵)
  • Together with speed (8 bits) and heading (9 bits)

A record whose first byte is 255 marks an invalid / empty position (fewer than 10 points available).


See Also

Compatibility

💾Firmware:v1.09.20
SP-IOT
SM-IOT
ZE-IOT
Last updated