mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-22 08:38:36 -04:00
Tools: added can_sitl.sh to make using SITL with real CAN devices easy
This commit is contained in:
parent
ffd8f3678c
commit
b6fde7ed5a
44
Tools/scripts/CAN/can_sitl.sh
Executable file
44
Tools/scripts/CAN/can_sitl.sh
Executable file
@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
# this script sets up SITL to be able to attach to real CAN devices
|
||||
# once run, you can configure SITL for CAN just like a real board, with the CAN parameters
|
||||
#
|
||||
# CAN_P1_DRIVER=1
|
||||
# CAN_D1_PROTOCOL=1
|
||||
|
||||
# once running you can also attach uavcan_gui_tool to vcan0 to monitor the CAN bus
|
||||
|
||||
[ $# -eq 1 ] || {
|
||||
echo "Usage: can_sitl.sh DEVICE"
|
||||
echo "for example can_sitl.sh /dev/serial/by-id/usb-Zubax_Robotics_Zubax_Babel_3700330018514D563935392000000000-if00"
|
||||
exit 1
|
||||
}
|
||||
|
||||
DEVPATH="$1"
|
||||
|
||||
if readlink $DEVPATH > /dev/null; then
|
||||
DEVNAME=$(basename $(readlink $DEVPATH))
|
||||
else
|
||||
DEVNAME=$(basename $DEVPATH)
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
# cleanup from a previous run
|
||||
sudo killall -9 slcand 2> /dev/null || true
|
||||
for m in slcan can-gw vcan can_raw can; do
|
||||
sudo rmmod $m 2> /dev/null || true
|
||||
done
|
||||
|
||||
sudo modprobe vcan
|
||||
sudo ip link add dev vcan0 type vcan
|
||||
sudo ip link set up vcan0
|
||||
sudo modprobe slcan
|
||||
sudo modprobe can-gw
|
||||
sudo slcan_attach -f -s8 -o "$DEVPATH"
|
||||
sudo slcand "$DEVNAME" slcan0
|
||||
sudo ifconfig slcan0 up
|
||||
sudo cangw -A -s vcan0 -d slcan0 -e
|
||||
sudo cangw -A -s slcan0 -d vcan0 -e
|
||||
|
||||
echo "slcan0 setup"
|
||||
ifconfig slcan0
|
Loading…
Reference in New Issue
Block a user