Files
argo/SUB Control/README.md
T

2.0 KiB

SUB Control

A lightweight Windows controller for ArduSub ROVs over USB/MAVLink.

SUB Control V2 interface in Demo mode

Quick start

Install Python 3.11+ with the Python launcher, then run:

./run.ps1

The script creates a virtual environment and installs dependencies automatically. On first launch, it also adds a SUB Control desktop shortcut. Select a COM port and Connect, or choose Demo Mode to try it without hardware. Connection settings are under •••. Click Data link for an extended connection test, or Console to open the right-side RX/TX panel. Filter routine traffic, pause the view, or expand a message for full details.

UI design rule

Keep UI changes minimal and consistent with the existing app. Do not add explanatory text. Use labels of at most two words, prefer flat rows over nested containers, and keep controls from overlapping.

Controls

  • Joystick: forward/back and turning. Vertical slider: rise/dive.
  • Keyboard: W/S forward/back, A/D or Q/E turn, R/F rise/dive.
  • Physical controller: select Joystick while disarmed. Left stick drives/turns; right stick controls rise/dive. Setup changes axes, inversion, and dead zone while disarmed.
  • Hold engage for 1.4 seconds to request arming; tap disengage to request disarming. The app waits for vehicle confirmation.
  • Movement controls ease back to neutral when released.
  • In Joystick mode the graphics show the conditioned control demand and are read-only. Center sticks after switching modes, reconnecting, or returning focus. Controller buttons do not arm the vehicle.

Includes adjustable output limit, motor setup, voltage-based battery status, an STL viewer, and session logs in logs/.

Safety

Verify motor direction, ESC settings, and vehicle failsafes before use. Remove propellers for initial bench tests and keep a physical power cutoff available. A lost connection cannot guarantee the motors stop.