SickToolbox::SickLD Class Reference

Provides a simple driver interface for working with the Sick LD-OEM/Sick LD-LRS long-range models via Ethernet. More...

#include <c++/drivers/ld/sickld-1.0/SickLD.hh>

Inheritance diagram for SickToolbox::SickLD:

Inheritance graph
[legend]
Collaboration diagram for SickToolbox::SickLD:

Collaboration graph
[legend]
List of all members.

Public Types

typedef SickToolbox::SickLD::sick_ld_config_global_tag sick_ld_config_global_t
 Adopt c-style convention.
typedef SickToolbox::SickLD::sick_ld_config_ethernet_tag sick_ld_config_ethernet_t
 Adopt c-style convention.
typedef SickToolbox::SickLD::sick_ld_config_sector_tag sick_ld_config_sector_t
 Adopt c-style convention.
typedef SickToolbox::SickLD::sick_ld_identity_tag sick_ld_identity_t
 Adopt c-style convention.
typedef SickToolbox::SickLD::sick_ld_sector_data_tag sick_ld_sector_data_t
 Adopt c-style convention.
typedef SickToolbox::SickLD::sick_ld_scan_profile_tag sick_ld_scan_profile_t
 Adopt c-style convention.

Public Member Functions

 SickLD (const std::string sick_ip_address=DEFAULT_SICK_IP_ADDRESS, const uint16_t sick_tcp_port=DEFAULT_SICK_TCP_PORT)
 A standard constructor.
void Initialize () throw ( SickIOException, SickThreadException, SickTimeoutException, SickErrorException )
 Initializes the driver and syncs it with Sick LD unit. Uses sector config given in flash.
void GetSickStatus (unsigned int &sick_sensor_mode, unsigned int &sick_motor_mode) throw ( SickIOException, SickTimeoutException )
 Acquires the status of the Sick from the device.
void SetSickTempScanAreas (const double *active_sector_start_angles, const double *const active_sector_stop_angles, const unsigned int num_active_sectors) throw ( SickTimeoutException, SickIOException, SickConfigException )
 Set the temporary scan areas for the Sick LD.
void SetSickTimeAbsolute (const uint16_t absolute_clock_time, uint16_t &new_sick_clock_time) throw ( SickErrorException, SickTimeoutException, SickIOException, SickConfigException )
 Set the absolute time of the Sick LD unit.
void SetSickTimeRelative (const int16_t time_delta, uint16_t &new_sick_clock_time) throw ( SickErrorException, SickTimeoutException, SickIOException, SickConfigException )
 Set the relative time of the Sick LD unit.
void GetSickTime (uint16_t &sick_time) throw ( SickIOException, SickTimeoutException, SickErrorException )
 Gets the internal clock time of the Sick LD unit.
void SetSickSignals (const uint8_t sick_signal_flags=DEFAULT_SICK_SIGNAL_SET) throw ( SickIOException, SickTimeoutException, SickErrorException )
 Sets the Sick LD signal LED's and switching outputs.
void GetSickSignals (uint8_t &sick_signal_flags) throw ( SickIOException, SickTimeoutException )
 Gets the Sick LD signal LED's and switching outputs.
void EnableNearfieldSuppression () throw ( SickErrorException, SickTimeoutException, SickIOException )
 Enables nearfield suppressive filtering.
void DisableNearfieldSuppression () throw ( SickErrorException, SickTimeoutException, SickIOException )
 Disables nearfield suppressive filtering.
void GetSickMeasurements (double *const range_measurements, unsigned int *const echo_measurements=NULL, unsigned int *const num_measurements=NULL, unsigned int *const sector_ids=NULL, unsigned int *const sector_data_offsets=NULL, double *const sector_step_angles=NULL, double *const sector_start_angles=NULL, double *const sector_stop_angles=NULL, unsigned int *const sector_start_timestamps=NULL, unsigned int *const sector_stop_timestamps=NULL) throw ( SickErrorException, SickIOException, SickTimeoutException, SickConfigException )
 Acquires measurements and corresponding sector data from the Sick LD.
void SetSickSensorID (const unsigned int sick_sensor_id) throw ( SickErrorException, SickTimeoutException, SickIOException )
 Attempts to set a new sensor ID for the device (in flash).
void SetSickMotorSpeed (const unsigned int sick_motor_speed) throw ( SickErrorException, SickTimeoutException, SickIOException )
 Attempts to set a new motor speed for the device (in flash).
void SetSickScanResolution (const double sick_step_angle) throw ( SickTimeoutException, SickIOException, SickConfigException )
 Attempts to set a new scan resolution for the device (in flash) while retaining the previously defined active scan areas.
void SetSickGlobalParamsAndScanAreas (const unsigned int sick_motor_speed, const double sick_step_angle, const double *const active_sector_start_angles, const double *const active_sector_stop_angles, const unsigned int num_active_sectors) throw ( SickTimeoutException, SickIOException, SickConfigException, SickErrorException )
 Attempts to set the scan resolution and active sectors/scan areas for the device (in flash).
void SetSickScanAreas (const double *const active_sector_start_angles, const double *const active_sector_stop_angles, const unsigned int num_active_sectors) throw ( SickTimeoutException, SickIOException, SickConfigException, SickErrorException )
 Attempts to set the active scan areas for the device (in flash).
void ResetSick (const unsigned int reset_level=SICK_WORK_SERV_RESET_INIT_CPU) throw ( SickErrorException, SickTimeoutException, SickIOException, SickConfigException )
 Resets the device according to the given reset level.
unsigned int GetSickNumActiveSectors () const
 Acquire the number of sectors that are measuring.
unsigned int GetSickSensorID () const
 Acquire the Sick LD's sensor ID.
unsigned int GetSickMotorSpeed () const
 Acquire the Sick LD's current motor speed in Hz.
double GetSickScanResolution () const
 Acquire the Sick LD's current scan resolution.
std::string GetSickIPAddress () const
 Acquire the current IP address of the Sick.
std::string GetSickSubnetMask () const
 Acquire the subnet mask for the Sick.
std::string GetSickGatewayIPAddress () const
 Acquire the IP address of the Sick gateway.
std::string GetSickPartNumber () const
 Acquire the Sick LD's part number.
std::string GetSickName () const
 Acquire the Sick LD's name.
std::string GetSickVersion () const
 Acquire the Sick LD's version number.
std::string GetSickSerialNumber () const
 Acquire the Sick LD's serial number.
std::string GetSickEDMSerialNumber () const
 Acquire the Sick LD's EDM serial number.
std::string GetSickFirmwarePartNumber () const
 Acquire the Sick LD's firmware part number.
std::string GetSickFirmwareName () const
 Acquire the Sick LD's firmware number.
std::string GetSickFirmwareVersion () const
 Acquire the Sick LD's firmware version.
std::string GetSickAppSoftwarePartNumber () const
 Acquire the Sick LD's application software part number.
std::string GetSickAppSoftwareName () const
 Acquire the Sick LD's application software name.
std::string GetSickAppSoftwareVersionNumber () const
 Acquire the Sick LD's application software version number.
std::string GetSickStatusAsString () const
 Acquire the Sick LD's status as a printable string.
std::string GetSickIdentityAsString () const
 Acquire the Sick LD's identity as a printable string.
std::string GetSickGlobalConfigAsString () const
 Acquire the Sick LD's global config as a printable string.
std::string GetSickEthernetConfigAsString () const
 Acquire the Sick LD's global config as a printable string.
std::string GetSickSectorConfigAsString () const
 Acquire the Sick LD's sector config as a printable string.
double GetSickScanArea () const
 Computes the active area over all measuring sectors.
void PrintSickStatus () const
 Print the status of the Sick LD.
void PrintSickIdentity () const
 Print the parameters comprising the Sick LD's identity.
void PrintSickGlobalConfig () const
 Print the Sick LD's global configuration.
void PrintSickEthernetConfig () const
 Print the Sick LD's Ethernet configuration.
void PrintSickSectorConfig () const
 Print the Sick LD's sector configuration.
void Uninitialize () throw ( SickIOException, SickTimeoutException, SickErrorException, SickThreadException )
 Tear down the connection between the host and the Sick LD.
 ~SickLD ()

Static Public Attributes

static const uint16_t SICK_MAX_NUM_MEASUREMENTS = 2881
 Maximum number of measurements per sector.
static const uint16_t SICK_MAX_NUM_SECTORS = 8
 Maximum number of scan sectors (NOTE: This value must be even).
static const uint16_t SICK_MAX_NUM_MEASURING_SECTORS = 4
 Maximum number of active/measuring scan sectors.
static const uint16_t SICK_MAX_SCAN_AREA = 360
 Maximum area that can be covered in a single scan (deg).
static const uint16_t SICK_MIN_MOTOR_SPEED = 5
 Minimum motor speed in Hz.
static const uint16_t SICK_MAX_MOTOR_SPEED = 20
 Maximum motor speed in Hz.
static const uint16_t SICK_MIN_VALID_SENSOR_ID = 1
 The lowest value the Sick will accept as a Sensor ID.
static const uint16_t SICK_MAX_VALID_SENSOR_ID = 254
 The largest value the Sick will accept as a Sensor ID.
static const uint16_t SICK_MAX_MEAN_PULSE_FREQUENCY = 10800
 Max mean pulse frequence of the current device configuration (in Hz) (see page 22 of the operator's manual).
static const uint16_t SICK_MAX_PULSE_FREQUENCY = 14400
 Max pulse frequency of the device (in Hz) (see page 22 of the operator's manual).
static const uint16_t SICK_NUM_TICKS_PER_MOTOR_REV = 5760
 Odometer ticks per revolution of the Sick LD scan head.
static const double SICK_MAX_SCAN_ANGULAR_RESOLUTION = 0.125
 Minimum valid separation between laser pulses in active scan ares (deg).
static const double SICK_DEGREES_PER_MOTOR_STEP = 0.0625
 Each odometer tick is equivalent to rotating the scan head this many degrees.
static const uint8_t SICK_SENSOR_MODE_IDLE = 0x01
 The Sick LD is powered but idle.
static const uint8_t SICK_SENSOR_MODE_ROTATE = 0x02
 The Sick LD prism is rotating, but laser is off.
static const uint8_t SICK_SENSOR_MODE_MEASURE = 0x03
 The Sick LD prism is rotating, and the laser is on.
static const uint8_t SICK_SENSOR_MODE_ERROR = 0x04
 The Sick LD is in error mode.
static const uint8_t SICK_SENSOR_MODE_UNKNOWN = 0xFF
 The Sick LD is in an unknown state.
static const uint8_t SICK_MOTOR_MODE_OK = 0x00
 Motor is functioning properly.
static const uint8_t SICK_MOTOR_MODE_SPIN_TOO_HIGH = 0x09
 Motor spin too low (i.e. rotational velocity too low).
static const uint8_t SICK_MOTOR_MODE_SPIN_TOO_LOW = 0x04
 Motor spin too high (i.e. rotational velocity too fast).
static const uint8_t SICK_MOTOR_MODE_ERROR = 0x0B
 Motor stops or coder error.
static const uint8_t SICK_MOTOR_MODE_UNKNOWN = 0xFF
 Motor is in an unknown state.
static const uint8_t SICK_STAT_SERV_CODE = 0x01
 Status service code.
static const uint8_t SICK_CONF_SERV_CODE = 0x02
 Configuration service code.
static const uint8_t SICK_MEAS_SERV_CODE = 0x03
 Measurement service code.
static const uint8_t SICK_WORK_SERV_CODE = 0x04
 Working service code.
static const uint8_t SICK_ROUT_SERV_CODE = 0x06
 Routing service code.
static const uint8_t SICK_FILE_SERV_CODE = 0x07
 File service code.
static const uint8_t SICK_MONR_SERV_CODE = 0x08
 Monitor service code.
static const uint8_t SICK_STAT_SERV_GET_ID = 0x01
 Request the Sick LD ID.
static const uint8_t SICK_STAT_SERV_GET_STATUS = 0x02
 Request status information.
static const uint8_t SICK_STAT_SERV_GET_SIGNAL = 0x04
 Reads the value of the switch and LED port.
static const uint8_t SICK_STAT_SERV_SET_SIGNAL = 0x05
 Sets the switches and LEDs.
static const uint8_t SICK_STAT_SERV_LD_REGISTER_APPLICATION = 0x06
 Registers the ID data for the application firmware.
static const uint8_t SICK_STAT_SERV_GET_ID_SENSOR_PART_NUM = 0x00
 Request the sensor's part number.
static const uint8_t SICK_STAT_SERV_GET_ID_SENSOR_NAME = 0x01
 Request the sensor's name.
static const uint8_t SICK_STAT_SERV_GET_ID_SENSOR_VERSION = 0x02
 Request the sensor's version.
static const uint8_t SICK_STAT_SERV_GET_ID_SENSOR_SERIAL_NUM = 0x03
 Request the sensor's serial number.
static const uint8_t SICK_STAT_SERV_GET_ID_SENSOR_EDM_SERIAL_NUM = 0x04
 Request the edm??? serial number.
static const uint8_t SICK_STAT_SERV_GET_ID_FIRMWARE_PART_NUM = 0x10
 Requess the firmware's part number.
static const uint8_t SICK_STAT_SERV_GET_ID_FIRMWARE_NAME = 0x11
 Request the firmware's name.
static const uint8_t SICK_STAT_SERV_GET_ID_FIRMWARE_VERSION = 0x12
 Request the firmware's version.
static const uint8_t SICK_STAT_SERV_GET_ID_APP_PART_NUM = 0x20
 Request the application part number.
static const uint8_t SICK_STAT_SERV_GET_ID_APP_NAME = 0x21
 Request the application name.
static const uint8_t SICK_STAT_SERV_GET_ID_APP_VERSION = 0x22
 Request the application version.
static const uint8_t SICK_CONF_SERV_SET_CONFIGURATION = 0x01
 Set the Sick LD configuration.
static const uint8_t SICK_CONF_SERV_GET_CONFIGURATION = 0x02
 Read the Sick LD configuration information.
static const uint8_t SICK_CONF_SERV_SET_TIME_ABSOLUTE = 0x03
 Set the internal clock to a timestamp value.
static const uint8_t SICK_CONF_SERV_SET_TIME_RELATIVE = 0x04
 Correct the internal clock by some value.
static const uint8_t SICK_CONF_SERV_GET_SYNC_CLOCK = 0x05
 Read the internal time of the LD-OEM/LD-LRS.
static const uint8_t SICK_CONF_SERV_SET_FILTER = 0x09
 Set the filter configuration.
static const uint8_t SICK_CONF_SERV_SET_FUNCTION = 0x0A
 Assigns a measurement function to an angle range.
static const uint8_t SICK_CONF_SERV_GET_FUNCTION = 0x0B
 Returns the configuration of the given sector.
static const uint8_t SICK_CONF_SERV_SET_FILTER_NEARFIELD = 0x01
 Code for identifying filter type: nearfield suppression.
static const uint8_t SICK_CONF_SERV_SET_FILTER_NEARFIELD_OFF = 0x00
 Used to set nearfield suppression off.
static const uint8_t SICK_CONF_SERV_SET_FILTER_NEARFIELD_ON = 0x01
 Used to set nearfield suppression on.
static const uint8_t SICK_MEAS_SERV_GET_PROFILE = 0x01
 Requests n profiles of a defined format.
static const uint8_t SICK_MEAS_SERV_CANCEL_PROFILE = 0x02
 Stops profile output.
static const uint8_t SICK_WORK_SERV_RESET = 0x01
 Sick LD enters a reset sequence.
static const uint8_t SICK_WORK_SERV_TRANS_IDLE = 0x02
 Sick LD enters IDLE mode (motor stops and laser is turned off).
static const uint8_t SICK_WORK_SERV_TRANS_ROTATE = 0x03
 Sick LD enters ROTATE mode (motor starts and rotates with a specified speed in Hz, laser is off).
static const uint8_t SICK_WORK_SERV_TRANS_MEASURE = 0x04
 Sick LD enters MEASURE mode (laser starts with next revolution).
static const uint8_t SICK_WORK_SERV_RESET_INIT_CPU = 0x00
 Sick LD does a complete reset (Reinitializes the CPU).
static const uint8_t SICK_WORK_SERV_RESET_KEEP_CPU = 0x01
 Sick LD does a partial reset (CPU is not reinitialized).
static const uint8_t SICK_WORK_SERV_RESET_HALT_APP = 0x02
 Sick LD does a minimal reset (Application is halted and device enters IDLE state).
static const uint8_t SICK_WORK_SERV_TRANS_MEASURE_RET_OK = 0x00
 Sick LD is ready to stream/obtain scan profiles.
static const uint8_t SICK_WORK_SERV_TRANS_MEASURE_RET_ERR_MAX_PULSE = 0x01
 Sick LD reports config yields a max laser pulse frequency that is too high.
static const uint8_t SICK_WORK_SERV_TRANS_MEASURE_RET_ERR_MEAN_PULSE = 0x02
 Sick LD reports config yields a max mean pulse frequency that is too high.
static const uint8_t SICK_WORK_SERV_TRANS_MEASURE_RET_ERR_SECT_BORDER = 0x03
 Sick LD reports sector borders are not configured correctly.
static const uint8_t SICK_WORK_SERV_TRANS_MEASURE_RET_ERR_SECT_BORDER_MULT = 0x04
 Sick LD reports sector borders are not a multiple of the step angle.
static const uint8_t SICK_ROUT_SERV_COM_ATTACH = 0x01
 Attach a master (host) communications interface.
static const uint8_t SICK_ROUT_SERV_COM_DETACH = 0x02
 Detach a master (host) communications interface.
static const uint8_t SICK_ROUT_SERV_COM_INITIALIZE = 0x03
 Initialize the interface (Note: using this may not be necessary for some interfaces, e.g. Ethernet).
static const uint8_t SICK_ROUT_SERV_COM_OUTPUT = 0x04
 Output data to the interface.
static const uint8_t SICK_ROUT_SERV_COM_DATA = 0x05
 Forward data received on specified interface to master interface.
static const uint8_t SICK_FILE_SERV_DIR = 0x01
 List the stored files in flash memory.
static const uint8_t SICK_FILE_SERV_SAVE = 0x02
 Saves the data into flash memory.
static const uint8_t SICK_FILE_SERV_LOAD = 0x03
 Recalls a file from the flash.
static const uint8_t SICK_FILE_SERV_DELETE = 0x04
 Deletes a file from the flash.
static const uint8_t SICK_MONR_SERV_MONITOR_RUN = 0x01
 Enable/disable monitor services.
static const uint8_t SICK_MONR_SERV_MONITOR_PROFILE_LOG = 0x02
 Enable/disable profile logging.
static const uint8_t SICK_CONF_KEY_RS232_RS422 = 0x01
 Key for configuring RS-232/RS-422.
static const uint8_t SICK_CONF_KEY_CAN = 0x02
 Key for configuring CAN.
static const uint8_t SICK_CONF_KEY_ETHERNET = 0x05
 Key for configuring Ethernet.
static const uint8_t SICK_CONF_KEY_GLOBAL = 0x10
 Key for global configuration.
static const uint8_t SICK_CONF_SECTOR_NOT_INITIALIZED = 0x00
 Sector is uninitialized.
static const uint8_t SICK_CONF_SECTOR_NO_MEASUREMENT = 0x01
 Sector has no measurements.
static const uint8_t SICK_CONF_SECTOR_RESERVED = 0x02
 Sector is reserved by Sick LD.
static const uint8_t SICK_CONF_SECTOR_NORMAL_MEASUREMENT = 0x03
 Sector is returning measurements.
static const uint8_t SICK_CONF_SECTOR_REFERENCE_MEASUREMENT = 0x04
 Sector can be used as reference measurement.
static const uint16_t SICK_SCAN_PROFILE_RANGE = 0x39FF
 Request sector scan data w/o any echo data.
static const uint16_t SICK_SCAN_PROFILE_RANGE_AND_ECHO = 0x3DFF
 Request sector scan data w/ echo data.
static const uint8_t SICK_SIGNAL_LED_YELLOW_A = 0x01
 Mask for first yellow LED.
static const uint8_t SICK_SIGNAL_LED_YELLOW_B = 0x02
 Mask for second yellow LED.
static const uint8_t SICK_SIGNAL_LED_GREEN = 0x04
 Mask for green LED.
static const uint8_t SICK_SIGNAL_LED_RED = 0x08
 Mask for red LED.
static const uint8_t SICK_SIGNAL_SWITCH_0 = 0x10
 Mask for signal switch 0.
static const uint8_t SICK_SIGNAL_SWITCH_1 = 0x20
 Mask for signal switch 1.
static const uint8_t SICK_SIGNAL_SWITCH_2 = 0x40
 Mask for signal switch 2.
static const uint8_t SICK_SIGNAL_SWITCH_3 = 0x80
 Mask for signal switch 3.

Classes

struct  sick_ld_config_ethernet_tag
 A structure to aggregate the data used to configure the Sick LD unit for Ethernet. More...
struct  sick_ld_config_global_tag
 A structure to aggregate the data used to configure the Sick LD global parameter values. More...
struct  sick_ld_config_sector_tag
 A structure to aggregate data used to define the Sick LD's sector configuration. More...
struct  sick_ld_identity_tag
 A structure to aggregate the fields that collectively define the identity of a Sick LD unit. More...
struct  sick_ld_scan_profile_tag
 A structure to aggregate the fields that collectively define the profile of a single scan acquired from the Sick LD unit. More...
struct  sick_ld_sector_data_tag
 A structure to aggregate the fields that collectively define a sector in the scan area of the Sick LD unit. More...

Detailed Description

Provides a simple driver interface for working with the Sick LD-OEM/Sick LD-LRS long-range models via Ethernet.


Member Typedef Documentation

SickToolbox::SickLD::sick_ld_config_global_t

Adopt c-style convention.

SickToolbox::SickLD::sick_ld_config_ethernet_t

Adopt c-style convention.

SickToolbox::SickLD::sick_ld_config_sector_t

Adopt c-style convention.

SickToolbox::SickLD::sick_ld_identity_t

Adopt c-style convention.

SickToolbox::SickLD::sick_ld_sector_data_t

Adopt c-style convention.

SickToolbox::SickLD::sick_ld_scan_profile_t

Adopt c-style convention.


Constructor & Destructor Documentation

SickToolbox::SickLD::SickLD ( const std::string  sick_ip_address = DEFAULT_SICK_IP_ADDRESS,
const uint16_t  sick_tcp_port = DEFAULT_SICK_TCP_PORT 
)

A standard constructor.

Primary constructor

SickToolbox::SickLD::~SickLD (  ) 

Destructor


Member Function Documentation

void SickToolbox::SickLD::Initialize (  )  throw ( SickIOException, SickThreadException, SickTimeoutException, SickErrorException )

Initializes the driver and syncs it with Sick LD unit. Uses sector config given in flash.

Initializes the Sick LD unit (use scan areas defined in flash)

void SickToolbox::SickLD::GetSickStatus ( unsigned int &  sick_sensor_mode,
unsigned int &  sick_motor_mode 
) throw ( SickIOException, SickTimeoutException )

Acquires the status of the Sick from the device.

Gets the sensor and motor mode of the unit

void SickToolbox::SickLD::SetSickTempScanAreas ( const double *  active_sector_start_angles,
const double *const   active_sector_stop_angles,
const unsigned int  num_active_sectors 
) throw ( SickTimeoutException, SickIOException, SickConfigException )

Set the temporary scan areas for the Sick LD.

Sets the temporal scan configuration (until power is cycled)

void SickToolbox::SickLD::SetSickTimeAbsolute ( const uint16_t  absolute_clock_time,
uint16_t &  new_sick_clock_time 
) throw ( SickErrorException, SickTimeoutException, SickIOException, SickConfigException )

Set the absolute time of the Sick LD unit.

Sets the internal clock of the Sick LD unit

void SickToolbox::SickLD::SetSickTimeRelative ( const int16_t  time_delta,
uint16_t &  new_sick_clock_time 
) throw ( SickErrorException, SickTimeoutException, SickIOException, SickConfigException )

Set the relative time of the Sick LD unit.

Sets the internal clock of the Sick LD using the relative given time value

void SickToolbox::SickLD::GetSickTime ( uint16_t &  sick_time  )  throw ( SickIOException, SickTimeoutException, SickErrorException )

Gets the internal clock time of the Sick LD unit.

Gets the internal clock time of the Sick LD unit

void SickToolbox::SickLD::SetSickSignals ( const uint8_t  sick_signal_flags = DEFAULT_SICK_SIGNAL_SET  )  throw ( SickIOException, SickTimeoutException, SickErrorException )

Sets the Sick LD signal LED's and switching outputs.

Sets the signal LEDs and switches

void SickToolbox::SickLD::GetSickSignals ( uint8_t &  sick_signal_flags  )  throw ( SickIOException, SickTimeoutException )

Gets the Sick LD signal LED's and switching outputs.

Query the Sick for its current signal settings

void SickToolbox::SickLD::EnableNearfieldSuppression (  )  throw ( SickErrorException, SickTimeoutException, SickIOException )

Enables nearfield suppressive filtering.

Enables nearfield suppressive filtering (in flash)

void SickToolbox::SickLD::DisableNearfieldSuppression (  )  throw ( SickErrorException, SickTimeoutException, SickIOException )

Disables nearfield suppressive filtering.

Disables nearfield suppressive filtering (in flash)

void SickToolbox::SickLD::GetSickMeasurements ( double *const  range_measurements,
unsigned int *const   echo_measurements = NULL,
unsigned int *const   num_measurements = NULL,
unsigned int *const   sector_ids = NULL,
unsigned int *const   sector_data_offsets = NULL,
double *const  sector_step_angles = NULL,
double *const  sector_start_angles = NULL,
double *const  sector_stop_angles = NULL,
unsigned int *const   sector_start_timestamps = NULL,
unsigned int *const   sector_stop_timestamps = NULL 
) throw ( SickErrorException, SickIOException, SickTimeoutException, SickConfigException )

Acquires measurements and corresponding sector data from the Sick LD.

Acquires measurements and related data for all active sectors

void SickToolbox::SickLD::SetSickSensorID ( const unsigned int  sick_sensor_id  )  throw ( SickErrorException, SickTimeoutException, SickIOException )

Attempts to set a new sensor ID for the device (in flash).

Attempts to set a new senor ID for the device (in flash)

void SickToolbox::SickLD::SetSickMotorSpeed ( const unsigned int  sick_motor_speed  )  throw ( SickErrorException, SickTimeoutException, SickIOException )

Attempts to set a new motor speed for the device (in flash).

Attempts to set a new motor speed for the device (in flash)

void SickToolbox::SickLD::SetSickScanResolution ( const double  sick_step_angle  )  throw ( SickTimeoutException, SickIOException, SickConfigException )

Attempts to set a new scan resolution for the device (in flash) while retaining the previously defined active scan areas.

Attempts to set a new scan resolution for the device (in flash)

void SickToolbox::SickLD::SetSickGlobalParamsAndScanAreas ( const unsigned int  sick_motor_speed,
const double  sick_step_angle,
const double *const   active_sector_start_angles,
const double *const   active_sector_stop_angles,
const unsigned int  num_active_sectors 
) throw ( SickTimeoutException, SickIOException, SickConfigException, SickErrorException )

Attempts to set the scan resolution and active sectors/scan areas for the device (in flash).

Attempts to set the global params and the active scan sectors for the device (in flash)

void SickToolbox::SickLD::SetSickScanAreas ( const double *const   active_sector_start_angles,
const double *const   active_sector_stop_angles,
const unsigned int  num_active_sectors 
) throw ( SickTimeoutException, SickIOException, SickConfigException, SickErrorException )

Attempts to set the active scan areas for the device (in flash).

Attempts to set the active scan sectors for the device (in flash)

void SickToolbox::SickLD::ResetSick ( const unsigned int  reset_level = SICK_WORK_SERV_RESET_INIT_CPU  )  throw ( SickErrorException, SickTimeoutException, SickIOException, SickConfigException )

Resets the device according to the given reset level.

Resets the Sick LD using the given reset level

unsigned int SickToolbox::SickLD::GetSickNumActiveSectors (  )  const

Acquire the number of sectors that are measuring.

Returns the number of active/measuring sectors

unsigned int SickToolbox::SickLD::GetSickSensorID (  )  const

Acquire the Sick LD's sensor ID.

Acquire the Sick LD's sensor ID

unsigned int SickToolbox::SickLD::GetSickMotorSpeed (  )  const

Acquire the Sick LD's current motor speed in Hz.

Acquire the Sick LD's current motor speed in Hz

double SickToolbox::SickLD::GetSickScanResolution (  )  const

Acquire the Sick LD's current scan resolution.

Acquire the Sick LD's current scan resolution

std::string SickToolbox::SickLD::GetSickIPAddress (  )  const

Acquire the current IP address of the Sick.

Acquire the current IP address of the Sick

std::string SickToolbox::SickLD::GetSickSubnetMask (  )  const

Acquire the subnet mask for the Sick.

Acquire the subnet mask for the Sick

std::string SickToolbox::SickLD::GetSickGatewayIPAddress (  )  const

Acquire the IP address of the Sick gateway.

Acquire the IP address of the Sick gateway

std::string SickToolbox::SickLD::GetSickPartNumber (  )  const

Acquire the Sick LD's part number.

Acquire the Sick LD's part number

std::string SickToolbox::SickLD::GetSickName (  )  const

Acquire the Sick LD's name.

Acquire the Sick LD's name

std::string SickToolbox::SickLD::GetSickVersion (  )  const

Acquire the Sick LD's version number.

Acquire the Sick LD's version number

std::string SickToolbox::SickLD::GetSickSerialNumber (  )  const

Acquire the Sick LD's serial number.

Acquire the Sick LD's serial number

std::string SickToolbox::SickLD::GetSickEDMSerialNumber (  )  const

Acquire the Sick LD's EDM serial number.

Acquire the Sick LD's EDM serial number

std::string SickToolbox::SickLD::GetSickFirmwarePartNumber (  )  const

Acquire the Sick LD's firmware part number.

Acquire the Sick LD's firmware part number

std::string SickToolbox::SickLD::GetSickFirmwareName (  )  const

Acquire the Sick LD's firmware number.

Acquire the Sick LD's firmware number

std::string SickToolbox::SickLD::GetSickFirmwareVersion (  )  const

Acquire the Sick LD's firmware version.

Acquire the Sick LD's firmware version

std::string SickToolbox::SickLD::GetSickAppSoftwarePartNumber (  )  const

Acquire the Sick LD's application software part number.

Acquire the Sick LD's application software part number

std::string SickToolbox::SickLD::GetSickAppSoftwareName (  )  const

Acquire the Sick LD's application software name.

Acquire the Sick LD's application software name

std::string SickToolbox::SickLD::GetSickAppSoftwareVersionNumber (  )  const

Acquire the Sick LD's application software version number.

Acquire the Sick LD's application software version number

std::string SickToolbox::SickLD::GetSickStatusAsString (  )  const

Acquire the Sick LD's status as a printable string.

Acquire the Sick LD's status as a printable string

std::string SickToolbox::SickLD::GetSickIdentityAsString (  )  const

Acquire the Sick LD's identity as a printable string.

Acquire the Sick LD's identity as a printable string

std::string SickToolbox::SickLD::GetSickGlobalConfigAsString (  )  const

Acquire the Sick LD's global config as a printable string.

Acquire the Sick LD's global config as a printable string

std::string SickToolbox::SickLD::GetSickEthernetConfigAsString (  )  const

Acquire the Sick LD's global config as a printable string.

Acquire the Sick LD's Ethernet config as a printable string

std::string SickToolbox::SickLD::GetSickSectorConfigAsString (  )  const

Acquire the Sick LD's sector config as a printable string.

Acquire the Sick LD's sector config as a printable string

double SickToolbox::SickLD::GetSickScanArea (  )  const

Computes the active area over all measuring sectors.

Acquire the total scan area (in degrees) being scanned by the Sick LD

void SickToolbox::SickLD::PrintSickStatus (  )  const

Print the status of the Sick LD.

Prints the Sick LD's status information

void SickToolbox::SickLD::PrintSickIdentity (  )  const

Print the parameters comprising the Sick LD's identity.

Prints the Sick LD's identity information

void SickToolbox::SickLD::PrintSickGlobalConfig (  )  const

Print the Sick LD's global configuration.

Prints the global configuration parameter values

void SickToolbox::SickLD::PrintSickEthernetConfig (  )  const

Print the Sick LD's Ethernet configuration.

Prints the Ethernet configuration parameter values

void SickToolbox::SickLD::PrintSickSectorConfig (  )  const

Print the Sick LD's sector configuration.

Prints the Sick Sector configuration

void SickToolbox::SickLD::Uninitialize (  )  throw ( SickIOException, SickTimeoutException, SickErrorException, SickThreadException )

Tear down the connection between the host and the Sick LD.

Uninitializes the Sick LD unit


Member Data Documentation

const uint16_t SickToolbox::SickLD::SICK_MAX_NUM_MEASUREMENTS = 2881 [static]

Maximum number of measurements per sector.

const uint16_t SickToolbox::SickLD::SICK_MAX_NUM_SECTORS = 8 [static]

Maximum number of scan sectors (NOTE: This value must be even).

const uint16_t SickToolbox::SickLD::SICK_MAX_NUM_MEASURING_SECTORS = 4 [static]

Maximum number of active/measuring scan sectors.

const uint16_t SickToolbox::SickLD::SICK_MAX_SCAN_AREA = 360 [static]

Maximum area that can be covered in a single scan (deg).

const uint16_t SickToolbox::SickLD::SICK_MIN_MOTOR_SPEED = 5 [static]

Minimum motor speed in Hz.

const uint16_t SickToolbox::SickLD::SICK_MAX_MOTOR_SPEED = 20 [static]

Maximum motor speed in Hz.

const uint16_t SickToolbox::SickLD::SICK_MIN_VALID_SENSOR_ID = 1 [static]

The lowest value the Sick will accept as a Sensor ID.

const uint16_t SickToolbox::SickLD::SICK_MAX_VALID_SENSOR_ID = 254 [static]

The largest value the Sick will accept as a Sensor ID.

const uint16_t SickToolbox::SickLD::SICK_MAX_MEAN_PULSE_FREQUENCY = 10800 [static]

Max mean pulse frequence of the current device configuration (in Hz) (see page 22 of the operator's manual).

const uint16_t SickToolbox::SickLD::SICK_MAX_PULSE_FREQUENCY = 14400 [static]

Max pulse frequency of the device (in Hz) (see page 22 of the operator's manual).

const uint16_t SickToolbox::SickLD::SICK_NUM_TICKS_PER_MOTOR_REV = 5760 [static]

Odometer ticks per revolution of the Sick LD scan head.

const double SickToolbox::SickLD::SICK_MAX_SCAN_ANGULAR_RESOLUTION = 0.125 [static]

Minimum valid separation between laser pulses in active scan ares (deg).

const double SickToolbox::SickLD::SICK_DEGREES_PER_MOTOR_STEP = 0.0625 [static]

Each odometer tick is equivalent to rotating the scan head this many degrees.

const uint8_t SickToolbox::SickLD::SICK_SENSOR_MODE_IDLE = 0x01 [static]

The Sick LD is powered but idle.

const uint8_t SickToolbox::SickLD::SICK_SENSOR_MODE_ROTATE = 0x02 [static]

The Sick LD prism is rotating, but laser is off.

const uint8_t SickToolbox::SickLD::SICK_SENSOR_MODE_MEASURE = 0x03 [static]

The Sick LD prism is rotating, and the laser is on.

const uint8_t SickToolbox::SickLD::SICK_SENSOR_MODE_ERROR = 0x04 [static]

The Sick LD is in error mode.

const uint8_t SickToolbox::SickLD::SICK_SENSOR_MODE_UNKNOWN = 0xFF [static]

The Sick LD is in an unknown state.

const uint8_t SickToolbox::SickLD::SICK_MOTOR_MODE_OK = 0x00 [static]

Motor is functioning properly.

const uint8_t SickToolbox::SickLD::SICK_MOTOR_MODE_SPIN_TOO_HIGH = 0x09 [static]

Motor spin too low (i.e. rotational velocity too low).

const uint8_t SickToolbox::SickLD::SICK_MOTOR_MODE_SPIN_TOO_LOW = 0x04 [static]

Motor spin too high (i.e. rotational velocity too fast).

const uint8_t SickToolbox::SickLD::SICK_MOTOR_MODE_ERROR = 0x0B [static]

Motor stops or coder error.

const uint8_t SickToolbox::SickLD::SICK_MOTOR_MODE_UNKNOWN = 0xFF [static]

Motor is in an unknown state.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_CODE = 0x01 [static]

Status service code.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_CODE = 0x02 [static]

Configuration service code.

const uint8_t SickToolbox::SickLD::SICK_MEAS_SERV_CODE = 0x03 [static]

Measurement service code.

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_CODE = 0x04 [static]

Working service code.

const uint8_t SickToolbox::SickLD::SICK_ROUT_SERV_CODE = 0x06 [static]

Routing service code.

const uint8_t SickToolbox::SickLD::SICK_FILE_SERV_CODE = 0x07 [static]

File service code.

const uint8_t SickToolbox::SickLD::SICK_MONR_SERV_CODE = 0x08 [static]

Monitor service code.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID = 0x01 [static]

Request the Sick LD ID.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_STATUS = 0x02 [static]

Request status information.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_SIGNAL = 0x04 [static]

Reads the value of the switch and LED port.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_SET_SIGNAL = 0x05 [static]

Sets the switches and LEDs.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_LD_REGISTER_APPLICATION = 0x06 [static]

Registers the ID data for the application firmware.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_SENSOR_PART_NUM = 0x00 [static]

Request the sensor's part number.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_SENSOR_NAME = 0x01 [static]

Request the sensor's name.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_SENSOR_VERSION = 0x02 [static]

Request the sensor's version.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_SENSOR_SERIAL_NUM = 0x03 [static]

Request the sensor's serial number.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_SENSOR_EDM_SERIAL_NUM = 0x04 [static]

Request the edm??? serial number.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_FIRMWARE_PART_NUM = 0x10 [static]

Requess the firmware's part number.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_FIRMWARE_NAME = 0x11 [static]

Request the firmware's name.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_FIRMWARE_VERSION = 0x12 [static]

Request the firmware's version.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_APP_PART_NUM = 0x20 [static]

Request the application part number.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_APP_NAME = 0x21 [static]

Request the application name.

const uint8_t SickToolbox::SickLD::SICK_STAT_SERV_GET_ID_APP_VERSION = 0x22 [static]

Request the application version.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_SET_CONFIGURATION = 0x01 [static]

Set the Sick LD configuration.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_GET_CONFIGURATION = 0x02 [static]

Read the Sick LD configuration information.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_SET_TIME_ABSOLUTE = 0x03 [static]

Set the internal clock to a timestamp value.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_SET_TIME_RELATIVE = 0x04 [static]

Correct the internal clock by some value.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_GET_SYNC_CLOCK = 0x05 [static]

Read the internal time of the LD-OEM/LD-LRS.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_SET_FILTER = 0x09 [static]

Set the filter configuration.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_SET_FUNCTION = 0x0A [static]

Assigns a measurement function to an angle range.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_GET_FUNCTION = 0x0B [static]

Returns the configuration of the given sector.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_SET_FILTER_NEARFIELD = 0x01 [static]

Code for identifying filter type: nearfield suppression.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_SET_FILTER_NEARFIELD_OFF = 0x00 [static]

Used to set nearfield suppression off.

const uint8_t SickToolbox::SickLD::SICK_CONF_SERV_SET_FILTER_NEARFIELD_ON = 0x01 [static]

Used to set nearfield suppression on.

const uint8_t SickToolbox::SickLD::SICK_MEAS_SERV_GET_PROFILE = 0x01 [static]

Requests n profiles of a defined format.

const uint8_t SickToolbox::SickLD::SICK_MEAS_SERV_CANCEL_PROFILE = 0x02 [static]

Stops profile output.

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_RESET = 0x01 [static]

Sick LD enters a reset sequence.

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_TRANS_IDLE = 0x02 [static]

Sick LD enters IDLE mode (motor stops and laser is turned off).

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_TRANS_ROTATE = 0x03 [static]

Sick LD enters ROTATE mode (motor starts and rotates with a specified speed in Hz, laser is off).

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_TRANS_MEASURE = 0x04 [static]

Sick LD enters MEASURE mode (laser starts with next revolution).

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_RESET_INIT_CPU = 0x00 [static]

Sick LD does a complete reset (Reinitializes the CPU).

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_RESET_KEEP_CPU = 0x01 [static]

Sick LD does a partial reset (CPU is not reinitialized).

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_RESET_HALT_APP = 0x02 [static]

Sick LD does a minimal reset (Application is halted and device enters IDLE state).

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_TRANS_MEASURE_RET_OK = 0x00 [static]

Sick LD is ready to stream/obtain scan profiles.

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_TRANS_MEASURE_RET_ERR_MAX_PULSE = 0x01 [static]

Sick LD reports config yields a max laser pulse frequency that is too high.

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_TRANS_MEASURE_RET_ERR_MEAN_PULSE = 0x02 [static]

Sick LD reports config yields a max mean pulse frequency that is too high.

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_TRANS_MEASURE_RET_ERR_SECT_BORDER = 0x03 [static]

Sick LD reports sector borders are not configured correctly.

const uint8_t SickToolbox::SickLD::SICK_WORK_SERV_TRANS_MEASURE_RET_ERR_SECT_BORDER_MULT = 0x04 [static]

Sick LD reports sector borders are not a multiple of the step angle.

const uint8_t SickToolbox::SickLD::SICK_ROUT_SERV_COM_ATTACH = 0x01 [static]

Attach a master (host) communications interface.

const uint8_t SickToolbox::SickLD::SICK_ROUT_SERV_COM_DETACH = 0x02 [static]

Detach a master (host) communications interface.

const uint8_t SickToolbox::SickLD::SICK_ROUT_SERV_COM_INITIALIZE = 0x03 [static]

Initialize the interface (Note: using this may not be necessary for some interfaces, e.g. Ethernet).

const uint8_t SickToolbox::SickLD::SICK_ROUT_SERV_COM_OUTPUT = 0x04 [static]

Output data to the interface.

const uint8_t SickToolbox::SickLD::SICK_ROUT_SERV_COM_DATA = 0x05 [static]

Forward data received on specified interface to master interface.

const uint8_t SickToolbox::SickLD::SICK_FILE_SERV_DIR = 0x01 [static]

List the stored files in flash memory.

const uint8_t SickToolbox::SickLD::SICK_FILE_SERV_SAVE = 0x02 [static]

Saves the data into flash memory.

const uint8_t SickToolbox::SickLD::SICK_FILE_SERV_LOAD = 0x03 [static]

Recalls a file from the flash.

const uint8_t SickToolbox::SickLD::SICK_FILE_SERV_DELETE = 0x04 [static]

Deletes a file from the flash.

const uint8_t SickToolbox::SickLD::SICK_MONR_SERV_MONITOR_RUN = 0x01 [static]

Enable/disable monitor services.

const uint8_t SickToolbox::SickLD::SICK_MONR_SERV_MONITOR_PROFILE_LOG = 0x02 [static]

Enable/disable profile logging.

const uint8_t SickToolbox::SickLD::SICK_CONF_KEY_RS232_RS422 = 0x01 [static]

Key for configuring RS-232/RS-422.

const uint8_t SickToolbox::SickLD::SICK_CONF_KEY_CAN = 0x02 [static]

Key for configuring CAN.

const uint8_t SickToolbox::SickLD::SICK_CONF_KEY_ETHERNET = 0x05 [static]

Key for configuring Ethernet.

const uint8_t SickToolbox::SickLD::SICK_CONF_KEY_GLOBAL = 0x10 [static]

Key for global configuration.

const uint8_t SickToolbox::SickLD::SICK_CONF_SECTOR_NOT_INITIALIZED = 0x00 [static]

Sector is uninitialized.

const uint8_t SickToolbox::SickLD::SICK_CONF_SECTOR_NO_MEASUREMENT = 0x01 [static]

Sector has no measurements.

const uint8_t SickToolbox::SickLD::SICK_CONF_SECTOR_RESERVED = 0x02 [static]

Sector is reserved by Sick LD.

const uint8_t SickToolbox::SickLD::SICK_CONF_SECTOR_NORMAL_MEASUREMENT = 0x03 [static]

Sector is returning measurements.

const uint8_t SickToolbox::SickLD::SICK_CONF_SECTOR_REFERENCE_MEASUREMENT = 0x04 [static]

Sector can be used as reference measurement.

const uint16_t SickToolbox::SickLD::SICK_SCAN_PROFILE_RANGE = 0x39FF [static]

Request sector scan data w/o any echo data.

const uint16_t SickToolbox::SickLD::SICK_SCAN_PROFILE_RANGE_AND_ECHO = 0x3DFF [static]

Request sector scan data w/ echo data.

const uint8_t SickToolbox::SickLD::SICK_SIGNAL_LED_YELLOW_A = 0x01 [static]

Mask for first yellow LED.

const uint8_t SickToolbox::SickLD::SICK_SIGNAL_LED_YELLOW_B = 0x02 [static]

Mask for second yellow LED.

const uint8_t SickToolbox::SickLD::SICK_SIGNAL_LED_GREEN = 0x04 [static]

Mask for green LED.

const uint8_t SickToolbox::SickLD::SICK_SIGNAL_LED_RED = 0x08 [static]

Mask for red LED.

const uint8_t SickToolbox::SickLD::SICK_SIGNAL_SWITCH_0 = 0x10 [static]

Mask for signal switch 0.

const uint8_t SickToolbox::SickLD::SICK_SIGNAL_SWITCH_1 = 0x20 [static]

Mask for signal switch 1.

const uint8_t SickToolbox::SickLD::SICK_SIGNAL_SWITCH_2 = 0x40 [static]

Mask for signal switch 2.

const uint8_t SickToolbox::SickLD::SICK_SIGNAL_SWITCH_3 = 0x80 [static]

Mask for signal switch 3.


The documentation for this class was generated from the following files:
Generated on Thu Mar 20 09:41:46 2008 for sicktoolbox-1.0 by  doxygen 1.5.1