CANxx Commands
Command family for reading CAN parameters from the vehicle’s ECU.
What is it for?
| Use case | Description |
|---|---|
| 🚛 Heavy vehicles | CAN00/CAN03 for trucks and buses with J1939 protocol |
| 🚗 Light vehicles | CAN01 for cars with OBD-II/J1850 protocol |
| 🚚 Trailers and semi-trailers | CAN02 exists but is deprecated: the branch returns no data |
| ⛽ Fuel consumption | CAN05 for FuelRate and MAF sensor reading |
| 📋 Report integration | CAN03 in fixed-width format for Ux reports |
General Description
The CANxx commands allow obtaining vehicle information through the CAN bus. Each variant is optimized for different protocols and data formats:
| Command | Protocol | Main Use |
|---|---|---|
| CAN00 | J1939 | Commercial/heavy vehicles |
| CAN01 | J1850/OBD-II | Light vehicles |
| CAN02 | — (deprecated) | Returns no data: empty branch in the firmware |
| CAN03 | J1939 (fixed width) | Ux report integration |
| CAN05 | Generic | FuelRate and consumption |
Before using these commands, configure the CAN bus through CXCAN.
CAN00 - J1939 Parameters
Reading of standard parameters using J1939 protocol for commercial and heavy vehicles.
Query
QCAN00Response
RCAN00 2010=value,5000=value,1030=value,4201=value,1020=value,1010=value,2012=value,2013=value,2020=value,3010=valueParameters
| ID | Parameter | Format |
|---|---|---|
2010 | RPM | Decimal, 2 decimals (%.2f) |
5000 | Accelerator position (%) | Decimal, 2 decimals (%.2f) |
1030 | Odoliter (L) | Decimal, 2 decimals (%.2f) |
4201 | Fuel level (%) | Decimal, 2 decimals (%.2f) |
1020 | Odometer (Km) | Decimal, 2 decimals (%.2f) |
1010 | Wheel speed (Km/h) | Decimal, 2 decimals (%.2f) |
2012 | Coolant temp (ºC) | Decimal, 2 decimals (%.2f) |
2013 | Oil pressure (kPa) | Decimal, 2 decimals (%.2f) |
2020 | Engine ON time (h) | Decimal, 2 decimals (%.2f) |
3010 | Trip fuel (L) | Decimal, 2 decimals (%.2f) |
Example
>RCAN00 2010=1000.00,5000=0.00,1030=10000.00,4201=50.00,1020=20000.00,1010=60.00,2012=15.00,2013=100.00,2020=13.00,3010=0.13<CAN01 - OBD-II Parameters
Reading using J1850/OBD-II protocol for light vehicles.
Query
QCAN01Response
RCAN01 1=value,2=value,3=value,B=value,14=value,15=value,2A=value,2C=valueParameters
| ID | Parameter | Format |
|---|---|---|
1 | VIN | 16-digit ASCII |
2 | RPM | Integer, no decimals (%.0f) |
3 | Wheel speed (Km/h) | Integer, no decimals (%.0f) |
B | Odometer (Km) | Integer, no decimals (%.0f) |
14 | Odoliter (L) | Integer, no decimals (%.0f) |
15 | Fuel level (%) | Integer, no decimals (%.0f) |
2A | Coolant temp (ºC) | Integer, no decimals (%.0f) |
2C | Oil pressure (kPa) | Integer, no decimals (%.0f) |
Example
>RCAN01 1=2SA23000L2,2=1000,3=60,B=20000,14=100000,15=50,2A=15,2C=100<CAN02 - Reserved for Trailer ABS/EBS (deprecated)
The command exists and replies CMDOK, but engineGetAscii(type==2) is an empty branch marked // EBS DEPRECATED in the firmware: it doesn’t assemble any field. RCAN02 carries no data — the fields red, amber, axle_load, whell_speed, vehicle_speed, dtc_0 and dtc_1 do not exist in the actual response.
Query
QCAN02Response
RCAN02Don’t use CAN02 to read trailer ABS/EBS data: the branch is deprecated and returns no fields. If you need those parameters, check with technical support which bank replaces them in your firmware version.
CAN03 - Fixed-Width Format
Reading in fixed-width format, ideal for integration with Ux user reports.
Query
QCAN03Response
RCAN03 aaaabbbcccddddddddeeefffggghhhhhhhiiiiiiiijjjjjjjjkkParameters
| Field | Length | Parameter | Format | Unit |
|---|---|---|---|---|
aaaa | 4 | Engine Speed | Decimal | RPM |
bbb | 3 | Accel PCT | Decimal | % |
ccc | 3 | Fuel PCT | Decimal | % |
dddddddd | 8 | Odometer Total | Hex | meters |
eee | 3 | Speed | Decimal | Km/h |
fff | 3 | Engine Temp | Decimal | °C |
ggg | 3 | Oil Press | Decimal | kPa |
hhhhhhh | 7 | Time Engine On | Hex | hours |
iiiiiiii | 8 | Fuel Trip | Hex | liters |
jjjjjjjj | 8 | Odoliter Total | Hex | liters |
kk | 2 | Age | Hex | seconds |
Hexadecimal fields must be converted to decimal. For example, if dddddddd = 0001E240, the odometer is 123456 meters.
Example
>RCAN03 15000350500001E240060015100000012300012345006780010A<CAN05 - FuelRate
Reading of fuel consumption rate (FuelRate).
Query
QCAN05Response
RCAN05 FR_HW=value,FR_SW=value,MAF=valueParameters
| Field | Parameter | Description | Unit |
|---|---|---|---|
FR_HW | FuelRate Hardware | Direct sensor reading | L/h |
FR_SW | FuelRate Software | MAF-based calculation | L/h |
MAF | Mass Air Flow | Air flow sensor | g/s |
Example
>RCAN05 FR_HW!3,FR_SW=89.60,MAF=300.00;ID=869084063093789;*5A<The FR_SW is calculated from the MAF sensor when the direct hardware value is not available.
Error Codes
Common to all CANxx commands:
| Code | Description |
|---|---|
=value | Valid value |
= (empty after the equals sign) | Parameter not read, only on CAN01 (e.g. 15=) |
!3 | No information available (stale data), on CAN00 and CAN05 |
The firmware only generates code !3; it generally indicates that the vehicle doesn’t support the parameter or there’s a physical connection problem with the CAN bus. Codes !1 and !2 do not exist in any current firmware version.
Compatibility
Rinho Zero IoT has no CAN transceiver: on that model these commands reply
NA. Reading the vehicle bus requires Spider IoT or Smart IoT.
See Also
- CXCAN Command - CAN bus configuration
- ECU Command - Flexible CAN variable reading
- CXECU Command - ECU configuration
- Ux Command - Custom user reports