sl-firmware e4116dffc0 feat: Remove ELRS arm requirement for autonomous operation (Issue #512)
Enable Jetson autonomous arming while keeping RC as optional override.

Changes:
- RC kill switch (CH5 OFF) now triggers emergency stop instead of disarm
  → Allows Jetson-armed robots to remain armed when RC disconnects
  → Maintains kill switch safety for emergency situations

- RC disarm only triggers on explicit CH5 falling edge (RC still alive)
  → RC disconnect doesn't disarm Jetson-controlled missions
  → RC failsafe timer (500ms) handles signal loss separately

- Jetson arming via CDC 'A' command works independently of RC state
  → Robots can operate fully autonomous without RC transmitter
  → Heartbeat timeout (500ms) prevents runaway if Jetson crashes

Safety maintained:
- Arming hold timer: 500ms (prevents accidental arm)
- Tilt limit: ±10° level required
- IMU calibration: Required before any arm attempt
- Remote E-stop: Blocks all arming
- RC failsafe: 500ms signal loss = disarm
- Jetson timeout: 500ms heartbeat = zero motors

Command protocol (unchanged):
- Jetson: A=arm, D=disarm, E=estop, Z=clear estop
- RC: CH5 switch (optional override)
- Heartbeat: H command every ≤500ms
- Drive: C<speed>,<steer> every ≤200ms

See AUTONOMOUS_ARMING.md for complete protocol and testing checklist.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-06 11:45:12 -05:00
..

SaltyBot Android/Termux Phone Node (Issue #420)

Android phone node for SaltyBot via Termux. Provides camera, GPS, IMU sensors and local OpenClaw LLM inference.

Setup

On phone (Termux):

bash termux-bootstrap.sh
mkdir -p ~/saltybot_workspace/src
cd ~/saltybot_workspace && colcon build

Running

cd ~/saltybot_workspace && source install/setup.bash
ros2 launch saltybot_phone phone_bringup.py

Topics

Topic Type Description
/phone/camera/image_raw Image Camera frames 320x240@15Hz
/phone/gps NavSatFix GPS location
/phone/imu Imu Accelerometer data
/saltybot/speech_text String Input from Jetson
/saltybot/chat_response String LLM output to Jetson

Power Management

nohup bash ~/power-management.sh > ~/power-mgmt.log 2>&1 &

Reduces CPU activity on low battery (<25%) or critical battery (<15%).

Configuration

Edit config/phone.yaml to adjust frame rates and LLM parameters.

Issue #420 Completion

Termux bootstrap Camera / GPS / IMU nodes OpenClaw chat (local LLM) WebSocket bridge to Orin Termux:Boot auto-start Power management