


Public Member Functions | |
| virtual bool | setControlParameters (uint8_t length, uint8_t *data)=0 |
| virtual uint8_t * | readControlParameters (uint8_t &length)=0 |
| virtual long | readTargetPosition ()=0 |
| virtual long | readTargetVelocity ()=0 |
| virtual void | updateMotor ()=0 |
| uint8_t | readMicroswitch () |
| long | readEncoder () |
| float | readPWMDuty () |
| void | setEncoder (long position) |
| virtual void | setDestination (long encoderPosition, long duration) |
| void | setPWMDuty (float duty) |
Protected Member Functions | |
| Motor (bool internal_pwm, uint8_t external_speed_pin, PinName internal_speed_pin, PinName microswitch_pin, PinMode microswitch_mode) | |
Protected Attributes | |
| uint8_t | external_speed_pin_ |
| bool | internal_pwm_ |
| uint8_t | external_speed_ |
| PwmOut | speed_ |
| Hardware PWM controller. | |
| DigitalIn | microswitch_ |
| Microswitch input. | |
| bool | update_in_progress_ |
| long | encoder_ |
| Current encoder value. | |
| long | desired_encoder_ |
| Desired encoder value. | |
| long | desired_distance_ |
| Desired move distance. | |
| Timer | move_duration_ |
| Time since the move began. | |
| float | desired_move_duration_ |
| How long the move should take in seconds. | |
Definition at line 19 of file motor.h.
| virtual bool Motor::setControlParameters | ( | uint8_t | length, | |
| uint8_t * | data | |||
| ) | [pure virtual] |
Update the control algorithm's parameters
Takes in raw data from the serial port, checks the length, and deserializes the data. Note: it is the implementer's responsibility to deallocate the data using the delete operator.
| int | length The number of bytes in the data buffer | |
| uint8_t | *data The serialized parameters |
Implemented in FeedbackMotor.
| virtual void Motor::updateMotor | ( | ) | [pure virtual] |
Runs a single step of the control algorithm
Updates the PWM value for the given motor
Implemented in FeedbackMotor.
long Motor::desired_distance_ [protected] |
Desired move distance.
Definition at line 83 of file motor.h.
Referenced by FeedbackMotor::updateMotor().
long Motor::desired_encoder_ [protected] |
Desired encoder value.
Definition at line 81 of file motor.h.
Referenced by FeedbackMotor::updateMotor().
float Motor::desired_move_duration_ [protected] |
How long the move should take in seconds.
Definition at line 87 of file motor.h.
Referenced by FeedbackMotor::updateMotor().
long Motor::encoder_ [protected] |
Current encoder value.
Definition at line 79 of file motor.h.
Referenced by FeedbackMotor::updateMotor().
DigitalIn Motor::microswitch_ [protected] |
Timer Motor::move_duration_ [protected] |
Time since the move began.
Definition at line 85 of file motor.h.
Referenced by FeedbackMotor::updateMotor().
PwmOut Motor::speed_ [protected] |
bool Motor::update_in_progress_ [protected] |
Reports if either parameters or positions in the process of being updated over serial
Definition at line 77 of file motor.h.
Referenced by FeedbackMotor::setControlParameters(), and FeedbackMotor::updateMotor().
1.6.3