# VESC communication for Rust
A `no-std`/`no-alloc` Rust implementation of the VESC®[^1] firmware
communication protocol, making it ideal for embedded systems, robotics, and any
application that needs to communicate with VESC motor controllers.
## Supported commands
> [!NOTE]
>
> If you find a missing command, feel free to contribute! Adding a new command
> should be relatively easy. Just follow the well-established pattern.
| `GetValues` | ✅ |
| `SetCurrent` | ✅ |
| `SetRpm` | ✅ |
| `ForwardCan` | ✅ |
| `GetValuesSelective` | ✅ |
## Supported command replies
> [!NOTE]
>
> Many commands have no replies, so this list need not mirror the supported
> commands.
| `GetValues` | ✅ |
| `GetValuesSelective` | ✅ |
## Installation
Add this to your Cargo.toml:
```rust
[dependencies]
vesc = "0.1"
```
## License
This project is licensed under the [MIT license](LICENSE).