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)