Currently if we send lots of bytes, test1939 output will get unreadable. Make it easier to read by splitting output dump. New format will looks as following example: root@DistroKit:~ testj1939 can0:0x90 -r 80 12300: 01 23 45 67 89 ab cd ef 00008 01 23 45 67 89 ab cd ef 00010 01 23 45 67 89 ab cd ef 00018 01 23 45 67 89 ab cd ef 00020 01 23 45 67 89 ab cd ef 00028 01 23 45 67 89 ab cd ef 00030 01 23 45 67 89 ab cd ef 00038 01 23 45 67 89 ab cd ef 00040 01 23 45 67 89 ab cd ef 00048 01 23 45 67 89 ab cd ef 00050 01 23 45 67 89 ab cd ef 00058 01 23 45 67 89 ab cd ef 00060 01 23 45 67 89 ab cd ef 00068 01 23 45 67 89 ab cd ef 00070 01 23 45 67 89 ab cd ef 00078 01 23 45 67 89 ab cd ef Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> |
||
|---|---|---|
| cmake | ||
| config/m4 | ||
| include/linux | ||
| .gitignore | ||
| .travis.yml | ||
| Android.mk | ||
| CMakeLists.txt | ||
| GNUmakefile.am | ||
| Makefile | ||
| README.md | ||
| asc2log.c | ||
| autogen.sh | ||
| bcmserver.c | ||
| can-calc-bit-timing.c | ||
| can-j1939-kickstart.md | ||
| can-j1939.md | ||
| canbusload.c | ||
| candump.c | ||
| canfdtest.c | ||
| canframelen.c | ||
| canframelen.h | ||
| cangen.c | ||
| cangw.c | ||
| canlogserver.c | ||
| canplayer.c | ||
| cansend.c | ||
| cansniffer.c | ||
| configure.ac | ||
| isotpdump.c | ||
| isotpperf.c | ||
| isotprecv.c | ||
| isotpsend.c | ||
| isotpserver.c | ||
| isotpsniffer.c | ||
| isotptun.c | ||
| jacd.c | ||
| jcat.c | ||
| jspy.c | ||
| jsr.c | ||
| lib.c | ||
| lib.h | ||
| libj1939.c | ||
| libj1939.h | ||
| log2asc.c | ||
| log2long.c | ||
| page.theme | ||
| slcan_attach.c | ||
| slcand.c | ||
| slcanpty.c | ||
| style.css | ||
| terminal.h | ||
| testj1939.c | ||
README.md
SocketCAN userspace utilities and tools
This repository contains some userspace utilities for Linux CAN subsystem (aka SocketCAN):
Basic tools to display, record, generate and replay CAN traffic
- candump : display, filter and log CAN data to files
- canplayer : replay CAN logfiles
- cansend : send a single frame
- cangen : generate (random) CAN traffic
- cansniffer : display CAN data content differences (just 11bit CAN IDs)
CAN access via IP sockets
- canlogserver : log CAN frames from a remote/local host
- bcmserver : interactive BCM configuration (remote/local)
- socketcand : use RAW/BCM/ISO-TP sockets via TCP/IP sockets
CAN in-kernel gateway configuration
- cangw : CAN gateway userpace tool for netlink configuration
CAN bus measurement and testing
- canbusload : calculate and display the CAN busload
- can-calc-bit-timing : userspace version of in-kernel bitrate calculation
- canfdtest : Full-duplex test program (DUT and host part)
ISO-TP tools ISO15765-2:2016 for Linux
- isotpsend : send a single ISO-TP PDU
- isotprecv : receive ISO-TP PDU(s)
- isotpsniffer : 'wiretap' ISO-TP PDU(s)
- isotpdump : 'wiretap' and interpret CAN messages (CAN_RAW)
- isotpserver : IP server for simple TCP/IP <-> ISO 15765-2 bridging (ASCII HEX)
- isotpperf : ISO15765-2 protocol performance visualisation
- isotptun : create a bi-directional IP tunnel on CAN via ISO-TP
Log file converters
- asc2log : convert ASC logfile to compact CAN frame logfile
- log2asc : convert compact CAN frame logfile to ASC logfile
- log2long : convert compact CAN frame representation into user readable
Serial Line Discipline configuration (for slcan driver)
- slcan_attach : userspace tool for serial line CAN interface configuration
- slcand : daemon for serial line CAN interface configuration
- slcanpty : creates a pty for applications using the slcan ASCII protocol
CMake Project Generator
- Place your build folder anywhere, passing CMake the path. Relative or absolute.
- Some examples using a build folder under the source tree root:
- Android :
cmake -DCMAKE_TOOLCHAIN_FILE=~/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-21 -DANDROID_ABI=armeabi-v7a .. && make - Android Studio : Copy repo under your project's
appfolder, addadd_subdirectory(can-utils)to yourCMakeLists.txtfile aftercmake_minimum_required(). Generating project will build Debug/Release for all supported EABI types. ie. arm64-v8a, armeabi-v7a, x86, x86_64. - Raspberry Pi :
cmake -DCMAKE_TOOLCHAIN_FILE=~/rpi/tools/build/cmake/rpi.toolchain.cmake .. && make - Linux :
cmake -GNinja .. && ninja - Linux Eclipse Photon (Debug) :
CC=clang cmake -G"Eclipse CDT4 - Unix Makefiles" ../can-utils/ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ECLIPSE_VERSION=4.8.0 - To override the base installation directory use:
CMAKE_INSTALL_PREFIXie.CC=clang cmake -DCMAKE_INSTALL_PREFIX=./out .. && make install