Skip to Content

CANxx Commands

Command family for reading CAN parameters from the vehicle’s ECU.


What is it for?

Use caseDescription
🚛 Heavy vehiclesCAN00/CAN03 for trucks and buses with J1939 protocol
🚗 Light vehiclesCAN01 for cars with OBD-II/J1850 protocol
🚚 Trailers and semi-trailersCAN02 exists but is deprecated: the branch returns no data
Fuel consumptionCAN05 for FuelRate and MAF sensor reading
📋 Report integrationCAN03 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:

CommandProtocolMain Use
CAN00J1939Commercial/heavy vehicles
CAN01J1850/OBD-IILight vehicles
CAN02— (deprecated)Returns no data: empty branch in the firmware
CAN03J1939 (fixed width)Ux report integration
CAN05GenericFuelRate 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

QCAN00

Response

RCAN00 2010=value,5000=value,1030=value,4201=value,1020=value,1010=value,2012=value,2013=value,2020=value,3010=value

Parameters

IDParameterFormat
2010RPMDecimal, 2 decimals (%.2f)
5000Accelerator position (%)Decimal, 2 decimals (%.2f)
1030Odoliter (L)Decimal, 2 decimals (%.2f)
4201Fuel level (%)Decimal, 2 decimals (%.2f)
1020Odometer (Km)Decimal, 2 decimals (%.2f)
1010Wheel speed (Km/h)Decimal, 2 decimals (%.2f)
2012Coolant temp (ºC)Decimal, 2 decimals (%.2f)
2013Oil pressure (kPa)Decimal, 2 decimals (%.2f)
2020Engine ON time (h)Decimal, 2 decimals (%.2f)
3010Trip 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

QCAN01

Response

RCAN01 1=value,2=value,3=value,B=value,14=value,15=value,2A=value,2C=value

Parameters

IDParameterFormat
1VIN16-digit ASCII
2RPMInteger, no decimals (%.0f)
3Wheel speed (Km/h)Integer, no decimals (%.0f)
BOdometer (Km)Integer, no decimals (%.0f)
14Odoliter (L)Integer, no decimals (%.0f)
15Fuel level (%)Integer, no decimals (%.0f)
2ACoolant temp (ºC)Integer, no decimals (%.0f)
2COil 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

QCAN02

Response

RCAN02

Don’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

QCAN03

Response

RCAN03 aaaabbbcccddddddddeeefffggghhhhhhhiiiiiiiijjjjjjjjkk

Parameters

FieldLengthParameterFormatUnit
aaaa4Engine SpeedDecimalRPM
bbb3Accel PCTDecimal%
ccc3Fuel PCTDecimal%
dddddddd8Odometer TotalHexmeters
eee3SpeedDecimalKm/h
fff3Engine TempDecimal°C
ggg3Oil PressDecimalkPa
hhhhhhh7Time Engine OnHexhours
iiiiiiii8Fuel TripHexliters
jjjjjjjj8Odoliter TotalHexliters
kk2AgeHexseconds

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

QCAN05

Response

RCAN05 FR_HW=value,FR_SW=value,MAF=value

Parameters

FieldParameterDescriptionUnit
FR_HWFuelRate HardwareDirect sensor readingL/h
FR_SWFuelRate SoftwareMAF-based calculationL/h
MAFMass Air FlowAir flow sensorg/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:

CodeDescription
=valueValid value
= (empty after the equals sign)Parameter not read, only on CAN01 (e.g. 15=)
!3No 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

💾Firmware:v1.00.00
SPLegacy
ULLegacy
SP-IOT
SM-IOT

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

Last updated