msalau / SocketCandecodeSignals

filter to decode signals in combination with candump (socketcan tools)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SocketCandecodeSignals

filter to decode signals in combination with candump (socketcan tools)

clone

git clone  https://github.com/ebroecker/candecodes
git submodule update --init

or

git clone --recursive https://github.com/ebroecker/candecodes

Compile

make

Usage

candump -L canBus | ./candecode dbc-file frameName[.signalName] [secondFrame[.someSignal] ...]

Example

candump -L vcan0 | ./candecode ccl_test.dbc testFrame1.sig0 testFrame2

Test

prepare virtual can:

sudo modprobe vcan
sudo ip link add type vcan
sudo ifconfig vcan0 up

dump vcan0 with signal decoding:

candump -L vcan0 | ./candecode ccl_test.dbc testFrame1 testFrame2

send some can frames (other terminal)

cansend vcan0 001#8d00100100820100
cansend vcan0 002#0C00057003CD1F83

will result:

Trying to find: Frame: testFrame1
-- testFrame1 (0x001) 
Trying to find: Frame: testFrame2
-- testFrame2 (0x002) 
(1456687759.303127) vcan0 sig0: 0x01 01 
(1456687759.303127) vcan0 sig1: 0x23 35 
(1456687759.303127) vcan0 sig2: 0x00 00 
(1456687759.303127) vcan0 sig3: 0x800 2048 
(1456687759.303127) vcan0 sig4: 0x100 256 
(1456687759.303127) vcan0 sig5: 0x01 01 
(1456687759.303127) vcan0 sig6: 0x00 00 
(1456687759.303127) vcan0 sig7: 0x208 520 
(1456687759.303127) vcan0 sig8: 0x00 00 
(1456687759.303127) vcan0 sig9: 0x00 00 
(1456687759.303127) vcan0 sig10: 0x00 00 
(1456687763.319899) vcan0 secSig1: 0x00 00 
(1456687763.319899) vcan0 secSig2: 0x00 00 
(1456687763.319899) vcan0 secSig3: 0x00 00 
(1456687763.319899) vcan0 secSig4: 0x02 02 
(1456687763.319899) vcan0 secSig5: 0x00 00 
(1456687763.319899) vcan0 secSig6: 0x00 00 
(1456687763.319899) vcan0 secSig7: 0x00 00 
(1456687763.319899) vcan0 secSig8: 0x03 03 
(1456687763.319899) vcan0 secSig9: 0x01 01 
(1456687763.319899) vcan0 secSig10: 0x500 1280 
(1456687763.319899) vcan0 secSig11: 0xffffffffffffff70 -144 
(1456687763.319899) vcan0 secSig12: 0x0c 12 

Test without virtual can:

echo "(0.0) vcan0 001#8d00100100820100" | ./candecode ccl_test.dbc testFrame1
Trying to find: Frame: testFrame1
-- testFrame1 (0x001) 
(0000.000000) vcan0 sig0: 0x01 01 
(0000.000000) vcan0 sig1: 0x23 35 
(0000.000000) vcan0 sig2: 0x00 00 
(0000.000000) vcan0 sig3: 0x800 2048 
(0000.000000) vcan0 sig4: 0x100 256 
(0000.000000) vcan0 sig5: 0x01 01 
(0000.000000) vcan0 sig6: 0x00 00 
(0000.000000) vcan0 sig7: 0x208 520 
(0000.000000) vcan0 sig8: 0x00 00 
(0000.000000) vcan0 sig9: 0x00 00 
(0000.000000) vcan0 sig10: 0x00 00 
echo "(0.0) vcan0 001#8d00100100820100" | ./candecode ccl_test.dbc testFrame1
Trying to find: Frame: testFrame2
-- testFrame2 (0x002) 
(0000.000001) vcan0 secSig1: 0x00 00 
(0000.000001) vcan0 secSig2: 0x00 00 
(0000.000001) vcan0 secSig3: 0x00 00 
(0000.000001) vcan0 secSig4: 0x02 02 
(0000.000001) vcan0 secSig5: 0x00 00 
(0000.000001) vcan0 secSig6: 0x00 00 
(0000.000001) vcan0 secSig7: 0x00 00 
(0000.000001) vcan0 secSig8: 0x03 03 
(0000.000001) vcan0 secSig9: 0x01 01 
(0000.000001) vcan0 secSig10: 0x500 1280 
(0000.000001) vcan0 secSig11: 0xffffffffffffff70 -144 
(0000.000001) vcan0 secSig12: 0x0c 12 
echo "(0.0) vcan0 003#0100100100820100" | ./candecode ccl_test.dbc testFrame3
Trying to find: Frame: testFrame3
-- testFrame3 (0x003)
(0000.000000) vcan0 valSig0: 0x01 "VALUE_1"

About

filter to decode signals in combination with candump (socketcan tools)

License:BSD 2-Clause "Simplified" License


Languages

Language:C 99.1%Language:Makefile 0.9%