19 #ifndef LASERHOKUYO_THREAD_H
20 #define LASERHOKUYO_THREAD_H
64 HOKUYO_STATUS_ACQUISITION_COMPLETE =1,
66 HOKUYO_STATUS_ERROR_BUSY = -1,
67 HOKUYO_STATUS_ERROR_INVALID_COMMAND = -2,
68 HOKUYO_STATUS_ERROR_INVALID_CHECKSUM = -3,
69 HOKUYO_STATUS_ERROR_NOTHING_RECEIVED = -4,
70 HOKUYO_STATUS_NOT_READY = -5
113 bool close()
override;
114 bool threadInit()
override;
115 void threadRelease()
override;
121 bool getLaserMeasurement(std::vector<LaserMeasurementData> &data)
override;
122 bool getDeviceStatus (Device_status &status)
override;
123 bool getDeviceInfo (std::string &device_info)
override;
124 bool getDistanceRange (
double& min,
double& max)
override;
125 bool setDistanceRange (
double min,
double max)
override;
126 bool getScanLimits (
double& min,
double& max)
override;
127 bool setScanLimits (
double min,
double max)
override;
128 bool getHorizontalResolution (
double& step)
override;
129 bool setHorizontalResolution (
double step)
override;
130 bool getScanRate (
double& rate)
override;
131 bool setScanRate (
double rate)
override;
135 int calculateCheckSum(
const char*
buffer,
int size,
char actual_sum);
136 long decodeDataValue(
const char* data,
int data_byte);
137 int readData(
const Laser_mode_type laser_mode,
const char* text_data,
const int lext_data_len,
int current_line,
yarp::sig::Vector& values);