RFLEX Class Reference
Inheritance diagram for RFLEX:
Collaboration diagram for RFLEX:

List of all members.

Public Member Functions

 RFLEX (ConfigFile *cf, int section)
virtual void Main ()
 Main method for driver thread.
virtual int Subscribe (player_devaddr_t addr)
 Subscribe to this driver.
virtual int Unsubscribe (player_devaddr_t addr)
 Unsubscribe from this driver.
virtual void MainQuit ()
 Cleanup method for driver thread (called when main exits)
int ProcessMessage (QueuePointer &resp_queue, player_msghdr *hdr, void *data)
 Message handler.

Static Public Attributes

static int joy_control

Private Member Functions

void ResetRawPositions ()
int initialize_robot ()
void reset_odometry ()
void set_odometry (float, float, float)
void update_everything (player_rflex_data_t *d)
void set_config_defaults ()

Private Attributes

player_devaddr_t position_id
player_devaddr_t sonar_id
player_devaddr_t sonar_id_2
player_devaddr_t ir_id
player_devaddr_t bumper_id
player_devaddr_t power_id
player_devaddr_t aio_id
player_devaddr_t dio_id
player_position2d_cmd_vel_t command
int command_type
int position_subscriptions
int sonar_subscriptions
int ir_subscriptions
int bumper_subscriptions
int rflex_fd
char rflex_serial_port [MAX_FILENAME_SIZE]
double m_odo_x
double m_odo_y
double rad_odo_theta

Member Function Documentation

void RFLEX::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_devaddr::interf, PLAYER_AIO_DATA_STATE, PLAYER_BUMPER_DATA_STATE, PLAYER_DIO_DATA_VALUES, PLAYER_ERROR, PLAYER_IR_DATA_RANGES, PLAYER_MSG1, PLAYER_MSGTYPE_DATA, PLAYER_POSITION2D_DATA_STATE, PLAYER_POWER_DATA_STATE, PLAYER_SONAR_DATA_GEOM, PLAYER_SONAR_DATA_RANGES, player_sonar_geom::poses, player_sonar_geom::poses_count, Driver::ProcessMessages(), Driver::Publish(), player_pose3d::px, player_pose3d::py, player_pose3d::pyaw, and ThreadedDriver::Wait().

Here is the call graph for this function:

void RFLEX::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 RFLEX::ProcessMessage ( QueuePointer resp_queue,
player_msghdr hdr,
void *  data 
) [virtual]
int RFLEX::Subscribe ( player_devaddr_t  addr) [virtual]

Subscribe to this driver.

The Subscribe() and Unsubscribe() methods are used to control subscriptions to the driver; a driver MAY override them, but usually won't.

Parameters:
addrAddress of the device to subscribe to (the driver may have more than one interface).
Returns:
Returns 0 on success.

Reimplemented from Driver.

References Driver::Subscribe().

Here is the call graph for this function:

int RFLEX::Unsubscribe ( player_devaddr_t  addr) [virtual]

Unsubscribe from this driver.

The Subscribe() and Unsubscribe() methods are used to control subscriptions to the driver; a driver MAY override them, but usually won't.

Parameters:
addrAddress of the device to unsubscribe from (the driver may have more than one interface).
Returns:
Returns 0 on success.

Reimplemented from Driver.

References Driver::Unsubscribe().

Here is the call graph for this function:


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