An open API service indexing awesome lists of open source software.

https://github.com/takarakasai/misa-actuator

Unified Rust motor-control interface for multiple servo families (Robstride, LK Motor, DAMIAO) over RS485 / CAN / CAN-FD — with a driver-agnostic debug TUI.
https://github.com/takarakasai/misa-actuator

actuator-tui can-bus canfd damiao motor-control qdd robotics robstride rs485 rust servo socketcan

Last synced: 16 days ago
JSON representation

Unified Rust motor-control interface for multiple servo families (Robstride, LK Motor, DAMIAO) over RS485 / CAN / CAN-FD — with a driver-agnostic debug TUI.

Awesome Lists containing this project

README

          

# misa-actuator

Common actuator-control interface for multiple servo-motor families on
multiple bus transports, plus a debug TUI.

## Workspace layout

```
crates/
├── misa-actuator/ # common Actuator trait, types, unified Error
├── misa-actuator-tui/ # ratatui-based debug TUI (driver-agnostic)
├── lkmotor-protocol/ # LK Motor V3 frame codec (no_std)
├── lkmotor-driver/ # LK Motor driver, impl Actuator
├── robstride-protocol/ # Robstride frame codec (no_std)
├── robstride-driver/ # Robstride driver, impl Actuator
└── robstride-cli/ # CLI test app for Robstride
```

## Architecture

`misa_actuator::Actuator` is the SI-unit motor-control trait that
applications speak. Each motor family has its own internal **bus** trait
(e.g. `LkBus`, `RobstrideBus`) so that the same motor protocol can run on
RS485 / SocketCAN / EtherCAT / etc. Driver structs are generic over the
bus, and the `Actuator` impl is bus-independent.

```
application / TUI ─► dyn Actuator

┌──────────────────┼──────────────────┐
│ │ │
LkMotor RobstrideMotor MyActuatorMotor
│ │ │
LkBus trait RobstrideBus trait MyActBus trait
│ │ │
(RS485 / CAN / ...) (SocketCAN / USB-CAN) (EtherCAT / CAN / ...)
```