mirror of https://github.com/ArduPilot/ardupilot
40 lines
1.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
## Testing And Debugging
|
|
|
|
**Testing under SITL**
|
|
|
|
https://github.com/linux-can/can-utils contains a nice set of utility to do CAN related testings on Linux system. I used Ubuntu for this development, for Ubuntu systems you can simply download this tool using `sudo apt-get install can-utils`
|
|
|
|
Following are the common commands that can be used while testing or developing:
|
|
* Create Virtual CAN Interface:
|
|
```
|
|
sudo modprobe vcan
|
|
sudo ip link add dev vcan0 type vcan
|
|
sudo ip link set up vcan0
|
|
sudo ip link add dev vcan1 type vcan
|
|
sudo ip link set up vcan1
|
|
```
|
|
* Route one CANSocket to another
|
|
```
|
|
sudo modprobe can-gw
|
|
sudo cangw -A -s vcan0 -d vcan1 -e
|
|
sudo cangw -A -s vcan1 -d vcan0 -e
|
|
```
|
|
* Delete routes
|
|
```
|
|
sudo cangw -D -s vcan0 -d vcan1 -e
|
|
sudo cangw -D -s vcan1 -d vcan0 -e
|
|
```
|
|
* Route SLCAN to VCAN, this allows connecting CAN devices to SITL run via CAN Adapter like the one running in Ardupilot itself.
|
|
```
|
|
sudo modprobe slcan
|
|
sudo slcan_attach -f -s8 -o /dev/ttyACM0
|
|
sudo slcand ttyACM0 slcan0
|
|
sudo ifconfig slcan0 up
|
|
sudo cangw -A -s vcan0 -d slcan0 -e
|
|
sudo cangw -A -s slcan0 -d vcan0 -e
|
|
```
|
|
* Dump can messages:
|
|
```
|
|
sudo candump vcan0
|
|
```
|