1
#ifndef QRK_M_URG_CTRL_H
2
#define QRK_M_URG_CTRL_H
6
\brief ���j�^�Ή��� URG ����
8
\author Satofumi KAMIMURA
10
$Id: mUrgCtrl.h 1684 2010-02-10 23:56:38Z satofumi $
19
\brief ���j�^�Ή��� URG ����
21
class mUrgCtrl : public RangeSensor
24
mUrgCtrl(const mUrgCtrl& rhs);
25
mUrgCtrl& operator = (const mUrgCtrl& rhs);
28
std::auto_ptr<pImpl> pimpl;
32
\brief �I�v�V�����p�p�����[�^
35
DefaultBaudrate = 115200, //!< �ڑ����̃f�t�H���g�{�[���[�g
36
Infinity = 0, //!< ������̃f�[�^�擾
45
- Record ���[�h (-r �w��)
46
- �擾�f�[�^�����O�t�@�C���ɏ����o��
48
- Play ���[�h (-p �w��)
49
- ���O�t�@�C���̃f�[�^���擾�f�[�^�Ƃ��Ĉ���
53
// �v���O�������s���̈����� -r, -p ���w�肷�邱�Ƃœ��삪�ς��B
55
// % ./a.exe -r �f�[�^���擾���A�L�^����
56
// % ./a.exe -p �L�^�ς݂̃f�[�^���Đ�����
58
// �������A�L�^���ƍĐ����ł͓����v���O�������g�����ƁB
66
int main(int argc, char *argv[])
68
mUrgCtrl urg(argc, argv);
70
if (! urg.connect("COM4")) {
76
urg.capture(data, ×tamp);
83
explicit mUrgCtrl(int argc, char *argv[]);
86
const char* what(void) const;
88
bool connect(const char* device, long baudrate = DefaultBaudrate);
89
void setConnection(Connection* con);
90
Connection* connection(void);
91
void disconnect(void);
92
bool isConnected(void) const;
94
long minDistance(void) const;
95
long maxDistance(void) const;
96
int maxScanLines(void) const;
98
void setRetryTimes(size_t times);
100
int scanMsec(void) const;
102
void setCaptureMode(RangeCaptureMode mode);
103
RangeCaptureMode captureMode(void);
105
void setCaptureRange(int begin_index, int end_index);
106
void setCaptureFrameInterval(size_t interval);
107
void setCaptureTimes(size_t times);
108
size_t remainCaptureTimes(void);
109
void setCaptureSkipLines(size_t skip_lines);
111
int capture(std::vector<long>& data, long* timestamp = NULL);
112
int captureWithIntensity(std::vector<long>& data,
113
std::vector<long>& intensity_data,
114
long* timestamp = NULL);
117
bool setTimestamp(int ticks = 0, int* response_msec = NULL,
118
int* force_delay_msec = NULL);
120
bool setLaserOutput(bool on);
122
double index2rad(const int index) const;
123
int rad2index(const double radian) const;
125
void setParameter(const RangeSensorParameter& parameter);
126
RangeSensorParameter parameter(void) const;
127
bool loadParameter(void);
129
bool versionLines(std::vector<std::string>& lines);
136
#endif /* !QRK_M_URG_CTRL_H */