BP Report
BP Command (G)
Compact binary report for efficient transmission. Suitable for satellite communication (Iridium 9602 SBD).
The structure can be visualized in debug mode through DB Command.
Generate report
GBPbbcSee G Command for parameter details.
The ;@dd..dd destination from the generic G Command syntax is accepted but ignored: AddRpt() intercepts the BP report before queuing it and always sends it through the local serial port (rptBpToPort()), without going through the retry/ACK queue.
IoT Platform
For Spider IOT, Smart IOT, Zero IOT models.
Parameters are configured through CXBP Command.
Binary structure
Fixed 39-byte frame (rptBpToPort(), protocol.c:50-131), the same for all compatible devices: there are no 24/28/32-byte variants and no different format per platform.
Includes report ID, Date, Time, Latitude, Longitude, Speed, Heading, digital inputs status (IN), digital outputs (XP), analog threshold flags (AR), battery voltage, position age and device ID.
| Byte(s) | Field | Type | Description |
|---|---|---|---|
| 0 | IdRpt | uint8 | Report number (00-FF) |
| 1 | Day | uint8 | 1-31 |
| 2 | Month | uint8 | 1-12 |
| 3 | Year | uint8 | 2 digits (e.g.: 24 = 2024) |
| 4 | Hour | uint8 | 0-23 |
| 5 | Minute | uint8 | 0-59 |
| 6 | Second | uint8 | 0-59 |
| 7-10 | Latitude | int32, Big Endian | Degrees ×100000, signed |
| 11-14 | Longitude | int32, Big Endian | Degrees ×100000, signed |
| 15-16 | Speed | uint16, Big Endian | km/h |
| 17-18 | Heading | uint16, Big Endian | degrees |
| 19 | IN | uint8 | Digital inputs IN00-IN07 (bit 0 = IN00) |
| 20 | XP | uint8 | Digital outputs XP00-XP02 (bit 0 = XP00) |
| 21 | AR | uint8 | Analog threshold flags AR00-AR05 (bit 0 = AR00) |
| 22-23 | VBat | uint16, Big Endian | Main battery voltage, tenths of V |
| 24 | Age | uint8 | Seconds since last valid position |
| 25-36 | Device ID | char[12] | Device ID, 12 fixed characters |
| 37-38 | Checksum | uint16, Big Endian | Accumulated sum of bytes 0-36 |
There are no floating-point coordinates or variable packet sizes (24/28/32 bytes): the frame is always 39 bytes, with Latitude and Longitude as signed 32-bit Big Endian integers (not IEEE754 Little Endian) and the device ID in 12 fixed bytes (not variable, not dependent on CXBP). The checksum is an accumulated sum of the preceding bytes, not an XOR.