Implements full boot-time auto-start for the SaltyBot ROS2 stack on Jetson Orin. Everything comes up automatically after power-on with correct dependency ordering and restart-on-failure for each service. New systemd services: saltybot-ros2.service full_stack.launch.py (perception + SLAM + Nav2) saltybot-esp32-serial.service ESP32-S3 BALANCE UART bridge (bd-wim1, PR #727) saltybot-here4.service Here4 DroneCAN GPS bridge (bd-p47c, PR #728) saltybot-dashboard.service Web dashboard on port 8080 Updated: saltybot.target now Wants all four new services with boot-order comments can-bringup.service bitrate 500 kbps → 1 Mbps (DroneCAN for Here4) 70-canable.rules remove bitrate from udev RUN+=; let service own the bitrate, add TAG+=systemd for device unit install_systemd.sh installs all services + udev rules, colcon build, enables mosquitto, usermod dialout full_stack.launch.py resolve 8 merge conflict markers (ESP32-S3 rename) and fix missing indent on enable_mission_logging_arg — file was un-launchable with SyntaxError New: scripts/ros2-launch.sh sources ROS2 Humble + workspace overlay, then exec ros2 launch — used by all ROS2 service units via ExecStart= udev/80-esp32.rules /dev/esp32-balance (CH343) and /dev/esp32-io (ESP32-S3 native USB CDC) Resolves bd-1hyn Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
880 B
Plaintext
24 lines
880 B
Plaintext
# CANable 2.0 USB-CAN adapter (gs_usb driver)
|
|
# Exposes the adapter as can0 via the SocketCAN subsystem.
|
|
# Issue: https://gitea.vayrette.com/seb/saltylab-firmware/issues/643
|
|
#
|
|
# Bitrate is set by can-bringup.service (1 Mbps DroneCAN for Here4 GPS, bd-p47c).
|
|
# This rule only assigns the interface name and tags it for systemd; it does NOT
|
|
# bring up the interface — that is handled by can-bringup.service.
|
|
#
|
|
# Install:
|
|
# sudo cp 70-canable.rules /etc/udev/rules.d/
|
|
# sudo udevadm control --reload && sudo udevadm trigger
|
|
#
|
|
# CANable 2.0 USB IDs (Geschwister Schneider / candleLight firmware):
|
|
# idVendor = 1d50 (OpenMoko)
|
|
# idProduct = 606f (candleLight / gs_usb)
|
|
#
|
|
# Verify with: lsusb | grep -i candl
|
|
# ip link show can0
|
|
|
|
SUBSYSTEM=="net", ACTION=="add", \
|
|
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="606f", \
|
|
NAME="can0", \
|
|
TAG+="systemd"
|