
Originally Posted by
Erik83
Daniel,
Your reply did not really clarify what option(s) we might have to acces the data. From past messages in this thread I understood you use a canbus decoder supplier, but it is unclear to me how much control _you_ have in modifying that firmware.
Can you be more specific what this means? I mean, when I read ROM and CAN_update.bin I kind of expect the ROM to contain a micro bootloader to bootstrap the firmware and have some code for updating firmware in a failsafe way. The firmware in this case I expect to be in de CAN_update.bin. At most Id expect the ROM to decode the CANbus signals into data frames and forward that to the firmware for further processing. I have no idea what the precoded functions are or might do. Can you elaborate?
Basically Im wondering if we could get a pass through firmware and expose the data on some TTY so we can process the can bus messages with can-utils or similar tools. There is currently too little public information for me to know how rsnav gets its data from that decoder and in what format.
Unfortunately the CANbus Triple device I mentioned is out of business and cant be bought anymore. Have not found a satifying alternative, but at the same time I think exposing the RSnav CAN decoder data could be an alternative.
Sent from my iPhone using
Audizine
Following is information from the manual of our canbus decoder system.
(Original written in Chinese)
Support original car ACC signal, including OFF, ACC, operation, and
ignition status identification.
Support original car lighting signals, including small lamp status and
light intensity information.
Support the original car reversing signal.
Support original car gear, hand brake, door, speed, speed, steering wheel
angle, mileage, original car date and time letter
Interest (Note 2).
Support the original car air conditioning signal.
Support original car radar alarm switch and radar distance information
(Note 2). <--- This is all about parktornic(ultrasonic sensors). Not
Adaptive Cruise Control.
Support the original car steering wheel control signal. (Note 2)
Supports the original car MMI control panel signal (Note 2).
Support MMI media source selection status
Support original car bus sleep/wake recognition (Note 4).
Note 2: Depends on car model and software availability.
Note 4: Add this host to use this information as a background fast boot and
delayed shutdown.
Serial communication protocol
Physical layer description
Using standard UART communication interface, the logic level is 3.3V or 5V
(depending on the pull-up resistor of the audio host)
TTL level, UART works in 8N1 mode, ie 8-bit data bit, no parity, one stop
bit, the baud rate is fixed at 38,400 bps.
Link layer description:
>> HOST: NAVI host
>>SLAVE: Bus Decoder
Data frame structure
Data sequence data content note
1, Head Code, Fix to 0x2E
2, Data Type, See the table below Data Type Definition
3, Length, data length
4, Data0
5, Data1
6 ...
... Datan
N, Checksum, SUM(DataType, Length, Data0,...Datan )^0xFF
ACK/NACK
a) ACK/NACK definition
Data sequence data content note
1 ACK/NACK, 0xFF =E2=80=93 ACK
0xF0 =E2=80=93 NACK (Checksun NG)
0xF3 =E2=80=93 NACK (Not Support)
0xFC =E2=80=93 NACK (Busy)
The response frame is only completed by one byte.
b) After receiving one frame of data, the receiving end shall return ACK or
NACK within 10ms, and connect ACK/NACK.
The receiving end should be able to receive ACK/NACK within 0 to 100 ms.
c) If no ACK is received within 100ms, the frame data will be resent, if
the number of retransmissions is three,
All the transmissions will stop and the corresponding error will be handled=.
1. Data Type definition
Slave -> Host
No/definition/description/code/comment
1/ decoder capability set information/ 0x10/ V1.09 modified, increased oil
capacity bit
2/ Vehicle basic information/ 0x12
3/ Light intensity information/ 0x14
4/ speed information/ 0x16
5/ Vehicle dynamic information/ 0x18/ V1.09 modified, increased fuel
quantity information
6/ Mileage Information/ 0x1A
7/ Vehicle auxiliary information/ 0x1B
8/ original car date information/ 0x1C
9/ original car time information/ 0x1D
10/ MMI button information/ 0x20
11/ Steering button information/ 0x21
12/ Air conditioning information/ 0x24
13/ Radar distance information/ 0x26
14/ MMI media source selection status / 0x28
15/ decoder version information/ 0x30
16/ decoder test request message/ 0x7C
Host -> Slave
1 Start/End 0x81
2 Query Command 0x90
3 Install the host working mode 0xA0
4 test response message 0xEC
5 host self test message 0xED
Note: Unless otherwise stated, the information is only reported when it
changes, and it is reported irregularly (tentatively).
RX (Slave to Host)Example
Decoder capability set information [0x10]
Data/ sequence data content /note
Data Type/ 0x10 /data type
Length/ 0x04/ data length
Data0/ valid indication/
Bit7: gear position
0b- invalid; 1b-valid;
Bit6: Handbrake
0b- invalid; 1b-valid;
Bit5: car door
0b- invalid; 1b-valid;
Bit4: headlights
0b- invalid; 1b-valid;
Bit3: car lock
0b- invalid; 1b-valid;
Bit2: foot brake
0b- invalid; 1b-valid;
Bit1: Driver seat belt
0b- invalid; 1b-valid;
Bit0: Co-pilot belt
0b- invalid; 1b-valid;
Data1 valid indication Bit7: speed
0b- invalid; 1b-valid;
Bit6: Speed
0b- invalid; 1b-valid;
Bit5: tire corner
0b- invalid; 1b-valid;
Bit4: MMI button
0b- invalid; 1b-valid;
Bit3: square control button
0b- invalid; 1b-valid;
Bit2: Radar distance
0b- invalid; 1b-valid;
Bit1: mileage
0b- invalid; 1b-valid;
Bit0: Current oil quantity (new in V1.09)
0b- invalid; 1b-valid;
Data2 valid indication Bit7: Left front window glass
0b- invalid; 1b-valid;
Bit6: Right front window glass
0b- invalid; 1b-valid;
Bit5: Left rear window glass
0b- invalid; 1b-valid;
Bit4: Right rear window glass
0b- invalid; 1b-valid;
Bit3: Skylight
0b- invalid; 1b-valid;
Bit2: glass lock
0b- invalid; 1b-valid;
Bit0~1: Reserved;
Data3 reservation
TX (Host to slave) Example
Start/End [0x81]
Data sequence/ data content/ note
Data Type/ 0x81/ data type
Length/ 0x01/ data length
Data0/ command
0x01: Start (HOST sends this command when the system starts) / Connected,
HOST receives a response from SLAVE to establish. the connection is
successful and communication is possible)
0x00: End (HOST sends this command when the system is shut down) / Open
connection, HOST receives a response from SLAVE indicating disconnection
The connection is successful and Host will no longer communicate with Slave=
)
Query command [0x90]
Data sequence/ data content/ note
Data Type/ 0x90/ data type
Length/ 0x01/ data length
Data0/ query command
0x10: decoder capability set information
0x12: Basic vehicle information
0x14: Light intensity information
0x16: Speed information
0x18: Vehicle dynamic information
0x1A: Vehicle maintenance information
0x1B: Vehicle assistance information
0x1C: original car date information
0x1D: original car time information
0x24: Air conditioning information
0x26: Radar distance information
0x28: MMI media source selection status information
0x30: decoder version information
Add host working mode information [0xA0]
Data Type 0xA0
Length 0x02
Data0/ working mode
0x00: shutdown status;
0x01: working status;
Other values are reserved;
Data1 reservation reserved
Note: When adding a host requires the decoder to switch to the original car
AUX mode, you need to send a working status command.
Note: This command is temporarily invalid because the decoder does not
support active switching of the original car mode.
Test response information [0xEC]
Data sequence/ data content/ note
Data Type/ 0xEC/ data type
Length/ 0x03/ data length
Data0 status
Bit7: ACC I/O status;
Bit6: Reverse I/O status;
Bit5: small light I/O status;
Bit0: Sleep line I/O status;
Data1 working hours
ACC ON time, in seconds;
Valid values: 0~0xFE; when the activation time is greater than 0xFE,
Often 0xFE.
Data2 activation time
The sleep line is high, in seconds;
Valid values: 0~0xFE; when the activation time is greater than 0xFE,
Often 0xFE.
Host self test message [0xED]
Data sequence/ data content/ note
Data Type/ 0xED/ data type
Length/ 0x3/ data length
Data0
Test status
0x00: The test is completed;
0x01: in test
Other values are reserved;
Data1 test project host side self-definition
Data2 test project status host side self-definition
Bookmarks