hwio_types/defs/complex/
speed_controller.rs

1use crate::defs::simple::analog::AnalogOutput;
2use crate::defs::simple::percent::PercentOutput;
3use crate::defs::zeroing::Zeroable;
4pub use measurements::AngularVelocity;
5
6/// Describes the simplest form of speed controller
7pub trait SpeedController: AnalogOutput + Zeroable + PercentOutput {
8
9    /// Set an open-loop velocity.
10    /// This will not be the real output velocity. For more precision, 
11    /// `AngularVelocityOutput` should be implemented along with a closed-loop controller.
12    fn set_open_loop_velocity(speed: &AngularVelocity);
13}