Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ClodBuster Class Reference
Inheritance diagram for ClodBuster:
ThreadedDriver Driver

Public Member Functions

 ClodBuster (ConfigFile *cf, int section)
virtual void Main ()
 Main method for driver thread.
int ProcessMessage (QueuePointer &resp_queue, player_msghdr *hdr, void *data)
 Message handler.
virtual int MainSetup ()
 Sets up the resources needed by the driver thread.
virtual void MainQuit ()
 Cleanup method for driver thread (called when main exits)
unsigned char SetServo (unsigned char chan, int value)
void SetServo (unsigned char chan, unsigned char cmd)
- Public Member Functions inherited from ThreadedDriver
 ThreadedDriver (ConfigFile *cf, int section, bool overwrite_cmds, size_t queue_maxlen, int interf)
 Constructor with implicit interface.
 ThreadedDriver (ConfigFile *cf, int section, bool overwrite_cmds=true, size_t queue_maxlen=PLAYER_MSGQUEUE_DEFAULT_MAXLEN)
 Constructor for multiple-interface drivers.
virtual ~ThreadedDriver ()
 Destructor.
virtual int Setup ()
 Initialize the driver.
virtual int Shutdown ()
 Finalize the driver.
virtual int Terminate ()
 Terminate the driver.
bool Wait (double TimeOut=0.0)
 Wait for new data to arrive on the driver's queue.
virtual void Update ()
 Update non-threaded drivers.
- Public Member Functions inherited from Driver
bool HasSubscriptions ()
virtual void Publish (player_devaddr_t addr, QueuePointer &queue, uint8_t type, uint8_t subtype, void *src=NULL, size_t deprecated=0, double *timestamp=NULL, bool copy=true)
 Publish a message via one of this driver's interfaces.
virtual void Publish (player_devaddr_t addr, uint8_t type, uint8_t subtype, void *src=NULL, size_t deprecated=0, double *timestamp=NULL, bool copy=true)
 Publish a message via one of this driver's interfaces.
virtual void Publish (QueuePointer &queue, player_msghdr_t *hdr, void *src, bool copy=true)
 Publish a message via one of this driver's interfaces.
virtual void Publish (player_msghdr_t *hdr, void *src, bool copy=true)
 Publish a message via one of this driver's interfaces.
 Driver (ConfigFile *cf, int section, bool overwrite_cmds, size_t queue_maxlen, int interf)
 Constructor for single-interface drivers.
 Driver (ConfigFile *cf, int section, bool overwrite_cmds=true, size_t queue_maxlen=PLAYER_MSGQUEUE_DEFAULT_MAXLEN)
 Constructor for multiple-interface drivers.
virtual ~Driver ()
 Destructor.
int GetError ()
 Get last error value.
virtual int Subscribe (player_devaddr_t addr)
 Subscribe to this driver.
virtual int Subscribe (QueuePointer &queue, player_devaddr_t addr)
 Subscribe to this driver.
virtual int Unsubscribe (player_devaddr_t addr)
 Unsubscribe from this driver.
virtual int Unsubscribe (QueuePointer &queue, player_devaddr_t addr)
 Unsubscribe from this driver.
void ProcessMessages (int maxmsgs)
 Process pending messages.
void ProcessMessages (void)
 Process pending messages.
virtual int ProcessInternalMessages (QueuePointer &resp_queue, player_msghdr *hdr, void *data)
 Internal message handler.
virtual bool RegisterProperty (const char *key, Property *prop, ConfigFile *cf, int section)
 Property registration.
virtual bool RegisterProperty (Property *prop, ConfigFile *cf, int section)
 Property registration.

Protected Attributes

int motor_max_speed
int motor_max_turnspeed
bool use_vel_band
short speedDemand
short turnRateDemand
bool newmotorspeed
bool newmotorturn

Private Member Functions

void ResetRawPositions ()
clodbuster_encoder_data_t ReadEncoders ()
void GetGraspBoardParams ()
void IntegrateEncoders ()
void DifferenceEncoders ()

Private Attributes

player_position2d_data_t position_data
int clodbuster_fd
char clodbuster_serial_port [MAX_FILENAME_SIZE]
int kp
int ki
int kd
bool initdone
clodbuster_encoder_data_t encoder_offset
clodbuster_encoder_data_t encoder_measurement
clodbuster_encoder_data_t old_encoder_measurement
float EncV
float EncOmega
float EncVleft
float EncVright
bool direct_command_control
unsigned char max_limits [SERVO_CHANNELS]
unsigned char center_limits [SERVO_CHANNELS]
unsigned char min_limits [SERVO_CHANNELS]
float WheelRadius
float WheelBase
float WheelSeparation
unsigned int CountsPerRev
float Kenc
float LoopFreq
PIDGainsKv
PIDGainsKw

Additional Inherited Members

- Public Attributes inherited from Driver
QueuePointer ret_queue
 Last requester's queue.
player_devaddr_t device_addr
 Default device address (single-interface drivers)
int entries
 Total number of entries in the device table using this driver.
bool alwayson
 Always on flag.
QueuePointer InQueue
 Queue for all incoming messages for this driver.
- Protected Member Functions inherited from ThreadedDriver
virtual void StartThread (void)
virtual void StopThread (void)
 Cancel (and wait for termination) of the driver thread.
void TestCancel ()
 enable thread cancellation and test for cancellation
- Static Protected Member Functions inherited from ThreadedDriver
static void * DummyMain (void *driver)
 Dummy main (just calls real main).
static void DummyMainQuit (void *driver)
 Dummy main cleanup (just calls real main cleanup).

Member Function Documentation

void ClodBuster::Main ( )
virtual

Main method for driver thread.

drivers have their own thread of execution, created using StartThread(); this is the entry point for the driver thread, and must be overloaded by all threaded drivers.

Implements ThreadedDriver.

References PLAYER_MSGTYPE_DATA, and PLAYER_POSITION2D_DATA_STATE.

void ClodBuster::MainQuit ( void  )
virtual

Cleanup method for driver thread (called when main exits)

Overload this method and to do additional cleanup when the driver thread exits.

Reimplemented from ThreadedDriver.

int ClodBuster::ProcessMessage ( QueuePointer resp_queue,
player_msghdr hdr,
void *  data 
)
virtual

The documentation for this class was generated from the following files:

Last updated 12 September 2005 21:38:45