[][src]Crate pololu_smc

This crate provides a user-friendly driver for the Pololu Simple Motor Controller G2, for use on embedded hardware.

It uses traits from the embedded_hal crate in order to be independent from end user hardware. Currently only the I2C protocol is implemented.

This documentation is heavily based on the official user's guide for the controller, published by Pololu. The aim is for this documentation to contain the basic information required to use the controller, but please consult the user's guide in order to fully understand the capabilities and limitations of the hardware and the various protocols.

Example

 use pololu_smc::{SimpleMotorController, Command};

 // ...

 let mut controller = SimpleMotorController::new(interface, 0x12);

 let errors = controller.get_error_status()?;

 controller.send_command(Command::ExitSafeStart)?;
 controller.send_command(Command::MotorFwd{speed: 500})?;

Re-exports

pub use command::Command;
pub use command::FirmwareVersion;
pub use command::MotorLimitKind;
pub use command::MotorLimitResponse;
pub use variable_types::BrakeAmount;
pub use variable_types::Errors;
pub use variable_types::Limits;
pub use variable_types::ResetSource;

Modules

command

Defines types that handle sending commands to the controller.

variable_types

Defines the types that represent the values of non-trivial and non-numerical variables.

Structs

SimpleMotorController

Represents a single physical motor controller.

Enums

Channel

A channel of measurement, either RC or analog

Direction

A direction of movement