Expand description
A generic, no_std Rust driver for MKS SERVO42 closed-loop stepper motors.
This library provides a type-safe interface for generating the serial protocol commands used by the MKS SERVO42C firmware (V1.0+). It is transport-agnostic, meaning it generates byte buffers that you can send over any serial interface (UART, USB-Serial, etc.).
Re-exports§
pub use enums::BaudRate;pub use enums::EnLogic;pub use enums::MotorType;pub use enums::RotationDirection;pub use enums::SaveClearStatus;pub use enums::ShaftStatus;pub use enums::WorkMode;pub use enums::ZeroMode;pub use helpers::EnPinStatus;pub use helpers::EncoderValue;pub use helpers::MotorShaftAngle;pub use helpers::ShaftErrValue;pub use helpers::angle_to_steps;pub use helpers::encoder_val_to_degrees;pub use helpers::estimate_move_duration;pub use helpers::parse_en_pin_status_response;pub use helpers::parse_encoder_response;pub use helpers::parse_motor_shaft_angle_error;pub use helpers::parse_motor_shaft_angle_response;pub use helpers::parse_pulse_count_response;pub use helpers::parse_shaft_status_response;pub use helpers::parse_success_response;pub use helpers::speed_setting_to_rpm;pub use helpers::strip_leading_garbage;pub use response::InvalidResponse;pub use response::Response;
Modules§
Structs§
- Driver
- Main driver for communicating with an MKS SERVO42 motor.
Enums§
- Error
- Crate errors.
Constants§
- CURRENT_
STEP_ MA - Milliamps per unit of current limit index.
- DEFAULT_
ADDRESS - Default hardware address for MKS SERVO42 targets.
- MAX_
ADDRESS - Maximum allowed slave address.
- MAX_
CURRENT_ INDEX - Maximum index for current limit settings.
- MAX_
SPEED - Maximum speed value for move commands.
- MAX_
SUBDIVISION - Direct subdivision (microstepping) value is passed. 0 indicates 256.
- MAX_
TORQUE_ LIMIT - Maximum torque limit (0x4B0).
- MAX_
ZERO_ SPEED - Maximum speed index for return-to-zero.
- MIN_
ADDRESS - Minimum allowed slave address.