21 #define DEFAULT_SICK_IP_ADDRESS                          "192.168.1.10"      22 #define DEFAULT_SICK_TCP_PORT                                   (49152)      23 #define DEFAULT_SICK_MESSAGE_TIMEOUT                (unsigned int)(5e6)      24 #define DEFAULT_SICK_CONNECT_TIMEOUT                (unsigned int)(1e6)      25 #define DEFAULT_SICK_NUM_SCAN_PROFILES                              (0)      26 #define DEFAULT_SICK_SIGNAL_SET                                     (0)      32 #define SWAP_VALUES(x,y,t) (t=x,x=y,y=t);    38 #include <arpa/inet.h>   278       uint16_t sick_ip_address[4];                                                        
   279       uint16_t sick_subnet_mask[4];                                                       
   280       uint16_t sick_gateway_ip_address[4];                                                
   376     void GetSickStatus( 
unsigned int &sick_sensor_mode, 
unsigned int &sick_motor_mode )
   377       throw( SickIOException, SickTimeoutException );
   380     void SetSickTempScanAreas( const 
double * active_sector_start_angles, const 
double * const active_sector_stop_angles,
   381                                const 
unsigned int num_active_sectors )
   385     void SetSickTimeAbsolute( const uint16_t absolute_clock_time, uint16_t &new_sick_clock_time )
   386       throw( SickErrorException, SickTimeoutException, SickIOException, SickConfigException );
   390       throw( SickErrorException, SickTimeoutException, SickIOException, SickConfigException );
   394       throw( SickIOException, SickTimeoutException, SickErrorException );
   398       throw( SickIOException, SickTimeoutException, SickErrorException );
   401     void GetSickSignals( uint8_t &sick_signal_flags ) throw( SickIOException, SickTimeoutException );
   411                               unsigned int * const echo_measurements = NULL,
   412                               unsigned int * const num_measurements = NULL,
   413                               unsigned int * const sector_ids = NULL,
   414                               unsigned int * const sector_data_offsets = NULL,
   415                               double * const sector_step_angles = NULL,
   416                               double * const sector_start_angles = NULL,
   417                               double * const sector_stop_angles = NULL,
   418                               unsigned int * const sector_start_timestamps = NULL,
   419                               unsigned int * const sector_stop_timestamps = NULL )
   420       throw( SickErrorException, SickIOException, SickTimeoutException, SickConfigException );
   424       throw( SickErrorException, SickTimeoutException, SickIOException );
   428       throw( SickErrorException, SickTimeoutException, SickIOException );
   432       throw( SickTimeoutException, SickIOException, SickConfigException );
   436                                           const 
double sick_step_angle,
   437                                           const 
double * const active_sector_start_angles,
   438                                           const 
double * const active_sector_stop_angles,
   439                                           const 
unsigned int num_active_sectors )
   440       throw( SickTimeoutException, SickIOException, SickConfigException, SickErrorException );
   444                            const 
double * const active_sector_stop_angles,
   445                            const 
unsigned int num_active_sectors )
   446       throw( SickTimeoutException, SickIOException, SickConfigException, SickErrorException );
   449     void ResetSick( const 
unsigned int reset_level = SICK_WORK_SERV_RESET_INIT_CPU )
   450       throw( SickErrorException, SickTimeoutException, SickIOException, SickConfigException );
   540     void Uninitialize( ) throw( SickIOException, SickTimeoutException, SickErrorException, SickThreadException );
   587     void _syncDriverWithSick( ) throw( SickIOException, SickTimeoutException, SickErrorException );
   591                                  const 
double sector_angle_stop, const 
bool write_to_flash = false )
   592        throw( SickErrorException, SickTimeoutException, SickIOException, SickConfigException );
   595     void _getSickSectorFunction( const uint8_t sector_num, uint8_t §or_function, 
double §or_stop_angle )
   596       throw( SickErrorException, SickTimeoutException, SickIOException );
   609       throw( SickErrorException, SickTimeoutException, SickIOException );
   613       throw( SickErrorException, SickTimeoutException, SickIOException, SickConfigException );
   623       throw( SickErrorException, SickTimeoutException, SickIOException );
   629     void _getSickStatus( ) throw( SickTimeoutException, SickIOException );
   633       throw( SickErrorException, SickTimeoutException, SickIOException );
   636     void _getSickGlobalConfig( ) throw( SickErrorException, SickTimeoutException, SickIOException );
   642     void _getSickSectorConfig( ) throw( SickErrorException, SickTimeoutException, SickIOException );
   646       throw( SickTimeoutException, SickIOException );
   652     void _getSensorName( ) throw( SickTimeoutException, SickIOException );
   683                                            const 
double * const active_sector_start_angles,
   684                                            const 
double * const active_sector_stop_angles,
   685                                            const 
unsigned int num_active_sectors )
   686        throw( SickTimeoutException, SickIOException, SickConfigException, SickErrorException );
   690                                      const 
double * const active_sector_stop_angles,
   691                                      const 
unsigned int num_active_sectors )
   692       throw( SickTimeoutException, SickIOException, SickConfigException );
   695     void _setSickSectorConfig( const 
unsigned int * const sector_functions, const 
double * const sector_stop_angles,
   696                                const 
unsigned int num_sectors, const 
bool write_to_flash = false )
   697       throw( SickErrorException, SickTimeoutException, SickIOException, SickConfigException );
   701       throw( SickIOException, SickTimeoutException, SickErrorException );
   706       throw( SickIOException, SickTimeoutException );
   716                                     const 
double * const active_sector_stop_angles,
   717                                     const 
unsigned int num_active_sectors,
   718                                     const 
double sick_step_angle,
   719                                     unsigned int * const sector_functions, 
   720                                     double * const sector_stop_angles,
   721                                     unsigned int &num_sectors ) const;
   731                                        const 
double curr_angular_resolution ) const;
   735                                       const 
double curr_angular_resolution ) const;
   745                                    const 
double * const active_sector_stop_angles, const 
unsigned int num_active_sectors ) const;
   748     bool _validPulseFrequency( const 
unsigned int sick_motor_speed, const 
double sick_step_angle ) const;
   752                                const 
double * const active_sector_start_angles,
   753                                const 
double * const active_sector_stop_angles,
   754                                const 
unsigned int num_active_sectors ) const;
   757     double _computeScanArea( const 
double sick_step_angle, const 
double * const sector_start_angles,
   758                              const 
double * const sector_stop_angles, const 
unsigned int num_sectors ) const;
   761     void _sortScanAreas( 
double * const sector_start_angles, 
double * const sector_stop_angles,
   762                          const 
unsigned int num_sectors ) const;
   765     bool _validActiveSectors( const 
double * const sector_start_angles, const 
double * const sector_stop_angles,
   766                               const 
unsigned int num_active_sectors ) const;
 
Contains some simple exception classes. 
#define DEFAULT_SICK_NUM_SCAN_PROFILES
Setting this value to 0 will tell the Sick LD to stream measurements when measurement data is request...
#define DEFAULT_SICK_IP_ADDRESS
Default Sick LD INet 4 address. 
Defines the abstract parent class for defining a Sick LIDAR device driver. 
Defines a class for monitoring the receive buffer when interfacing w/ a Sick LMS LIDAR. 
#define DEFAULT_SICK_TCP_PORT
Default TCP port. 
Defines the class SickLDMessage. 
#define DEFAULT_SICK_SIGNAL_SET
Default Sick signal configuration. 
#define DEFAULT_SICK_MESSAGE_TIMEOUT
The max time to wait for a message reply (usecs)