direcs
2012-09-30
|
This class handles all the low level laser stuff for the old laser scanners. More...
#include <laser.h>
Classes | |
struct | direcs_laser_laser_config_t |
struct | direcs_param_t |
struct | laser_device_t |
struct | laser_settings_t |
struct | sick_laser_t |
Public Types | |
enum | direcs_laser_laser_type_t { SICK_LMS = 0, SICK_PLS = 1, HOKUYO_URG = 2, SIMULATED_LASER = 3, UMKNOWN_PROXIMITY_SENSOR = 99 } |
enum | direcs_laser_remission_type_t { REMISSION_NONE = 0, REMISSION_DIRECT = 1, REMISSION_NORMALIZED = 2 } |
typedef void(* | direcs_param_change_handler_t )(char *module, char *variable, char *value) |
typedef struct Laser::direcs_param_t * | direcs_param_p |
typedef char | direcs_param_type_t |
For the direcs laserThread. | |
typedef struct Laser::laser_device_t * | laser_device_p |
enum | laser_model_t { PLS, LMS } |
enum | parity_t { N, E, O } |
enum | range_dist_t { SICK_RANGE80M, SICK_RANGE160M, SICK_RANGE320M, SICK_REMISSION_NORM, SICK_REMISSION_DIRECT } |
enum | range_res_t { CM, MM, DM } |
typedef struct Laser::sick_laser_t * | sick_laser_p |
Signals | |
void | message (QString text) |
Public Member Functions | |
void | check_parameter_settings (sick_laser_p laser) |
double | direcs_degrees_to_radians (double theta) |
double | direcs_get_time (void) |
int | direcs_laser_run (void) |
void | direcs_laser_shutdown (int x) |
int | direcs_laser_start (short int laserScanner) |
double | direcs_radians_to_degrees (double theta) |
float | getLaserDistance (int laser, int angle) |
int | getLaserNumReadings (int laser) |
void | interpret_params (sick_laser_p laser, QString dev, QString type, double res, QString rem, double fov) |
Laser () | |
void | read_parameters (short int laserScanner) |
void | set_default_parameters (sick_laser_p laser, int laser_num) |
void | set_laser_config_structure (sick_laser_p laser, direcs_laser_laser_config_t *config) |
void | setDevicePort (short int laser, QString serialPort) |
void | shutdown_laser (int x) |
int | sick_connect_device (sick_laser_p laser) |
void | sick_handle_laser (sick_laser_p laser) |
int | sick_start_laser (sick_laser_p laser) |
void | sick_stop_laser (sick_laser_p laser) |
~Laser () |
Public Attributes | |
sick_laser_t * | laser1 |
direcs_laser_laser_config_t * | laser1_config |
sick_laser_t * | laser2 |
direcs_laser_laser_config_t * | laser2_config |
sick_laser_t * | laser3 |
direcs_laser_laser_config_t * | laser3_config |
sick_laser_t * | laser4 |
direcs_laser_laser_config_t * | laser4_config |
sick_laser_t * | laser5 |
direcs_laser_laser_config_t * | laser5_config |
QString | laserSerialPort1 |
QString | laserSerialPort2 |
QString | laserSerialPort3 |
QString | laserSerialPort4 |
QString | laserSerialPort5 |
int | quit_signal |
int | use_laser1 |
int | use_laser2 |
int | use_laser3 |
int | use_laser4 |
int | use_laser5 |
Static Public Attributes | |
static const short int | LASER1 = 1 |
static const short int | LASER2 = 2 |
For the direcs laserThread. | |
static const short int | LASER3 = 4 |
For the direcs laserThread. | |
static const short int | LASER4 = 8 |
For the direcs laserThread. | |
static const short int | LASER5 = 16 |
For the direcs laserThread. |
Private Attributes | |
DirecsSerial * | serialPort |
This class handles all the low level laser stuff for the old laser scanners.
Currently supported are SICK LMS, PLS or HOKUYO_URG.
typedef void(* Laser::direcs_param_change_handler_t)(char *module, char *variable, char *value) |
typedef struct Laser::direcs_param_t * Laser::direcs_param_p |
typedef char Laser::direcs_param_type_t |
typedef struct Laser::laser_device_t * Laser::laser_device_p |
typedef struct Laser::sick_laser_t * Laser::sick_laser_p |
enum Laser::laser_model_t |
enum Laser::parity_t |
enum Laser::range_dist_t |
enum Laser::range_res_t |
|
private |
|
private |
void Laser::check_parameter_settings | ( | sick_laser_p | laser | ) |
|
private |
|
private |
double Laser::direcs_degrees_to_radians | ( | double | theta | ) |
double Laser::direcs_get_time | ( | void | ) |
int Laser::direcs_laser_run | ( | void | ) |
void Laser::direcs_laser_shutdown | ( | int | x | ) |
int Laser::direcs_laser_start | ( | short int | laserScanner | ) |
float Laser::getLaserDistance | ( | int | laser, |
int | angle | ||
) |
void Laser::interpret_params | ( | sick_laser_p | laser, |
QString | dev, | ||
QString | type, | ||
double | res, | ||
QString | rem, | ||
double | fov | ||
) |
|
private |
|
private |
|
private |
|
signal |
Emits a info messge to a slot. This slot can be used to display a text on a splash screen, log file, to print it to a console...
void Laser::read_parameters | ( | short int | laserScanner | ) |
void Laser::set_default_parameters | ( | sick_laser_p | laser, |
int | laser_num | ||
) |
void Laser::set_laser_config_structure | ( | sick_laser_p | laser, |
direcs_laser_laser_config_t * | config | ||
) |
void Laser::setDevicePort | ( | short int | laser, |
QString | serialPort | ||
) |
void Laser::shutdown_laser | ( | int | x | ) |
|
private |
|
private |
|
private |
int Laser::sick_connect_device | ( | sick_laser_p | laser | ) |
|
private |
void Laser::sick_handle_laser | ( | sick_laser_p | laser | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
This method opens the serial port of the laser scanner, sets the serial port parameters and tries to set the latency mode, if defined
Definition at line 1018 of file laser.cpp.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
int Laser::sick_start_laser | ( | sick_laser_p | laser | ) |
|
private |
void Laser::sick_stop_laser | ( | sick_laser_p | laser | ) |
|
private |
|
private |
|
private |
sick_laser_t* Laser::laser1 |
direcs_laser_laser_config_t* Laser::laser1_config |
|
static |
sick_laser_t* Laser::laser2 |
direcs_laser_laser_config_t* Laser::laser2_config |
|
static |
sick_laser_t* Laser::laser3 |
direcs_laser_laser_config_t* Laser::laser3_config |
|
static |
sick_laser_t* Laser::laser4 |
direcs_laser_laser_config_t* Laser::laser4_config |
|
static |
sick_laser_t* Laser::laser5 |
direcs_laser_laser_config_t* Laser::laser5_config |
|
private |