property.h
1 /*
2  * Player - One Hell of a Robot Server
3  * Copyright (C) 2000
4  * Brian Gerkey, Kasper Stoy, Richard Vaughan, & Andrew Howard
5  *
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  *
21  */
22 /********************************************************************
23  *
24  * This library is free software; you can redistribute it and/or
25  * modify it under the terms of the GNU Lesser General Public
26  * License as published by the Free Software Foundation; either
27  * version 2.1 of the License, or (at your option) any later version.
28  *
29  * This library is distributed in the hope that it will be useful,
30  * but WITHOUT ANY WARRANTY; without even the implied warranty of
31  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
32  * Lesser General Public License for more details.
33  *
34  * You should have received a copy of the GNU Lesser General Public
35  * License along with this library; if not, write to the Free Software
36  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
37  *
38  ********************************************************************/
39 
40 #ifndef __PROPERTY_H
41 #define __PROPERTY_H
42 
43 #if defined (WIN32)
44  #if defined (PLAYER_STATIC)
45  #define PLAYERCORE_EXPORT
46  #elif defined (playercore_EXPORTS)
47  #define PLAYERCORE_EXPORT __declspec (dllexport)
48  #else
49  #define PLAYERCORE_EXPORT __declspec (dllimport)
50  #endif
51 #else
52  #define PLAYERCORE_EXPORT
53 #endif
54 
55 class ConfigFile;
56 class Driver;
57 
59 class PLAYERCORE_EXPORT Property
60 {
61  public:
62  Property (void);
63  Property (const char *newKey, bool readOnly);
64  virtual ~Property (void);
65 
66  // Accessor functions
67  virtual const char* GetKey (void) const { return key; }
68  virtual void SetKey (const char *newKey);
69  virtual void GetValueToMessage (void *data) const = 0;
70  virtual void SetValueFromMessage (const void *data) = 0;
71 
72  virtual bool KeyIsEqual (const char *rhs);
73 
74  // Config file read method
75  virtual bool ReadConfig (ConfigFile *cf, int section) = 0;
76 
77  protected:
78  char *key; // Key for this property
79  bool readonly; // true if this property is read-only
80 };
81 
84 
86 class PLAYERCORE_EXPORT BoolProperty : public Property
87 {
88  public:
89  BoolProperty (const char *newKey, bool newValue, bool readOnly);
91  BoolProperty (const char *newKey, bool newValue, bool readOnly, Driver * driver, ConfigFile*cf, int section);
92 
93  bool GetValue (void) const { return value; }
94  void SetValue (bool newValue);
95  void GetValueToMessage (void *data) const;
96  void SetValueFromMessage (const void *data);
97 
98  // Config file read method
99  virtual bool ReadConfig (ConfigFile *cf, int section);
100 
101  // Operators
102  operator bool (void) { return value; }
103  const BoolProperty& operator= (const BoolProperty &rhs);
104  bool operator= (bool rhs);
105 
106  private:
107  bool value;
108 };
109 
112 
114 class PLAYERCORE_EXPORT IntProperty : public Property
115 {
116  public:
117  IntProperty (const char *newKey, int newValue, bool readOnly);
119  IntProperty (const char *newKey, int newValue, bool readOnly, Driver * driver, ConfigFile*cf, int section);
120 
121  int GetValue (void) const { return value; }
122  void SetValue (int newValue);
123  void GetValueToMessage (void *data) const;
124  void SetValueFromMessage (const void *data);
125 
126  // Config file read method
127  virtual bool ReadConfig (ConfigFile *cf, int section);
128 
129  // Operators
130  operator int (void) { return value; }
131  const IntProperty& operator= (const IntProperty &rhs);
132  int operator= (int rhs);
133 
134  private:
135  int value;
136 };
137 
140 
142 class PLAYERCORE_EXPORT DoubleProperty : public Property
143 {
144  public:
145  DoubleProperty (const char *newKey, double newValue, bool readOnly);
147  DoubleProperty (const char *newKey, double newValue, bool readOnly, Driver * driver, ConfigFile*cf, int section);
148 
149  double GetValue (void) const { return value; }
150  void SetValue (double newValue);
151  void GetValueToMessage (void *data) const;
152  void SetValueFromMessage (const void *data);
153 
154  // Config file read method
155  virtual bool ReadConfig (ConfigFile *cf, int section);
156 
157  // Operators
158  operator double (void) { return value; }
159  const DoubleProperty& operator= (const DoubleProperty &rhs);
160  double operator= (double rhs);
161 
162  private:
163  double value;
164 };
165 
168 
170 class PLAYERCORE_EXPORT StringProperty : public Property
171 {
172  public:
173  StringProperty (const char *newKey, const char *newValue, bool readOnly);
175  StringProperty (const char *newKey, const char *newValue, bool readOnly, Driver * driver, ConfigFile*cf, int section);
176  ~StringProperty (void);
177 
178  const char* GetValue (void) const { return value; }
179  void SetValue (const char *newValue);
180  void GetValueToMessage (void *data) const;
181  void SetValueFromMessage (const void *data);
182 
183  // Config file read method
184  virtual bool ReadConfig (ConfigFile *cf, int section);
185 
186  // Operators
187  operator const char* (void) { return value; }
188  const StringProperty& operator= (const StringProperty &rhs);
189  const char* operator= (const char* rhs);
190 
191  private:
192  char *value;
193 };
194 
197 
199 typedef struct PropertyNode
200 {
201  char *key;
202  Property *property;
203  struct PropertyNode *next;
204 } PropertyNode;
205 
207 class PLAYERCORE_EXPORT PropertyBag
208 {
209  public:
210  PropertyBag (void);
211  ~PropertyBag (void);
212 
213  bool AddProperty (const char *key, Property *property);
214  Property* GetProperty (const char *key);
215 
216  private:
217  PropertyNode *firstProperty;
218 };
219 
220 #endif // __PROPERTY_H
#define PLAYER_VECTORMAP_REQ_WRITE_LAYER
Request/reply subtype: write layer data.
Definition: player_interfaces.h:5143
#define PLAYER_DIO_CMD_VALUES
Data: input values (PLAYER_DIO_DATA_VALUES)
Definition: player_interfaces.h:1987
char * string
The string to say.
Definition: player_interfaces.h:1802
Definition: dbconn.h:139
position 2d velocity command
Definition: player_interfaces.h:617
uint32_t bumpers_count
the number of valid bumper readings
Definition: player_interfaces.h:1925
Command: state (PLAYER_POSITION1D_CMD_POS)
Definition: player_interfaces.h:3583
String Property Class.
Definition: property.h:169
double proll
roll [rad]
Definition: player.h:236
uint32_t intensities_count
Number of intensity readings.
Definition: player_interfaces.h:5056
double velocity
forward velocity (m/s)
Definition: player_interfaces.h:640
player_pose2d_t vel
translational velocities [m/s,m/s,rad/s] (x, y, yaw)
Definition: player_interfaces.h:620
#define PLAYER_LOG_REQ_SET_WRITE_STATE
Request/reply subtype: set write state.
Definition: player_interfaces.h:3233
Command: state (PLAYER_POSITION1D_CMD_VEL)
Definition: player_interfaces.h:3570
static bool MatchMessage(player_msghdr_t *hdr, int type, int subtype, player_devaddr_t addr)
Helper for message processing.
Definition: message.h:158
float pan
Pan [rad].
Definition: player_interfaces.h:1231
Request/reply: Rewind playback.
Definition: player_interfaces.h:3286
uint8_t state
Motor state (FALSE is either off or locked, depending on the driver).
Definition: player_interfaces.h:3575
#define PLAYER_POSITION1D_DATA_STATE
Data subtype: state.
Definition: player_interfaces.h:3512
#define PLAYER_PTZ_DATA_STATE
Data subtype: state.
Definition: player_interfaces.h:1208
uint8_t stall
Is the motor stalled?
Definition: player_interfaces.h:3549
Data: state (PLAYER_POSITION1D_DATA_STATE)
Definition: player_interfaces.h:3542
double px
X [m].
Definition: player.h:230
uint32_t id
Which I/O output to command.
Definition: player_interfaces.h:2067
Boolean property class.
Definition: property.h:85
float tilt
Tilt [rad].
Definition: player_interfaces.h:1233
float tiltspeed
Desired tilt velocity [rad/s].
Definition: player_interfaces.h:1259
Data: intensity scan (PLAYER_RANGER_DATA_INTNS)
Definition: player_interfaces.h:5053
Definition: dbconn.h:163
player_ranger_data_intns_t data
The scan data.
Definition: player_interfaces.h:5068
Generic message header.
Definition: player.h:160
double pz
Z [m].
Definition: player.h:234
uint32_t compression
Image compression; PLAYER_CAMERA_COMPRESS_RAW indicates no compression.
Definition: player_interfaces.h:2966
#define PLAYER_CAMERA_REQ_GET_IMAGE
Request/reply subtype: get current image frame.
Definition: player_interfaces.h:2931
virtual void MainQuit(void)
Cleanup method for driver thread (called when main exits)
Definition: driver.h:663
uint32_t width
Image dimensions [pixels].
Definition: player_interfaces.h:2953
#define PLAYER_RANGER_DATA_INTNS
Data subtype: intensity scan.
Definition: player_interfaces.h:4955
#define PLAYER_POSITION1D_CMD_VEL
Command subtype: velocity command.
Definition: player_interfaces.h:3518
Data: state (PLAYER_PTZ_DATA_STATE)
Definition: player_interfaces.h:1228
Data: state (PLAYER_POSITION3D_DATA_STATE)
Definition: player_interfaces.h:2476
Data: Stamped range scan (PLAYER_RANGER_DATA_RANGESTAMPED)
Definition: player_interfaces.h:5036
#define PLAYER_CAMERA_FORMAT_RGB888
Image format : 24-bit color (8 bits R, 8 bits G, 8 bits B).
Definition: player_interfaces.h:2942
player_pose3d_t pos
(x, y, z, roll, pitch, yaw) position [m, m, m, rad, rad, rad]
Definition: player_interfaces.h:2479
float * voltages
the samples [V]
Definition: player_interfaces.h:2058
float vel
velocity [m/s] or [rad/s]
Definition: player_interfaces.h:3573
player_pose3d_t vel
(x, y, z, roll, pitch, yaw) velocity [m, m, m, rad, rad, rad]
Definition: player_interfaces.h:2481
uint8_t type
Message type; must be one of PLAYER_MSGTYPE_*.
Definition: player.h:165
float tilt
Desired tilt angle [rad].
Definition: player_interfaces.h:1253
Command: state (PLAYER_PTZ_CMD_STATE)
Definition: player_interfaces.h:1248
Encapsulates a device (i.e., a driver bound to an interface)
Definition: device.h:73
const char * ReadString(int section, const char *name, const char *value)
Read a string value.
double px
X [m].
Definition: player.h:219
#define PLAYER_AIO_CMD_STATE
Data: state (PLAYER_AIO_DATA_STATE)
Definition: player_interfaces.h:2043
#define PLAYER_POSITION3D_DATA_STATE
Data subtype: state.
Definition: player_interfaces.h:2432
float zoom
Desired field of view [rad].
Definition: player_interfaces.h:1255
float zoom
Field of view [rad].
Definition: player_interfaces.h:1235
#define PLAYER_POSITION2D_CMD_VEL
Command: velocity (PLAYER_POSITION2D_CMD_VEL)
Definition: player_interfaces.h:581
uint32_t fdiv
Some images (such as disparity maps) use scaled pixel values; for these images, fdiv specifies the sc...
Definition: player_interfaces.h:2963
Property base class.
Definition: property.h:58
player_pose3d_t vel
(x, y, z, roll, pitch, yaw) velocity [m, m, m, rad, rad, rad]
Definition: player_interfaces.h:2507
double pyaw
yaw [rad]
Definition: player.h:240
Vectormap data.
Definition: player_interfaces.h:5176
uint8_t subtype
Message subtype; interface specific.
Definition: player.h:167
uint8_t state
Motor state (FALSE is either off or locked, depending on the driver).
Definition: player_interfaces.h:633
double angle
absolute turning angle (rad)
Definition: player_interfaces.h:651
virtual void Main(void)=0
Main method for driver thread.
#define PLAYER_RANGER_DATA_RANGE
Data subtype: range scan.
Definition: player_interfaces.h:4949
uint8_t state
Motor state (FALSE is either off or locked, depending on the driver).
Definition: player_interfaces.h:2497
const char * ReadTupleString(int section, const char *name, int index, const char *value)
Read a string from a tuple field.
#define PLAYER_GRIPPER_CMD_STOP
Command: Stop (PLAYER_GRIPPER_CMD_STOP)
Definition: player_interfaces.h:383
#define PLAYER_RANGER_DATA_INTNSSTAMPED
Data subtype: intensity scan with extra info.
Definition: player_interfaces.h:4958
uint32_t image_count
Size of image data as stored in image buffer (bytes)
Definition: player_interfaces.h:2968
int ReadInt(int section, const char *name, int value)
Read an integer value.
double angle
relative turning angle (rad)
Definition: player_interfaces.h:642
#define PLAYER_LOG_REQ_GET_STATE
Request/reply subtype: get state.
Definition: player_interfaces.h:3239
#define PLAYER_POSITION3D_CMD_SET_POS
Command subtype: position control.
Definition: player_interfaces.h:2441
uint8_t state
Motor state (FALSE is either off or locked, depending on the driver).
Definition: player_interfaces.h:2509
#define PLAYER_MSGTYPE_DATA
A data message.
Definition: player.h:94
double py
Y [m].
Definition: player.h:221
uint8_t state
The gripper's state.
Definition: player_interfaces.h:421
player_pose3d_t pos
(x, y, z, roll, pitch, yaw) position [m, m, m, rad, rad, rad]
Definition: player_interfaces.h:2493
uint32_t digout
output bitfield
Definition: player_interfaces.h:2011
Definition: camera.h:142
#define PLAYER_MSGTYPE_RESP_ACK
A positive response message.
Definition: player.h:111
uint32_t ranges_count
Number of range readings.
Definition: player_interfaces.h:5027
Definition: dbconn.h:77
#define PLAYER_WARN2(msg, a, b)
Error message macros.
Definition: error.h:90
#define PLAYER_CAMERA_DATA_STATE
Data subtype: state.
Definition: player_interfaces.h:2922
uint8_t * image
Compressed image data (byte-aligned, row major order).
Definition: player_interfaces.h:2972
#define PLAYER_SPEECH_CMD_SAY
Command subtype: say a string.
Definition: player_interfaces.h:1789
#define PLAYER_VECTORMAP_REQ_GET_LAYER_DATA
Request/reply subtype: get layer data.
Definition: player_interfaces.h:5140
#define PLAYER_LOG_TYPE_WRITE
Types of log device: write.
Definition: player_interfaces.h:3252
Data: state (PLAYER_GRIPPER_DATA_STATE)
Definition: player_interfaces.h:418
#define PLAYER_GRIPPER_CMD_OPEN
Command: Open (PLAYER_GRIPPER_CMD_OPEN)
Definition: player_interfaces.h:373
Property bag class: stores registered properties.
Definition: property.h:206
virtual int ProcessMessage(QueuePointer &resp_queue, player_msghdr *hdr, void *data)
Message handler.
#define PLAYER_POSITION2D_CMD_VEL_HEAD
Command: vel/head (PLAYER_POSITION2D_CMD_VEL_HEAD)
Definition: player_interfaces.h:599
Data: state (PLAYER_BUMPER_DATA_GEOM)
Definition: player_interfaces.h:1922
#define PLAYER_POSITION3D_CMD_SET_VEL
Command subtype: velocity control.
Definition: player_interfaces.h:2438
double ppitch
pitch [rad]
Definition: player.h:238
uint8_t state
State: FALSE=disabled, TRUE=enabled.
Definition: player_interfaces.h:3262
#define PLAYER_MSGTYPE_REQ
A request message.
Definition: player.h:105
Definition: dbconn.h:105
Request/reply: Set write state.
Definition: player_interfaces.h:3259
float tiltspeed
Current tilt velocity [rad/s].
Definition: player_interfaces.h:1239
#define PLAYER_MSGTYPE_RESP_NACK
A negative response message.
Definition: player.h:124
float pos
position [m] or [rad]
Definition: player_interfaces.h:3586
Integer property class.
Definition: property.h:113
Vectormap info.
Definition: player_interfaces.h:5189
float voltage
Voltage level to set.
Definition: player_interfaces.h:2069
position2d command setting velocity and steering angle
Definition: player_interfaces.h:637
Data: range scan (PLAYER_RANGER_DATA_RANGE)
Definition: player_interfaces.h:5024
double velocity
forward velocity (m/s)
Definition: player_interfaces.h:649
Command: output values (PLAYER_DIO_CMD_VALUES)
Definition: player_interfaces.h:2006
float panspeed
Current pan velocity [rad/s].
Definition: player_interfaces.h:1237
int ReadDeviceAddr(player_devaddr_t *addr, int section, const char *name, int code, int index, const char *key)
Read a device id.
Data: state (PLAYER_CAMERA_DATA_STATE)
Definition: player_interfaces.h:2950
Data: input values (PLAYER_DIO_DATA_VALUES)
Definition: player_interfaces.h:1994
float pan
Desired pan angle [rad].
Definition: player_interfaces.h:1251
player_pose3d_t vel
velocity at which to move to the position [m/s] or [rad/s]
Definition: player_interfaces.h:2495
int GetTupleCount(int section, const char *name)
Get the number of values in a tuple.
#define PLAYER_BUMPER_DATA_STATE
Data: state (PLAYER_BUMPER_DATA_GEOM)
Definition: player_interfaces.h:1910
uint32_t voltages_count
number of valid samples
Definition: player_interfaces.h:2056
Class for loading configuration file information.
Definition: configfile.h:195
Data: state (PLAYER_AIO_DATA_STATE)
Definition: player_interfaces.h:2053
virtual int Setup()
Initialize the driver.
Definition: driver.h:385
uint32_t status
Current pan / tilt status.
Definition: player_interfaces.h:1241
A device address.
Definition: player.h:144
float pos
position [m] or [rad] depending on actuator type
Definition: player_interfaces.h:3545
float panspeed
Desired pan velocity [rad/s].
Definition: player_interfaces.h:1257
An autopointer for the message queue.
Definition: message.h:72
double py
Y [m].
Definition: player.h:232
uint8_t * bumpers
array of bumper values
Definition: player_interfaces.h:1927
uint32_t format
Image format (must be compatible with depth).
Definition: player_interfaces.h:2959
Double property class.
Definition: property.h:141
double * intensities
Intensity readings.
Definition: player_interfaces.h:5058
player_pose2d_t vel
translational velocities [m/s,m/s,rad/s] (x, y, yaw)
Definition: player_interfaces.h:611
uint32_t bits
bitfield of samples
Definition: player_interfaces.h:1999
char * name
Identifier for the layer.
Definition: player_interfaces.h:5181
#define PLAYER_VECTORMAP_REQ_GET_MAP_INFO
Request/reply subtype: get vectormap meta-data.
Definition: player_interfaces.h:5137
#define PLAYER_RANGER_DATA_RANGESTAMPED
Data subtype: range scan with extra info.
Definition: player_interfaces.h:4952
position2d data
Definition: player_interfaces.h:606
#define PLAYER_ERROR1(msg, a)
Error message macros.
Definition: error.h:81
uint32_t count
the command
Definition: player_interfaces.h:2009
Command: position (PLAYER_POSITION3D_CMD_SET_POS)
Definition: player_interfaces.h:2490
Property node structure.
Definition: property.h:198
#define PLAYER_CAMERA_COMPRESS_RAW
Compression method: raw.
Definition: player_interfaces.h:2945
uint8_t state
Motor state (FALSE is either off or locked, depending on the driver).
Definition: player_interfaces.h:3590
uint8_t stored
Number of currently stored objects.
Definition: player_interfaces.h:425
#define PLAYER_ERROR(msg)
Error message macros.
Definition: error.h:80
Base class for drivers which oeprate with a thread.
Definition: driver.h:551
#define PLAYER_GRIPPER_CMD_STORE
Command: Store (PLAYER_GRIPPER_CMD_STORE)
Definition: player_interfaces.h:388
Command: velocity (PLAYER_POSITION3D_CMD_SET_VEL)
Definition: player_interfaces.h:2504
#define PLAYER_PTZ_CMD_STATE
Command subtype: state.
Definition: player_interfaces.h:1214
#define PLAYER_GRIPPER_CMD_CLOSE
Command: Close (PLAYER_GRIPPER_CMD_CLOSE)
Definition: player_interfaces.h:378
#define PLAYER_POSITION2D_DATA_STATE
Data: state (PLAYER_POSITION2D_DATA_STATE)
Definition: player_interfaces.h:568
double timestamp
Time associated with message contents (seconds since epoch)
Definition: player.h:169
Command: say a string (PLAYER_SPEECH_CMD_SAY)
Definition: player_interfaces.h:1797
player_pose2d_t pos
position [m,m,rad] (x, y, yaw)
Definition: player_interfaces.h:609
#define PLAYER_AIO_DATA_STATE
Data: state (PLAYER_AIO_DATA_STATE)
Definition: player_interfaces.h:2046
#define PLAYER_POSITION2D_CMD_POS
Command: position (PLAYER_POSITION2D_CMD_POS)
Definition: player_interfaces.h:588
uint32_t beams
The position of the object in the gripper.
Definition: player_interfaces.h:423
float vel
velocity at which to move to the position [m/s] or [rad/s]
Definition: player_interfaces.h:3588
#define PLAYER_WARN(msg)
Warning message macros.
Definition: error.h:88
double * ranges
Range readings [m].
Definition: player_interfaces.h:5029
#define PLAYER_GRIPPER_CMD_RETRIEVE
Command: Retrieve (PLAYER_GRIPPER_CMD_RETRIEVE)
Definition: player_interfaces.h:394
position2d command setting velocity and heading
Definition: player_interfaces.h:646
uint8_t stall
Are the motors stalled?
Definition: player_interfaces.h:2483
uint8_t status
bitfield of extra data in the following order:
Definition: player_interfaces.h:3561
#define PLAYER_MSGTYPE_CMD
A command message.
Definition: player.h:98
uint32_t count
number of samples
Definition: player_interfaces.h:1997
virtual int Shutdown()
Finalize the driver.
Definition: driver.h:392
#define PLAYER_DIO_DATA_VALUES
Data: input values (PLAYER_DIO_DATA_VALUES)
Definition: player_interfaces.h:1984
double pa
yaw [rad]
Definition: player.h:223
Base class for all drivers.
Definition: driver.h:107
#define PLAYER_GRIPPER_DATA_STATE
Data subtype: state.
Definition: player_interfaces.h:365
#define PLAYER_MSG0(level, msg)
General messages.
Definition: error.h:104
player_pose2d_t vel
velocity at which to move to the position [m/s] or [rad/s]
Definition: player_interfaces.h:631
uint8_t state
Motor state (FALSE is either off or locked, depending on the driver).
Definition: player_interfaces.h:622
uint8_t stall
Are the motors stalled?
Definition: player_interfaces.h:613
#define PLAYER_POSITION1D_CMD_POS
Command subtype: position command.
Definition: player_interfaces.h:3521
Command: state (PLAYER_AIO_CMD_STATE)
Definition: player_interfaces.h:2064
uint32_t height
Image dimensions [pixels].
Definition: player_interfaces.h:2955
uint32_t string_count
Length of string.
Definition: player_interfaces.h:1800
float vel
translational velocities [m/s] or [rad/s] depending on actuator type
Definition: player_interfaces.h:3547
#define PLAYER_MSGQUEUE_DEFAULT_MAXLEN
Default maximum length for a message queue.
Definition: player.h:75
position2d position command
Definition: player_interfaces.h:626
Data: Stamped intensity scan (PLAYER_RANGER_DATA_INTNSSTAMPED)
Definition: player_interfaces.h:5065
#define PLAYER_POSITION2D_CMD_CAR
Command: carlike (PLAYER_POSITION2D_CMD_CAR)
Definition: player_interfaces.h:594
#define PLAYER_CAMERA_COMPRESS_JPEG
Compression method: jpeg.
Definition: player_interfaces.h:2947
player_pose2d_t pos
position [m,m,rad] (x, y, yaw)
Definition: player_interfaces.h:629
uint32_t bpp
Image bits-per-pixel (8, 16, 24, 32).
Definition: player_interfaces.h:2957
player_ranger_data_range_t data
The scan data.
Definition: player_interfaces.h:5039