urg_laser.h

00001 #include <stdio.h>
00002 #include <libplayercore/playercore.h>
00003 
00004 #define MAX_READINGS 1128
00005 
00006 typedef struct urg_laser_readings
00007 {
00008   unsigned short Readings[MAX_READINGS];
00009 } urg_laser_readings_t;
00010 
00011 class urg_laser
00012 {
00013   public:
00014         urg_laser();
00015         ~urg_laser();
00016                 
00017         int Open(const char * PortName, int use_serial, int baud);
00018         int Close();
00019         int ChangeBaud(int curr_baud, int new_baud, int timeout);
00020         int ReadUntil(int fd, unsigned char *buf, int len, int timeout);
00021                 
00022         int ReadUntil_nthOccurence(int file, int n, char c);
00023                 
00024         bool PortOpen();
00025 
00026         int GetReadings     (urg_laser_readings_t * readings, int min_i, int max_i);
00027         int GetIDInfo       ();
00028         float GetMaxRange   ();
00029         int GetSensorConfig (player_laser_config_t *cfg);
00030         int GetSCIPVersion() { return(this->SCIP_Version); }
00031         int GetNumRanges() { return(this->num_ranges); }
00032 
00033   private:
00034         int QuerySCIPVersion  ();
00035         int SCIP_Version;
00036         int num_ranges;
00037         FILE * laser_port;
00038 };

Last updated 12 September 2005 21:38:45