00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef SURVEYOR_DRIVER_H_
00023 #define SURVEYOR_DRIVER_H_
00024
00025 #include <unistd.h>
00026
00027 #include <libplayercore/playercore.h>
00028
00029 #include "surveyor_comms.h"
00030
00031 #define SRVMIN_CYCLE_TIME 200000
00032
00118 class Surveyor : public Driver
00119 {
00120 public:
00125 Surveyor(ConfigFile *cf, int section);
00126
00127
00132 int
00133 Setup();
00134
00138 int
00139 Shutdown();
00140
00148 int
00149 ProcessMessage(QueuePointer & resp_queue, player_msghdr *hdr, void *data);
00150
00151 private:
00152
00156 virtual void
00157 Main();
00158
00159 const char *portname;
00160
00161 player_devaddr_t position_addr;
00162 player_devaddr_t camera_addr;
00163 player_devaddr_t ir_addr;
00164 player_devaddr_t dio_addr;
00165
00166 srv1_comm_t *srvdev;
00167
00168 player_position2d_cmd_vel_t position_cmd;
00169 player_position2d_geom_t pos_geom;
00170
00171 int setup_image_mode;
00172 };
00173
00177 Driver*
00178 Surveyor_Init(ConfigFile *cf, int section);
00179
00186 void
00187 Surveyor_Register(DriverTable *table);
00188
00189 #endif