A library that defines actuators and their interaction with each other.
This library is intended to define bindings that can then be implemented by device-specific library, making their components available for use by general libraries like sybot.
use syact::prelude::*;
// Position of components
const POS : PositionMM = PositionMM(10.0);
// Create a new linear_axis (implements SyncActuator as their sub-component does)
let mut linear_axis = LinearAxis::new_belt_axis(
// Some Demo-Actuator implementing (also implements SyncActuator)
DemoActuator::new(),
Millimeters(0.5) // The radius is set to 0.5, which means for each radian the motor moves, the linear_axis moves for 0.5 mm
);
linear_axis.overwrite_abs_pos(POS);
assert!((linear_axis.pos() - POS).abs() < Millimeters(0.001)); // Check with small tolerance requred for stepper motors- Basic libraries
- Advanced libraries
- sybot: Follow up library that defines robots out of traits in this library
- Device-specific libraries
- systep: Stepper motors and drivers library, implementing
embedded-hal
- systep: Stepper motors and drivers library, implementing
If you encounter any issues or if you have any request for new features, feel free to create an issue at the GitHub repo.