15 #ifndef SICK_LMS_2XX_HH 16 #define SICK_LMS_2XX_HH 30 #define DEFAULT_SICK_LMS_2XX_SICK_BAUD (B9600) 31 #define DEFAULT_SICK_LMS_2XX_HOST_ADDRESS (0x80) 32 #define DEFAULT_SICK_LMS_2XX_SICK_ADDRESS (0x00) 33 #define DEFAULT_SICK_LMS_2XX_SICK_PASSWORD "SICK_LMS" 34 #define DEFAULT_SICK_LMS_2XX_SICK_MESSAGE_TIMEOUT (unsigned int)(1e6) 35 #define DEFAULT_SICK_LMS_2XX_SICK_SWITCH_MODE_TIMEOUT (unsigned int)(3e6) 36 #define DEFAULT_SICK_LMS_2XX_SICK_MEAN_VALUES_MESSAGE_TIMEOUT (unsigned int)(15e6) 37 #define DEFAULT_SICK_LMS_2XX_SICK_CONFIG_MESSAGE_TIMEOUT (unsigned int)(15e6) 38 #define DEFAULT_SICK_LMS_2XX_BYTE_INTERVAL (55) 39 #define DEFAULT_SICK_LMS_2XX_NUM_TRIES (3) 271 uint8_t sick_system_software_version[8];
272 uint8_t sick_prom_software_version[8];
297 uint16_t sick_pollution_vals[8];
298 uint16_t sick_pollution_calibration_vals[8];
299 uint16_t sick_reference_pollution_vals[4];
300 uint16_t sick_reference_pollution_calibration_vals[4];
511 SickLMS2xx(
const std::string sick_device_path );
521 void Uninitialize( ) throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException );
537 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException );
544 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException );
551 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException );
558 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException );
567 void SetSickAvailability( const uint8_t sick_availability_flags = SICK_FLAG_AVAILABILITY_DEFAULT )
568 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException );
575 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
578 void GetSickScan(
unsigned int * const measurement_values,
579 unsigned int & num_measurement_values,
580 unsigned int * const sick_field_a_values = NULL,
581 unsigned int * const sick_field_b_values = NULL,
582 unsigned int * const sick_field_c_values = NULL,
583 unsigned int * const sick_telegram_index = NULL,
584 unsigned int * const sick_real_time_scan_index = NULL ) throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
587 void GetSickScan(
unsigned int * const range_values,
588 unsigned int * const reflect_values,
589 unsigned int & num_range_measurements,
590 unsigned int & num_reflect_measurements,
591 unsigned int * const sick_field_a_values = NULL,
592 unsigned int * const sick_field_b_values = NULL,
593 unsigned int * const sick_field_c_values = NULL,
594 unsigned int * const sick_telegram_index = NULL,
595 unsigned int * const sick_real_time_scan_index = NULL ) throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
599 const uint16_t sick_subrange_stop_index,
600 unsigned int * const measurement_values,
601 unsigned int & num_measurement_values,
602 unsigned int * const sick_field_a_values = NULL,
603 unsigned int * const sick_field_b_values = NULL,
604 unsigned int * const sick_field_c_values = NULL,
605 unsigned int * const sick_telegram_index = NULL,
606 unsigned int * const sick_real_time_scan_index = NULL ) throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
610 unsigned int & num_measurement_values,
611 unsigned int & partial_scan_index,
612 unsigned int * const sick_field_a_values = NULL,
613 unsigned int * const sick_field_b_values = NULL,
614 unsigned int * const sick_field_c_values = NULL,
615 unsigned int * const sick_telegram_index = NULL,
616 unsigned int * const sick_real_time_scan_index = NULL ) throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
620 unsigned int * const measurement_values,
621 unsigned int & num_measurement_values,
622 unsigned int * const sick_telegram_index = NULL,
623 unsigned int * const sick_real_time_index = NULL ) throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException );
627 const uint16_t sick_subrange_start_index,
628 const uint16_t sick_subrange_stop_index,
629 unsigned int * const measurement_values,
630 unsigned int & num_measurement_values,
631 unsigned int * const sick_telegram_index = NULL,
632 unsigned int * const sick_real_time_index = NULL ) throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException );
641 void ResetSick( ) throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException );
757 void _setupConnection(const uint32_t delay ) throw( SickIOException, SickThreadException );
765 const
unsigned int timeout_value,
766 const
unsigned int num_tries ) throw( SickIOException, SickThreadException, SickTimeoutException );
771 const uint8_t reply_code,
772 const
unsigned int timeout_value,
773 const
unsigned int num_tries ) throw( SickIOException, SickThreadException, SickTimeoutException );
788 void _getSickType( ) throw( SickTimeoutException, SickIOException, SickThreadException );
791 void _getSickConfig( ) throw( SickTimeoutException, SickIOException, SickThreadException );
797 void _getSickStatus( ) throw( SickTimeoutException, SickIOException, SickThreadException );
801 uint8_t * const error_type_buffer = NULL,
802 uint8_t * const error_num_buffer = NULL ) throw( SickTimeoutException, SickIOException, SickThreadException );
806 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
810 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
814 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
818 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
822 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
826 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
830 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
834 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
838 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
842 throw( SickConfigException, SickTimeoutException, SickIOException, SickThreadException);
864 uint8_t * const field_a_values = NULL, uint8_t * const field_b_values = NULL, uint8_t * const field_c_values = NULL ) const;
996 #endif //SICK_LMS_2XX_HH
Contains some simple exception classes.
Definition of class SickLMS2xxMessage.
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 2xx laser range find...