can bus test cmd on linux

本文介绍了一种使用 FlexCAN 接口进行 CAN 通信的基本测试方法。包括设置比特率、发送接收消息、过滤数据帧及调整比特率等操作。通过实际示例演示了如何在两个 CAN 通道间进行简单的发送和接收测试。

Testing command: cansend and candump

Reference website:
http://www.imxdev.org/wiki/index.php?title=All_Boards_FlexCAN

cmd line

Type command in terminal:

# ip link set can0 type can bitrate 500000
# ip link set can1 type can bitrate 500000
# ifconfig can0 up
# ifconfig can1 up
# candump can1 & (To Enable can1 receive) 
# cansend can0 -i0x123 0xaa 0xbb 0xcc 0xdd (can0 send 0xaabbccdd with ID 0x123)
# fg
-> <0x123> [4] aa bb cc dd (received by can1)

# Other Tests
Note: Before all test, you should set up bitrate at first.
(Set bitrate when can module is down. 5000 < BRT_value < 1000000)

# ip link set can0 type can bitrate BRT_value
# ip link set can1 type can bitrate BRT_value

Simple Tx/Rx Test, All receive 
# ifconfig can0 up 
# ifconfig can1 up 
# candump can1 & 
# cansend can0 -i0x123 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 
-> <0x123> [8] 11 22 33 44 55 66 77 88 


Add Filter to candump, kill the older candump at first 
# candump can1 --filter=0x123:0x7ff & 
# cansend can0 -i0x111 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 
-> not received(filter not hit) 

# cansend can0 -i0x123 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 
-> <0x123> [8] 11 22 33 44 55 66 77 88 


Change Bitrate and send message
# ifconfig can0 down 
# ip link set can0 type can 250000
# ifconfig can0 up 
# candump can1 & 
# cansend can0 -i0x123 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 
-> not received(different bitrate) 

# ifconfig can1 down 
# ip link set can1 type can 250000 
# ifconfig can1 up 
# candump can1 & 
# cansend can0 -i0x123 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 
   <0x123> [8] 11 22 33 44 55 66 77 88 
RTR message test
# ifconfig can0 up 
# ifconfig can1 up
# candump can1 & 
# cansend can0 –i0x123 –r
-> <0x123> [0] remote request
wjs@wjs-desktop:~/Drone_Slam$ ros2 launch fishbot_grapher test_grapher_3.launch.py [INFO] [launch]: All log files can be found below /home/wjs/.ros/log/2025-07-27-21-56-35-948343-wjs-desktop-3929 [INFO] [launch]: Default logging verbosity is set to INFO pkg_share =/home/wjs/Drone_Slam/install/fishbot_grapher/share/fishbot_grapher<== model_path =/home/wjs/Drone_Slam/install/fishbot_grapher/share/fishbot_grapher/urdf/fishbot_base.urdf<== [INFO] [sllidar_node-1]: process started with pid [3930] [INFO] [wit_ros2_imu-2]: process started with pid [3932] [INFO] [test01-3]: process started with pid [3934] [INFO] [robot_state_publisher-4]: process started with pid [3936] [INFO] [cartographer_node-5]: process started with pid [3939] [INFO] [cartographer_occupancy_grid_node-6]: process started with pid [3948] [sllidar_node-1] [INFO] [1753624596.293528113] [sllidar_node]: SLLidar running on ROS2 package SLLidar.ROS2 SDK Version:1.0.1, SLLIDAR SDK Version:2.0.0 [sllidar_node-1] [INFO] [1753624596.346378641] [sllidar_node]: SLLidar S/N: 7885EC95C1EA9ED1B2E49CF4FB594571 [sllidar_node-1] [INFO] [1753624596.346608009] [sllidar_node]: Firmware Ver: 1.01 [sllidar_node-1] [INFO] [1753624596.346674323] [sllidar_node]: Hardware Rev: 18 [sllidar_node-1] [INFO] [1753624596.399133596] [sllidar_node]: SLLidar health status : 0 [sllidar_node-1] [INFO] [1753624596.399320242] [sllidar_node]: SLLidar health status : OK. [robot_state_publisher-4] [WARN] [1753624596.504253936] [robot_state_publisher]: No robot_description parameter, but command-line argument available. Assuming argument is name of URDF file. This backwards compatibility fallback will be removed in the future. [robot_state_publisher-4] [INFO] [1753624596.556528415] [robot_state_publisher]: got segment base_link [robot_state_publisher-4] [INFO] [1753624596.560108244] [robot_state_publisher]: got segment imu_link [robot_state_publisher-4] [INFO] [1753624596.564348027] [robot_state_publisher]: got segment laser_link [sllidar_node-1] [INFO] [1753624596.609412665] [sllidar_node]: current scan mode: DenseBoost, sample rate: 32 Khz, max_distance: 18.0 m, scan frequency:10.0 Hz, [cartographer_node-5] [INFO] [1753624596.693458234] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/home/wjs/Drone_Slam/install/fishbot_grapher/share/fishbot_grapher/config/test02.lua' for 'test02.lua'. [cartographer_node-5] [INFO] [1753624596.697710332] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'. [cartographer_node-5] [INFO] [1753624596.698250159] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'. [cartographer_node-5] [INFO] [1753624596.698714117] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'. [cartographer_node-5] [INFO] [1753624596.698993447] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'. [cartographer_node-5] [INFO] [1753624596.699914917] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'. [cartographer_node-5] [INFO] [1753624596.700183470] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'. [cartographer_node-5] [INFO] [1753624596.700551632] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'. [cartographer_node-5] [INFO] [1753624596.700780704] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'. [cartographer_node-5] [INFO] [1753624596.702823920] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'. [cartographer_node-5] [INFO] [1753624596.703229045] [cartographer logger]: I0727 21:56:36.000000 3939 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'. [cartographer_node-5] [INFO] [1753624596.795457981] [cartographer logger]: I0727 21:56:36.000000 3939 map_builder_bridge.cpp:136] Added trajectory with ID '0'. [test01-3] Traceback (most recent call last): [test01-3] File "/home/wjs/.local/lib/python3.10/site-packages/serial/serialposix.py", line 322, in open [test01-3] self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK) [test01-3] FileNotFoundError: [Errno 2] No such file or directory: '/dev/mcu_usb' [test01-3] [test01-3] During handling of the above exception, another exception occurred: [test01-3] [test01-3] Traceback (most recent call last): [test01-3] File "/home/wjs/Drone_Slam/install/fishbot_grapher/lib/fishbot_grapher/test01", line 33, in <module> [test01-3] sys.exit(load_entry_point('fishbot-grapher==0.0.0', 'console_scripts', 'test01')()) [test01-3] File "/home/wjs/Drone_Slam/build/fishbot_grapher/fishbot_grapher/test01.py", line 101, in main [test01-3] tf_subscriber = TFSubscriber() [test01-3] File "/home/wjs/Drone_Slam/build/fishbot_grapher/fishbot_grapher/test01.py", line 20, in __init__ [test01-3] self.ser = serial.Serial("/dev/mcu_usb", 115200) [test01-3] File "/home/wjs/.local/lib/python3.10/site-packages/serial/serialutil.py", line 244, in __init__ [test01-3] self.open() [test01-3] File "/home/wjs/.local/lib/python3.10/site-packages/serial/serialposix.py", line 325, in open [test01-3] raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg)) [test01-3] serial.serialutil.SerialException: [Errno 2] could not open port /dev/mcu_usb: [Errno 2] No such file or directory: '/dev/mcu_usb' [wit_ros2_imu-2] [INFO] [1753624598.299331361] [imu]: Serial port opening failure [ERROR] [test01-3]: process has died [pid 3934, exit code 1, cmd '/home/wjs/Drone_Slam/install/fishbot_grapher/lib/fishbot_grapher/test01 --ros-args']. ?
最新发布
07-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值