FeedbackMotor Class Reference

Inheritance diagram for FeedbackMotor:
Inheritance graph
[legend]
Collaboration diagram for FeedbackMotor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 FeedbackMotor (bool internal_pwm, uint8_t external_speed_pin, PinName internal_speed_pin, PinName microswitch_pin, PinMode microswitch_mode=PullNone)
virtual void updateMotor ()
virtual bool setControlParameters (uint8_t length, uint8_t *data)
virtual uint8_t * readControlParameters (uint8_t &length)
virtual long readTargetPosition ()
virtual long readTargetVelocity ()
virtual void setDestination (long encoderPosition, long duration)

Protected Attributes

float dt_
float target_position_
float position_error_
float target_velocity_
float integral_error_
float p_gain_
float i_gain_
float d_gain_
float i_saturation_
float max_pwm_
float velocity_threshold_
float pwm_
bool control_enabled_

Detailed Description

Definition at line 8 of file feedback_motor.h.


Member Function Documentation

bool FeedbackMotor::setControlParameters ( uint8_t  length,
uint8_t *  data 
) [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.

Parameters:
int length The number of bytes in the data buffer
uint8_t *data The serialized parameters
Returns:
bool true if the data was deserialized successfully false otherwise

Implements Motor.

Definition at line 76 of file feedback_motor.cpp.

References Motor::update_in_progress_.

void FeedbackMotor::updateMotor (  )  [virtual]

Runs a single step of the control algorithm

Updates the PWM value for the given motor

Implements Motor.

Definition at line 27 of file feedback_motor.cpp.

References Motor::desired_distance_, Motor::desired_encoder_, Motor::desired_move_duration_, Motor::encoder_, Motor::move_duration_, and Motor::update_in_progress_.


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:43:20 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3