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.
| Command ID | Command Name | Status |
|---|---|---|
4 |
GetValues |
✅ |
6 |
SetCurrent |
✅ |
8 |
SetRpm |
✅ |
10 |
SetHandbrake |
✅ |
34 |
ForwardCan |
✅ |
50 |
GetValuesSelective |
✅ |
Supported command replies
[!NOTE]
Many commands have no replies, so this list need not mirror the supported commands.
| Command ID | Command Name | Status |
|---|---|---|
4 |
GetValues |
✅ |
50 |
GetValuesSelective |
✅ |
Installation
Add this to your Cargo.toml:
vesc = "0.1"
Usage
let mut buf = ;
let size = encode.unwrap;
tx.write_all.unwrap;
let mut decoder = default;
let mut buf = ;
loop
License
This project is licensed under the MIT license.