# kcan
Rust CAN utilities for actuator control, from Knott Dynamics.
`kcan` is a seed crate focused on command framing for robotics systems, including
actuator pipelines used in humanoid-style kinematics.
## Purpose
- Provide a tiny, dependency-free CAN frame representation.
- Offer lightweight actuator command helpers for position/velocity/torque flows.
- Include a small mailbox queue for test-friendly command/message scheduling.
## Install
```bash
cargo add kcan
```
## Usage
```rust
use kcan::{KCanActuatorCommand, KCanMailbox};
let mut bus = KCanMailbox::new();
bus.send_command(KCanActuatorCommand::position(0x01, 1024));
let raw = bus.pop_outbound().expect("outbound frame");
println!("send id=0x{:x}, dlc={}", raw.id(), raw.dlc());
```
## License
MIT OR Apache-2.0