Skip to main content

Crate mks_servo42_rs

Crate mks_servo42_rs 

Source
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§

enums
helpers
response

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.