ruby-player 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.travis.yml +5 -0
- data/Guardfile +5 -0
- data/README.md +10 -17
- data/TODO.md +1 -12
- data/examples/simple_example.rb +27 -0
- data/{spec → examples}/world/test.cfg +0 -0
- data/{spec → examples}/world/test.world +5 -5
- data/lib/ruby-player.rb +12 -5
- data/lib/ruby-player/client.rb +136 -42
- data/lib/ruby-player/common.rb +44 -7
- data/lib/ruby-player/constants.rb +584 -0
- data/lib/ruby-player/dev_addr.rb +59 -0
- data/lib/ruby-player/device.rb +60 -0
- data/lib/ruby-player/header.rb +81 -0
- data/lib/ruby-player/position2d.rb +161 -91
- data/lib/ruby-player/ranger.rb +118 -88
- data/lib/ruby-player/version.rb +1 -1
- data/ruby-player.gemspec +3 -1
- data/spec/client_spec.rb +145 -11
- data/spec/position2d_spec.rb +115 -46
- data/spec/ranger_spec.rb +132 -41
- metadata +36 -28
- data/lib/ruby-player/c_type.rb +0 -36
- data/lib/ruby-player/c_type/bbox3d_t.rb +0 -24
- data/lib/ruby-player/c_type/client_t.rb +0 -36
- data/lib/ruby-player/c_type/devaddr.rb +0 -24
- data/lib/ruby-player/c_type/device_t.rb +0 -35
- data/lib/ruby-player/c_type/diagnostic.rb +0 -22
- data/lib/ruby-player/c_type/pose3d_t.rb +0 -27
- data/lib/ruby-player/c_type/position2d_t.rb +0 -32
- data/lib/ruby-player/c_type/ranger_t.rb +0 -42
- data/lib/ruby-player/c_type/sockaddr_in_t.rb +0 -24
@@ -0,0 +1,584 @@
|
|
1
|
+
module Player
|
2
|
+
PLAYERXDR_DEVADDR_SIZE = 16
|
3
|
+
PLAYERXDR_MSGHDR_SIZE = PLAYERXDR_DEVADDR_SIZE + 24
|
4
|
+
# The player message types (see player.h)
|
5
|
+
|
6
|
+
# A data message. Such messages are asynchronously published from
|
7
|
+
# devices, and are usually used to reflect some part of the device's
|
8
|
+
|
9
|
+
PLAYER_MSGTYPE_DATA = 1
|
10
|
+
|
11
|
+
# A command message. Such messages are asynchronously published to
|
12
|
+
# devices, and are usually used to change some aspect of the device's
|
13
|
+
# state.
|
14
|
+
|
15
|
+
PLAYER_MSGTYPE_CMD = 2
|
16
|
+
|
17
|
+
# A request message. Such messages are published synchronously to
|
18
|
+
# devices, usually to get or set some aspect of the device's state that is
|
19
|
+
# not available in data or command messages. Every request message gets
|
20
|
+
# a response message (either PLAYER_MSGTYPE_RESP_ACK or
|
21
|
+
# PLAYER_MSGTYPE_RESP_NACK).
|
22
|
+
|
23
|
+
PLAYER_MSGTYPE_REQ = 3
|
24
|
+
|
25
|
+
# A positive response message. Such messages are published in response
|
26
|
+
# to a PLAYER_MSGTYPE_REQ. This message indicates that the underlying
|
27
|
+
# driver received, interpreted, and processed the request. Any requested
|
28
|
+
#data is in the body of this response message.
|
29
|
+
|
30
|
+
PLAYER_MSGTYPE_RESP_ACK = 4
|
31
|
+
|
32
|
+
# A synch message. @todo Deprecate this message type? */
|
33
|
+
PLAYER_MSGTYPE_SYNCH = 5
|
34
|
+
|
35
|
+
# A negative response message. Such messages are published in response
|
36
|
+
# to a PLAYER_MSGTYPE_REQ. This messages indicates that the underlying
|
37
|
+
# driver did not process the message. Possible causes include: the
|
38
|
+
# driver's message queue was full, the driver failed to interpret the
|
39
|
+
# request, or the driver does not support the request. This message will
|
40
|
+
#have no data in the body.
|
41
|
+
|
42
|
+
PLAYER_MSGTYPE_RESP_NACK = 6
|
43
|
+
|
44
|
+
|
45
|
+
# The request subtypes (see player.h)
|
46
|
+
|
47
|
+
PLAYER_PLAYER_REQ_DEVLIST = 1
|
48
|
+
PLAYER_PLAYER_REQ_DRIVERINFO = 2
|
49
|
+
PLAYER_PLAYER_REQ_DEV = 3
|
50
|
+
PLAYER_PLAYER_REQ_DATA = 4
|
51
|
+
PLAYER_PLAYER_REQ_DATAMODE = 5
|
52
|
+
PLAYER_PLAYER_REQ_DATAFREQ = 6
|
53
|
+
PLAYER_PLAYER_REQ_AUTH = 7
|
54
|
+
PLAYER_PLAYER_REQ_NAMESERVICE = 8
|
55
|
+
PLAYER_PLAYER_REQ_IDENT = 9
|
56
|
+
PLAYER_PLAYER_REQ_ADD_REPLACE_RULE = 10
|
57
|
+
|
58
|
+
|
59
|
+
PLAYER_NULL_CODE = 256 # /dev/null analogue
|
60
|
+
PLAYER_PLAYER_CODE = 1 # the server itself
|
61
|
+
PLAYER_POWER_CODE = 2 # power subsystem
|
62
|
+
PLAYER_GRIPPER_CODE = 3 # gripper
|
63
|
+
PLAYER_POSITION2D_CODE = 4 # device that moves
|
64
|
+
PLAYER_SONAR_CODE = 5 # Ultra-sound range-finder
|
65
|
+
PLAYER_LASER_CODE = 6 # scanning range-finder
|
66
|
+
PLAYER_BLOBFINDER_CODE = 7 # visual blobfinder
|
67
|
+
PLAYER_PTZ_CODE = 8 # pan-tilt-zoom unit
|
68
|
+
PLAYER_AUDIO_CODE = 9 # audio system
|
69
|
+
PLAYER_FIDUCIAL_CODE = 10 # fiducial detector
|
70
|
+
PLAYER_SPEECH_CODE = 12 # speech I/O
|
71
|
+
PLAYER_GPS_CODE = 13 # GPS unit
|
72
|
+
PLAYER_BUMPER_CODE = 14 # bumper array
|
73
|
+
PLAYER_TRUTH_CODE = 15 # ground-truth (Stage)
|
74
|
+
PLAYER_DIO_CODE = 20 # digital I/O
|
75
|
+
PLAYER_AIO_CODE = 21 # analog I/O
|
76
|
+
PLAYER_IR_CODE = 22 # IR array
|
77
|
+
PLAYER_WIFI_CODE = 23 # wifi card status
|
78
|
+
PLAYER_WAVEFORM_CODE = 24 # fetch raw waveforms
|
79
|
+
PLAYER_LOCALIZE_CODE = 25 # localization
|
80
|
+
PLAYER_MCOM_CODE = 26 # multicoms
|
81
|
+
PLAYER_SOUND_CODE = 27 # sound file playback
|
82
|
+
PLAYER_AUDIODSP_CODE = 28 # audio dsp I/O
|
83
|
+
PLAYER_AUDIOMIXER_CODE = 29 # audio I/O
|
84
|
+
PLAYER_POSITION3D_CODE = 30 # 3-D position
|
85
|
+
PLAYER_SIMULATION_CODE = 31 # simulators
|
86
|
+
PLAYER_SERVICE_ADV_CODE = 32 # LAN advertisement
|
87
|
+
PLAYER_BLINKENLIGHT_CODE = 33 # blinking lights
|
88
|
+
PLAYER_NOMAD_CODE = 34 # Nomad robot
|
89
|
+
PLAYER_CAMERA_CODE = 40 # camera device
|
90
|
+
PLAYER_MAP_CODE = 42 # get a map
|
91
|
+
PLAYER_PLANNER_CODE = 44 # 2D motion planner
|
92
|
+
PLAYER_LOG_CODE = 45 # log R/W control
|
93
|
+
PLAYER_ENERGY_CODE = 46 # energy charging
|
94
|
+
PLAYER_JOYSTICK_CODE = 49 # Joystick
|
95
|
+
PLAYER_SPEECH_RECOGNITION_CODE = 50 # speech I/O
|
96
|
+
PLAYER_OPAQUE_CODE = 51 # user-defined messages
|
97
|
+
PLAYER_POSITION1D_CODE = 52 # 1-D position
|
98
|
+
PLAYER_ACTARRAY_CODE = 53 # Actuators array interface
|
99
|
+
PLAYER_LIMB_CODE = 54 # Limb interface
|
100
|
+
PLAYER_GRAPHICS2D_CODE = 55 # Graphics2D interface
|
101
|
+
PLAYER_RFID_CODE = 56 # RFID reader interface
|
102
|
+
PLAYER_WSN_CODE = 57 # WSN interface
|
103
|
+
PLAYER_GRAPHICS3D_CODE = 58 # Graphics3D interface
|
104
|
+
PLAYER_HEALTH_CODE = 59 # Statgrab Health interface
|
105
|
+
PLAYER_IMU_CODE = 60 # Inertial Measurement Unit
|
106
|
+
PLAYER_POINTCLOUD3D_CODE = 61 # 3-D point cloud
|
107
|
+
PLAYER_RANGER_CODE = 62 # Generic range-finders array
|
108
|
+
PLAYER_STEREO_CODE = 65 # Stereo imagery
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
# Device access mode: open.
|
113
|
+
PLAYER_OPEN_MODE = 1
|
114
|
+
|
115
|
+
# Device access mode: close.
|
116
|
+
PLAYER_CLOSE_MODE = 2
|
117
|
+
|
118
|
+
# Device access mode: error.
|
119
|
+
PLAYER_ERROR_MODE = 3
|
120
|
+
|
121
|
+
|
122
|
+
# Data delivery modes
|
123
|
+
|
124
|
+
# Data delivery mode: Send data from all subscribed devices all the time
|
125
|
+
# (i.e. when it's ready on the server).
|
126
|
+
PLAYER_DATAMODE_PUSH = 1
|
127
|
+
|
128
|
+
# Data delivery mode: Only on request, send data from all subscribed
|
129
|
+
# devices. A PLAYER_MSGTYPE_SYNCH packet follows each set of data.
|
130
|
+
# Request should be made automatically by client libraries when they
|
131
|
+
# begin reading.
|
132
|
+
PLAYER_DATAMODE_PULL = 2
|
133
|
+
|
134
|
+
|
135
|
+
# Generic constants
|
136
|
+
|
137
|
+
# The largest possible message
|
138
|
+
PLAYER_MAX_MESSAGE_SIZE = 8388608 # 8MB
|
139
|
+
|
140
|
+
# Maximum length for a driver name
|
141
|
+
PLAYER_MAX_DRIVER_STRING_LEN = 64
|
142
|
+
|
143
|
+
# The maximum number of devices the server will support.
|
144
|
+
PLAYER_MAX_DEVICES = 10
|
145
|
+
|
146
|
+
# Default maximum length for a message queue
|
147
|
+
PLAYER_MSGQUEUE_DEFAULT_MAXLEN = 32
|
148
|
+
|
149
|
+
# Length of string that is spit back as a banner on connection
|
150
|
+
PLAYER_IDENT_STRLEN = 32
|
151
|
+
|
152
|
+
# Length of authentication
|
153
|
+
PLAYER_KEYLEN = 32
|
154
|
+
|
155
|
+
# Maximum size for request/reply.
|
156
|
+
# this is a convenience so that the PlayerQueue can used fixed size elements.
|
157
|
+
PLAYER_MAX_REQREP_SIZE = 4096 # 4KB
|
158
|
+
|
159
|
+
|
160
|
+
# Interface-specific constants
|
161
|
+
|
162
|
+
PLAYER_ACTARRAY_REQ_POWER = 1
|
163
|
+
PLAYER_ACTARRAY_REQ_BRAKES = 2
|
164
|
+
PLAYER_ACTARRAY_REQ_GET_GEOM = 3
|
165
|
+
PLAYER_ACTARRAY_REQ_SPEED = 4
|
166
|
+
PLAYER_ACTARRAY_REQ_ACCEL = 5
|
167
|
+
PLAYER_ACTARRAY_CMD_POS = 1
|
168
|
+
PLAYER_ACTARRAY_CMD_MULTI_POS = 2
|
169
|
+
PLAYER_ACTARRAY_CMD_SPEED = 3
|
170
|
+
PLAYER_ACTARRAY_CMD_MULTI_SPEED = 4
|
171
|
+
PLAYER_ACTARRAY_CMD_HOME = 5
|
172
|
+
PLAYER_ACTARRAY_CMD_CURRENT = 6
|
173
|
+
PLAYER_ACTARRAY_CMD_MULTI_CURRENT = 7
|
174
|
+
PLAYER_ACTARRAY_DATA_STATE = 1
|
175
|
+
PLAYER_ACTARRAY_ACTSTATE_IDLE = 1
|
176
|
+
PLAYER_ACTARRAY_ACTSTATE_MOVING = 2
|
177
|
+
PLAYER_ACTARRAY_ACTSTATE_BRAKED = 5
|
178
|
+
PLAYER_ACTARRAY_ACTSTATE_STALLED = 8
|
179
|
+
PLAYER_ACTARRAY_TYPE_LINEAR = 1
|
180
|
+
PLAYER_ACTARRAY_TYPE_ROTARY = 2
|
181
|
+
|
182
|
+
PLAYER_AIO_MAX_INPUTS = 8
|
183
|
+
PLAYER_AIO_MAX_OUTPUTS = 8
|
184
|
+
PLAYER_AIO_CMD_STATE = 1
|
185
|
+
PLAYER_AIO_DATA_STATE = 1
|
186
|
+
|
187
|
+
# Driver states
|
188
|
+
PLAYER_AUDIO_STATE_STOPPED = 0x00
|
189
|
+
PLAYER_AUDIO_STATE_PLAYING = 0x01
|
190
|
+
PLAYER_AUDIO_STATE_RECORDING = 0x02
|
191
|
+
|
192
|
+
# Audio formats
|
193
|
+
|
194
|
+
# Raw Audio bit flags
|
195
|
+
PLAYER_AUDIO_DESCRIPTION_BITS = 0xFF
|
196
|
+
PLAYER_AUDIO_BITS = 0x03
|
197
|
+
# 8 bit
|
198
|
+
PLAYER_AUDIO_8BIT = 0
|
199
|
+
# 16 bit
|
200
|
+
PLAYER_AUDIO_16BIT = 1
|
201
|
+
# 24 bit
|
202
|
+
PLAYER_AUDIO_24BIT = 2
|
203
|
+
# Mono
|
204
|
+
PLAYER_AUDIO_MONO = 0
|
205
|
+
# Stereo
|
206
|
+
PLAYER_AUDIO_STEREO = 4
|
207
|
+
# Frequency
|
208
|
+
PLAYER_AUDIO_FREQ = 18
|
209
|
+
PLAYER_AUDIO_FREQ_44k = 0
|
210
|
+
PLAYER_AUDIO_FREQ_11k = 8
|
211
|
+
PLAYER_AUDIO_FREQ_22k = 16
|
212
|
+
PLAYER_AUDIO_FREQ_48k = 24
|
213
|
+
|
214
|
+
# AUDIO format */
|
215
|
+
PLAYER_AUDIO_FORMAT_BITS = 0xFF00
|
216
|
+
|
217
|
+
PLAYER_AUDIO_FORMAT_NULL = 0x0000
|
218
|
+
PLAYER_AUDIO_FORMAT_RAW = 0x0100
|
219
|
+
PLAYER_AUDIO_FORMAT_MP3 = 0x0200
|
220
|
+
PLAYER_AUDIO_FORMAT_OGG = 0x0300
|
221
|
+
PLAYER_AUDIO_FORMAT_FLAC = 0x0400
|
222
|
+
PLAYER_AUDIO_FORMAT_AAC = 0x0500
|
223
|
+
|
224
|
+
|
225
|
+
PLAYER_AUDIO_DATA_WAV_REC = 1
|
226
|
+
PLAYER_AUDIO_DATA_SEQ = 2
|
227
|
+
PLAYER_AUDIO_DATA_MIXER_CHANNEL = 3
|
228
|
+
PLAYER_AUDIO_DATA_STATE = 4
|
229
|
+
PLAYER_AUDIO_CMD_WAV_PLAY = 1
|
230
|
+
PLAYER_AUDIO_CMD_WAV_STREAM_REC = 2
|
231
|
+
PLAYER_AUDIO_CMD_SAMPLE_PLAY = 3
|
232
|
+
PLAYER_AUDIO_CMD_SEQ_PLAY = 4
|
233
|
+
PLAYER_AUDIO_CMD_MIXER_CHANNEL = 5
|
234
|
+
PLAYER_AUDIO_REQ_WAV_REC = 1
|
235
|
+
PLAYER_AUDIO_REQ_SAMPLE_LOAD = 2
|
236
|
+
PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE = 3
|
237
|
+
PLAYER_AUDIO_REQ_SAMPLE_REC = 4
|
238
|
+
PLAYER_AUDIO_REQ_MIXER_CHANNEL_LIST = 5
|
239
|
+
PLAYER_AUDIO_REQ_MIXER_CHANNEL_LEVEL = 6
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
PLAYER_AUDIO_DATA_BUFFER_SIZE = 20
|
244
|
+
PLAYER_AUDIO_COMMAND_BUFFER_SIZE = 6
|
245
|
+
PLAYER_AUDIO_PAIRS = 5
|
246
|
+
|
247
|
+
PLAYER_AUDIODSP_MAX_FREQS = 8
|
248
|
+
PLAYER_AUDIODSP_MAX_BITSTRING_LEN = 64
|
249
|
+
PLAYER_AUDIODSP_SET_CONFIG = 1
|
250
|
+
PLAYER_AUDIODSP_GET_CONFIG = 2
|
251
|
+
PLAYER_AUDIODSP_PLAY_TONE = 1
|
252
|
+
PLAYER_AUDIODSP_PLAY_CHIRP = 2
|
253
|
+
PLAYER_AUDIODSP_REPLAY = 3
|
254
|
+
PLAYER_AUDIODSP_DATA_TONES = 1
|
255
|
+
|
256
|
+
PLAYER_AUDIOMIXER_SET_MASTER = 1
|
257
|
+
PLAYER_AUDIOMIXER_SET_PCM = 2
|
258
|
+
PLAYER_AUDIOMIXER_SET_LINE = 3
|
259
|
+
PLAYER_AUDIOMIXER_SET_MIC = 4
|
260
|
+
PLAYER_AUDIOMIXER_SET_IGAIN = 5
|
261
|
+
PLAYER_AUDIOMIXER_SET_OGAIN = 6
|
262
|
+
PLAYER_AUDIOMIXER_GET_LEVELS = 1
|
263
|
+
|
264
|
+
PLAYER_WAVEFORM_DATA_MAX = 4096
|
265
|
+
PLAYER_WAVEFORM_DATA_SAMPLE = 1
|
266
|
+
|
267
|
+
|
268
|
+
PLAYER_SOUND_CMD_IDX = 1
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
PLAYER_BLINKENLIGHT_DATA_STATE = 1
|
273
|
+
PLAYER_BLINKENLIGHT_CMD_STATE = 1
|
274
|
+
PLAYER_BLINKENLIGHT_CMD_POWER = 2
|
275
|
+
PLAYER_BLINKENLIGHT_CMD_COLOR = 3
|
276
|
+
PLAYER_BLINKENLIGHT_CMD_PERIOD = 4
|
277
|
+
PLAYER_BLINKENLIGHT_CMD_DUTYCYCLE = 5
|
278
|
+
|
279
|
+
PLAYER_BLOBFINDER_REQ_SET_COLOR = 1
|
280
|
+
PLAYER_BLOBFINDER_REQ_SET_IMAGER_PARAMS = 2
|
281
|
+
PLAYER_BLOBFINDER_DATA_BLOBS = 1
|
282
|
+
|
283
|
+
PLAYER_BUMPER_REQ_GET_GEOM = 1
|
284
|
+
PLAYER_BUMPER_DATA_STATE = 1
|
285
|
+
PLAYER_BUMPER_DATA_GEOM = 2
|
286
|
+
|
287
|
+
PLAYER_CAMERA_DATA_STATE = 1
|
288
|
+
PLAYER_CAMERA_REQ_GET_SOURCE = 1
|
289
|
+
PLAYER_CAMERA_REQ_SET_SOURCE = 2
|
290
|
+
PLAYER_CAMERA_REQ_GET_IMAGE = 3
|
291
|
+
PLAYER_CAMERA_FORMAT_MONO8 = 1
|
292
|
+
PLAYER_CAMERA_FORMAT_MONO16 = 2
|
293
|
+
PLAYER_CAMERA_FORMAT_RGB565 = 4
|
294
|
+
PLAYER_CAMERA_FORMAT_RGB888 = 5
|
295
|
+
PLAYER_CAMERA_COMPRESS_RAW = 0
|
296
|
+
PLAYER_CAMERA_COMPRESS_JPEG = 1
|
297
|
+
|
298
|
+
PLAYER_DIO_DATA_VALUES = 1
|
299
|
+
PLAYER_DIO_CMD_VALUES = 1
|
300
|
+
|
301
|
+
PLAYER_ENERGY_DATA_STATE = 1
|
302
|
+
PLAYER_ENERGY_SET_CHARGING_POLICY_REQ = 1
|
303
|
+
|
304
|
+
PLAYER_FIDUCIAL_MAX_SAMPLES = 32
|
305
|
+
PLAYER_FIDUCIAL_DATA_SCAN = 1
|
306
|
+
PLAYER_FIDUCIAL_REQ_GET_GEOM = 1
|
307
|
+
PLAYER_FIDUCIAL_REQ_GET_FOV = 2
|
308
|
+
PLAYER_FIDUCIAL_REQ_SET_FOV = 3
|
309
|
+
PLAYER_FIDUCIAL_REQ_GET_ID = 7
|
310
|
+
PLAYER_FIDUCIAL_REQ_SET_ID = 8
|
311
|
+
|
312
|
+
PLAYER_GPS_DATA_STATE = 1
|
313
|
+
|
314
|
+
PLAYER_GRIPPER_STATE_OPEN = 1
|
315
|
+
PLAYER_GRIPPER_STATE_CLOSED = 2
|
316
|
+
PLAYER_GRIPPER_STATE_MOVING = 3
|
317
|
+
PLAYER_GRIPPER_STATE_ERROR = 4
|
318
|
+
PLAYER_GRIPPER_DATA_STATE = 1
|
319
|
+
PLAYER_GRIPPER_REQ_GET_GEOM = 1
|
320
|
+
PLAYER_GRIPPER_CMD_OPEN = 1
|
321
|
+
PLAYER_GRIPPER_CMD_CLOSE = 2
|
322
|
+
PLAYER_GRIPPER_CMD_STOP = 3
|
323
|
+
PLAYER_GRIPPER_CMD_STORE = 4
|
324
|
+
PLAYER_GRIPPER_CMD_RETRIEVE = 5
|
325
|
+
|
326
|
+
PLAYER_IR_REQ_POSE = 1
|
327
|
+
PLAYER_IR_REQ_POWER = 2
|
328
|
+
PLAYER_IR_DATA_RANGES = 1
|
329
|
+
|
330
|
+
PLAYER_JOYSTICK_X_AXIS = 0
|
331
|
+
PLAYER_JOYSTICK_Y_AXIS = 1
|
332
|
+
PLAYER_JOYSTICK_MAX_AXES = 8
|
333
|
+
PLAYER_JOYSTICK_DATA_STATE = 1
|
334
|
+
|
335
|
+
PLAYER_LASER_MAX_SAMPLES = 1024
|
336
|
+
PLAYER_LASER_DATA_SCAN = 1
|
337
|
+
PLAYER_LASER_DATA_SCANPOSE = 2
|
338
|
+
PLAYER_LASER_REQ_GET_GEOM = 1
|
339
|
+
PLAYER_LASER_REQ_SET_CONFIG = 2
|
340
|
+
PLAYER_LASER_REQ_GET_CONFIG = 3
|
341
|
+
PLAYER_LASER_REQ_POWER = 4
|
342
|
+
|
343
|
+
PLAYER_LIMB_STATE_IDLE = 1
|
344
|
+
PLAYER_LIMB_STATE_BRAKED = 2
|
345
|
+
PLAYER_LIMB_STATE_MOVING = 3
|
346
|
+
PLAYER_LIMB_STATE_OOR = 4
|
347
|
+
PLAYER_LIMB_STATE_COLL = 5
|
348
|
+
PLAYER_LIMB_DATA_STATE = 1
|
349
|
+
PLAYER_LIMB_CMD_HOME = 1
|
350
|
+
PLAYER_LIMB_CMD_STOP = 2
|
351
|
+
PLAYER_LIMB_CMD_SETPOSE = 3
|
352
|
+
PLAYER_LIMB_CMD_SETPOSITION = 4
|
353
|
+
PLAYER_LIMB_CMD_VECMOVE = 5
|
354
|
+
PLAYER_LIMB_REQ_POWER = 1
|
355
|
+
PLAYER_LIMB_REQ_BRAKES = 2
|
356
|
+
PLAYER_LIMB_REQ_GEOM = 3
|
357
|
+
PLAYER_LIMB_REQ_SPEED = 4
|
358
|
+
|
359
|
+
PLAYER_LOCALIZE_DATA_HYPOTHS = 1
|
360
|
+
PLAYER_LOCALIZE_REQ_SET_POSE = 1
|
361
|
+
PLAYER_LOCALIZE_REQ_GET_PARTICLES = 2
|
362
|
+
PLAYER_LOG_TYPE_READ = 1
|
363
|
+
PLAYER_LOG_TYPE_WRITE = 2
|
364
|
+
PLAYER_LOG_REQ_SET_WRITE_STATE = 1
|
365
|
+
PLAYER_LOG_REQ_SET_READ_STATE = 2
|
366
|
+
PLAYER_LOG_REQ_GET_STATE = 3
|
367
|
+
PLAYER_LOG_REQ_SET_READ_REWIND = 4
|
368
|
+
PLAYER_LOG_REQ_SET_FILENAME = 5
|
369
|
+
PLAYER_MAP_DATA_INFO = 1
|
370
|
+
PLAYER_MAP_REQ_GET_INFO = 1
|
371
|
+
PLAYER_MAP_REQ_GET_DATA = 2
|
372
|
+
PLAYER_MAP_REQ_GET_VECTOR = 3
|
373
|
+
MCOM_DATA_LEN = 128
|
374
|
+
MCOM_DATA_BUFFER_SIZE = 0
|
375
|
+
MCOM_N_BUFS = 10
|
376
|
+
MCOM_CHANNEL_LEN = 8
|
377
|
+
PLAYER_MCOM_PUSH = 0
|
378
|
+
PLAYER_MCOM_POP = 1
|
379
|
+
PLAYER_MCOM_READ = 2
|
380
|
+
PLAYER_MCOM_CLEAR = 3
|
381
|
+
PLAYER_MCOM_SET_CAPACITY = 4
|
382
|
+
|
383
|
+
PLAYER_OPAQUE_DATA_STATE = 1
|
384
|
+
PLAYER_OPAQUE_CMD_DATA = 1
|
385
|
+
PLAYER_OPAQUE_REQ_DATA = 1
|
386
|
+
|
387
|
+
PLAYER_PLANNER_DATA_STATE = 1
|
388
|
+
PLAYER_PLANNER_CMD_GOAL = 1
|
389
|
+
PLAYER_PLANNER_REQ_GET_WAYPOINTS = 1
|
390
|
+
PLAYER_PLANNER_REQ_ENABLE = 2
|
391
|
+
PLAYER_POSITION1D_REQ_GET_GEOM = 1
|
392
|
+
PLAYER_POSITION1D_REQ_MOTOR_POWER = 2
|
393
|
+
PLAYER_POSITION1D_REQ_VELOCITY_MODE = 3
|
394
|
+
PLAYER_POSITION1D_REQ_POSITION_MODE = 4
|
395
|
+
PLAYER_POSITION1D_REQ_SET_ODOM = 5
|
396
|
+
PLAYER_POSITION1D_REQ_RESET_ODOM = 6
|
397
|
+
PLAYER_POSITION1D_REQ_SPEED_PID = 7
|
398
|
+
PLAYER_POSITION1D_REQ_POSITION_PID = 8
|
399
|
+
PLAYER_POSITION1D_REQ_SPEED_PROF = 9
|
400
|
+
PLAYER_POSITION1D_DATA_STATE = 1
|
401
|
+
PLAYER_POSITION1D_DATA_GEOM = 2
|
402
|
+
PLAYER_POSITION1D_CMD_VEL = 1
|
403
|
+
PLAYER_POSITION1D_CMD_POS = 2
|
404
|
+
# Status byte: limit min
|
405
|
+
PLAYER_POSITION1D_STATUS_LIMIT_MIN = 0
|
406
|
+
# Status byte: limit center
|
407
|
+
PLAYER_POSITION1D_STATUS_LIMIT_CEN = 1
|
408
|
+
# Status byte: limit max
|
409
|
+
PLAYER_POSITION1D_STATUS_LIMIT_MAX = 2
|
410
|
+
# Status byte: limit over current
|
411
|
+
PLAYER_POSITION1D_STATUS_OC = 3
|
412
|
+
# Status byte: limit trajectory complete
|
413
|
+
PLAYER_POSITION1D_STATUS_TRAJ_COMPLETE = 4
|
414
|
+
# Status byte: enabled
|
415
|
+
PLAYER_POSITION1D_STATUS_ENABLED = 5
|
416
|
+
|
417
|
+
|
418
|
+
PLAYER_POSITION2D_REQ_GET_GEOM = 1
|
419
|
+
PLAYER_POSITION2D_REQ_MOTOR_POWER = 2
|
420
|
+
PLAYER_POSITION2D_REQ_VELOCITY_MODE = 3
|
421
|
+
PLAYER_POSITION2D_REQ_POSITION_MODE = 4
|
422
|
+
PLAYER_POSITION2D_REQ_SET_ODOM = 5
|
423
|
+
PLAYER_POSITION2D_REQ_RESET_ODOM = 6
|
424
|
+
PLAYER_POSITION2D_REQ_SPEED_PID = 7
|
425
|
+
PLAYER_POSITION2D_REQ_POSITION_PID = 8
|
426
|
+
PLAYER_POSITION2D_REQ_SPEED_PROF = 9
|
427
|
+
PLAYER_POSITION2D_DATA_STATE = 1
|
428
|
+
PLAYER_POSITION2D_DATA_GEOM = 2
|
429
|
+
PLAYER_POSITION2D_CMD_VEL = 1
|
430
|
+
PLAYER_POSITION2D_CMD_POS = 2
|
431
|
+
PLAYER_POSITION2D_CMD_CAR = 3
|
432
|
+
PLAYER_POSITION2D_CMD_VEL_HEAD = 4
|
433
|
+
|
434
|
+
PLAYER_POSITION3D_DATA_STATE = 1
|
435
|
+
PLAYER_POSITION3D_DATA_GEOMETRY = 2
|
436
|
+
PLAYER_POSITION3D_CMD_SET_VEL = 1
|
437
|
+
PLAYER_POSITION3D_CMD_SET_POS = 2
|
438
|
+
PLAYER_POSITION3D_GET_GEOM = 1
|
439
|
+
PLAYER_POSITION3D_MOTOR_POWER = 2
|
440
|
+
PLAYER_POSITION3D_VELOCITY_MODE = 3
|
441
|
+
PLAYER_POSITION3D_POSITION_MODE = 4
|
442
|
+
PLAYER_POSITION3D_RESET_ODOM = 5
|
443
|
+
PLAYER_POSITION3D_SET_ODOM = 6
|
444
|
+
PLAYER_POSITION3D_SPEED_PID = 7
|
445
|
+
PLAYER_POSITION3D_POSITION_PID = 8
|
446
|
+
PLAYER_POSITION3D_SPEED_PROF = 9
|
447
|
+
|
448
|
+
PLAYER_POWER_DATA_STATE = 1
|
449
|
+
PLAYER_POWER_SET_CHARGING_POLICY_REQ = 1
|
450
|
+
PLAYER_POWER_MASK_VOLTS = 1
|
451
|
+
PLAYER_POWER_MASK_WATTS = 2
|
452
|
+
PLAYER_POWER_MASK_JOULES = 4
|
453
|
+
PLAYER_POWER_MASK_PERCENT = 8
|
454
|
+
PLAYER_POWER_MASK_CHARGING = 16
|
455
|
+
|
456
|
+
PLAYER_PTZ_MAX_CONFIG_LEN = 32
|
457
|
+
PLAYER_PTZ_VELOCITY_CONTROL = 0
|
458
|
+
PLAYER_PTZ_POSITION_CONTROL = 1
|
459
|
+
PLAYER_PTZ_REQ_GENERIC = 1
|
460
|
+
PLAYER_PTZ_REQ_CONTROL_MODE = 2
|
461
|
+
PLAYER_PTZ_REQ_GEOM = 4
|
462
|
+
PLAYER_PTZ_REQ_STATUS = 5
|
463
|
+
PLAYER_PTZ_DATA_STATE = 1
|
464
|
+
PLAYER_PTZ_DATA_GEOM = 2
|
465
|
+
PLAYER_PTZ_CMD_STATE = 1
|
466
|
+
|
467
|
+
PLAYER_RANGER_REQ_GET_GEOM = 1
|
468
|
+
PLAYER_RANGER_REQ_POWER = 2
|
469
|
+
PLAYER_RANGER_REQ_INTNS = 3
|
470
|
+
PLAYER_RANGER_REQ_SET_CONFIG = 4
|
471
|
+
PLAYER_RANGER_REQ_GET_CONFIG = 5
|
472
|
+
PLAYER_RANGER_DATA_RANGE = 1
|
473
|
+
PLAYER_RANGER_DATA_RANGESTAMPED = 2
|
474
|
+
PLAYER_RANGER_DATA_INTNS = 3
|
475
|
+
PLAYER_RANGER_DATA_INTNSSTAMPED = 4
|
476
|
+
PLAYER_RANGER_DATA_GEOM = 5
|
477
|
+
|
478
|
+
PLAYER_SIMULATION_IDENTIFIER_MAXLEN = 64
|
479
|
+
PLAYER_SIMULATION_PROP_VALUE_MAXLEN = 64
|
480
|
+
PLAYER_SIMULATION_REQ_GET_POSE2D = 1
|
481
|
+
PLAYER_SIMULATION_REQ_SET_POSE2D = 2
|
482
|
+
PLAYER_SIMULATION_REQ_GET_POSE3D = 3
|
483
|
+
PLAYER_SIMULATION_REQ_SET_POSE3D = 4
|
484
|
+
PLAYER_SIMULATION_REQ_GET_PROPERTY = 5
|
485
|
+
PLAYER_SIMULATION_REQ_SET_PROPERTY = 6
|
486
|
+
PLAYER_SIMULATION_CMD_PAUSE = 1
|
487
|
+
PLAYER_SIMULATION_CMD_RESET = 2
|
488
|
+
PLAYER_SIMULATION_CMD_SAVE = 3
|
489
|
+
|
490
|
+
PLAYER_SONAR_REQ_GET_GEOM = 1
|
491
|
+
PLAYER_SONAR_REQ_POWER = 2
|
492
|
+
PLAYER_SONAR_DATA_RANGES = 1
|
493
|
+
PLAYER_SONAR_DATA_GEOM = 2
|
494
|
+
|
495
|
+
PLAYER_SPEECH_MAX_STRING_LEN = 256
|
496
|
+
PLAYER_SPEECH_CMD_SAY = 1
|
497
|
+
|
498
|
+
SPEECH_RECOGNITION_TEXT_LEN = 256
|
499
|
+
SPEECH_RECOGNITION_DATA_STRING = 1
|
500
|
+
|
501
|
+
PLAYER_STEREO_DATA_STATE = 1
|
502
|
+
|
503
|
+
PLAYER_TRUTH_DATA_POSE = 0x01
|
504
|
+
PLAYER_TRUTH_DATA_FIDUCIAL_ID = 0x02
|
505
|
+
PLAYER_TRUTH_REQ_SET_POSE = 0x03
|
506
|
+
PLAYER_TRUTH_REQ_SET_FIDUCIAL_ID = 0x04
|
507
|
+
PLAYER_TRUTH_REQ_GET_FIDUCIAL_ID = 0x05
|
508
|
+
|
509
|
+
PLAYER_WIFI_MAX_LINKS = 32
|
510
|
+
PLAYER_WIFI_QUAL_DBM = 1
|
511
|
+
PLAYER_WIFI_QUAL_REL = 2
|
512
|
+
PLAYER_WIFI_QUAL_UNKNOWN = 3
|
513
|
+
PLAYER_WIFI_MODE_UNKNOWN = 0
|
514
|
+
PLAYER_WIFI_MODE_AUTO = 1
|
515
|
+
PLAYER_WIFI_MODE_ADHOC = 2
|
516
|
+
PLAYER_WIFI_MODE_INFRA = 3
|
517
|
+
PLAYER_WIFI_MODE_MASTER = 4
|
518
|
+
PLAYER_WIFI_MODE_REPEAT = 5
|
519
|
+
PLAYER_WIFI_MODE_SECOND = 6
|
520
|
+
PLAYER_WIFI_REQ_MAC = 1
|
521
|
+
PLAYER_WIFI_REQ_IWSPY_ADD = 2
|
522
|
+
PLAYER_WIFI_REQ_IWSPY_DEL = 3
|
523
|
+
PLAYER_WIFI_REQ_IWSPY_PING = 4
|
524
|
+
PLAYER_WIFI_DATA_STATE = 1
|
525
|
+
|
526
|
+
PLAYER_RFID_DATA_TAGS = 1
|
527
|
+
PLAYER_RFID_REQ_POWER = 1
|
528
|
+
PLAYER_RFID_REQ_READTAG = 2
|
529
|
+
PLAYER_RFID_REQ_WRITETAG = 3
|
530
|
+
PLAYER_RFID_REQ_LOCKTAG = 4
|
531
|
+
|
532
|
+
# The maximum number of points that can be described in a packet
|
533
|
+
PLAYER_GRAPHICS2D_MAX_POINTS = 64
|
534
|
+
# Command subtype: clear the drawing area (send an empty message)
|
535
|
+
PLAYER_GRAPHICS2D_CMD_CLEAR = 1
|
536
|
+
# Command subtype: draw points
|
537
|
+
PLAYER_GRAPHICS2D_CMD_POINTS = 2
|
538
|
+
# Command subtype: draw a polyline
|
539
|
+
PLAYER_GRAPHICS2D_CMD_POLYLINE = 3
|
540
|
+
# Command subtype: draw a polygon
|
541
|
+
PLAYER_GRAPHICS2D_CMD_POLYGON = 4
|
542
|
+
|
543
|
+
# The maximum number of nodes that can work together in the WSN.
|
544
|
+
PLAYER_WSN_MAX_NODES = 100
|
545
|
+
PLAYER_WSN_DATA_STATE = 1
|
546
|
+
PLAYER_WSN_CMD_DEVSTATE = 1
|
547
|
+
|
548
|
+
# Request/reply: put the reader in sleep mode (0) or wake it up (1).
|
549
|
+
PLAYER_WSN_REQ_POWER = 1
|
550
|
+
# Request/reply: change the data type to RAW or converted engineering units
|
551
|
+
PLAYER_WSN_REQ_DATATYPE = 2
|
552
|
+
# Request/reply: change the receiving data frequency
|
553
|
+
PLAYER_WSN_REQ_DATAFREQ = 3
|
554
|
+
|
555
|
+
# The maximum number of points that can be described in a packet
|
556
|
+
PLAYER_GRAPHICS3D_MAX_POINTS = 1024
|
557
|
+
# Command subtype: clear the drawing area (send an empty message)
|
558
|
+
PLAYER_GRAPHICS3D_CMD_CLEAR = 1
|
559
|
+
# Command subtype: draw subitems
|
560
|
+
PLAYER_GRAPHICS2D_CMD_DRAW = 2
|
561
|
+
|
562
|
+
# Data subtype: Health's data packet
|
563
|
+
PLAYER_HEALTH_DATA_STATE = 1
|
564
|
+
|
565
|
+
# Data subtype: IMU position/orientation data
|
566
|
+
PLAYER_IMU_DATA_STATE = 1
|
567
|
+
# Data subtype: Calibrated IMU data
|
568
|
+
PLAYER_IMU_DATA_CALIB = 2
|
569
|
+
# Data subtype: Quaternions orientation data
|
570
|
+
PLAYER_IMU_DATA_QUAT = 3
|
571
|
+
# Data subtype: Euler orientation data
|
572
|
+
PLAYER_IMU_DATA_EULER = 4
|
573
|
+
# Data subtype: All the calibrated IMU data
|
574
|
+
PLAYER_IMU_DATA_FULLSTATE = 5
|
575
|
+
# Request/reply subtype: set data type
|
576
|
+
PLAYER_IMU_REQ_SET_DATATYPE = 1
|
577
|
+
# Request/reply subtype: reset orientation
|
578
|
+
PLAYER_IMU_REQ_RESET_ORIENTATION = 2
|
579
|
+
|
580
|
+
# Maximum number of points that can be included in a data packet
|
581
|
+
PLAYER_POINTCLOUD3D_MAX_POINTS = 8192
|
582
|
+
# Data subtype: state
|
583
|
+
PLAYER_POINTCLOUD3D_DATA_STATE = 1
|
584
|
+
end
|