turret-0.1.1 is not a library.
Turret
Command-line tool for STorM32 gimbal controllers. Uses the RC Commands protocol.
Features
- CLI Mode: Direct command-line control
- Daemon Mode: Background service with Unix socket IPC and MAVLink
- Auto-detects STorM32 devices
- Set gimbal angles, pan modes, standby
- Query status and firmware info
- Structured logging with verbosity levels
- Priority-based command arbitration
Installation
Download Binary
Download the latest release from Releases for your platform.
OR:
From source
With a recent Rust installed:
Usage
CLI Mode (Direct Control)
# Basic commands (auto-detects device)
# Manual device specification
# Verbose output for debugging
# Individual axis control
# Pan mode and standby
Daemon Mode (Background Service)
# Start daemon (auto-detects device)
# Or with custom config
# Connect via Unix socket (JSON commands)
|
|
|
# MAVLink on UDP:14550 - use pymavlink or QGroundControl
# Implements Gimbal Manager protocol
Configuration (turret.yaml):
device:
path: auto
ipc:
socket_path: /tmp/turret.sock
mavlink:
enabled: true
udp_port: 14550
sysid: 1
compid: 154
Priority System: MAVLink autopilot (highest) > GCS > Unix socket > CLI (lowest)
Develop
With a recent Rust installed:
# Clone and build
Protocol
Uses STorM32 RC Commands protocol over serial (115200 baud).
Message format: [0xFA][len][cmd][payload][crc16]
Supports: version query, angle setting, status reading, pan modes.
Device Detection
Auto-detects STM32 Virtual COM Port (VID:0x0483, PID:0x5740).
Falls back to common patterns: /dev/ttyACM*, /dev/ttyUSB*, COM*
Troubleshooting
- No device found: Check USB connection and power
- Permission denied: Add user to
dialoutgroup or usesudo - Communication errors: Verify 115200 baud rate and cable quality