YARP
Yet Another Robot Platform
FrameGrabberControlsDC1394_Forwarder.cpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-FileCopyrightText: 2006-2010 RobotCub Consortium
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
8 #include "CameraVocabs.h"
9 
10 #include <yarp/os/Bottle.h>
11 
13 
14 FrameGrabberControlsDC1394_Forwarder::FrameGrabberControlsDC1394_Forwarder(yarp::os::Port& port) :
15  m_port(port)
16 {
17 }
18 
19 
20 bool FrameGrabberControlsDC1394_Forwarder::setCommand(int code, double v)
21 {
22  yarp::os::Bottle cmd;
23  yarp::os::Bottle response;
25  cmd.addVocab32(VOCAB_SET);
26  cmd.addVocab32(code);
27  cmd.addFloat64(v);
28  m_port.write(cmd, response);
29  return true;
30 }
31 
32 
33 bool FrameGrabberControlsDC1394_Forwarder::setCommand(int code, double b, double r)
34 {
35  yarp::os::Bottle cmd;
36  yarp::os::Bottle response;
38  cmd.addVocab32(VOCAB_SET);
39  cmd.addVocab32(code);
40  cmd.addFloat64(b);
41  cmd.addFloat64(r);
42  m_port.write(cmd, response);
43  return true;
44 }
45 
46 
47 double FrameGrabberControlsDC1394_Forwarder::getCommand(int code) const
48 {
49  yarp::os::Bottle cmd;
50  yarp::os::Bottle response;
52  cmd.addVocab32(VOCAB_GET);
53  cmd.addVocab32(code);
54  m_port.write(cmd, response);
55  // response should be [cmd] [name] value
56  return response.get(2).asFloat64();
57 }
58 
59 
60 bool FrameGrabberControlsDC1394_Forwarder::getCommand(int code, double& b, double& r) const
61 {
62  yarp::os::Bottle cmd;
63  yarp::os::Bottle response;
65  cmd.addVocab32(VOCAB_GET);
66  cmd.addVocab32(code);
67  m_port.write(cmd, response);
68  // response should be [cmd] [name] value
69  b = response.get(2).asFloat64();
70  r = response.get(3).asFloat64();
71  return true;
72 }
73 
74 
76 {
77  yarp::os::Bottle cmd;
78  yarp::os::Bottle response;
81  m_port.write(cmd, response);
82  return static_cast<unsigned int>(response.get(0).asInt32());
83 }
84 
85 
87 {
88  yarp::os::Bottle cmd;
89  yarp::os::Bottle response;
92  m_port.write(cmd, response);
93  return static_cast<unsigned int>(response.get(0).asInt32());
94 }
95 
96 
98 {
99  yarp::os::Bottle cmd;
100  yarp::os::Bottle response;
103  cmd.addInt32(video_mode);
104  m_port.write(cmd, response);
105  return response.get(0).asBool();
106 }
107 
108 
110 {
111  yarp::os::Bottle cmd;
112  yarp::os::Bottle response;
115  m_port.write(cmd, response);
116  return static_cast<unsigned int>(response.get(0).asInt32());
117 }
118 
119 
121 {
122  yarp::os::Bottle cmd;
123  yarp::os::Bottle response;
126  m_port.write(cmd, response);
127  return static_cast<unsigned int>(response.get(0).asInt32());
128 }
129 
130 
132 {
133  yarp::os::Bottle cmd;
134  yarp::os::Bottle response;
137  cmd.addInt32(fps);
138  m_port.write(cmd, response);
139  return response.get(0).asBool();
140 }
141 
142 
144 {
145  yarp::os::Bottle cmd;
146  yarp::os::Bottle response;
149  m_port.write(cmd, response);
150  return static_cast<unsigned int>(response.get(0).asInt32());
151 }
152 
153 
155 {
156  yarp::os::Bottle cmd;
157  yarp::os::Bottle response;
160  cmd.addInt32(speed);
161  m_port.write(cmd, response);
162  return response.get(0).asBool();
163 }
164 
165 
167 {
168  yarp::os::Bottle cmd;
169  yarp::os::Bottle response;
172  cmd.addInt32(video_mode);
173  m_port.write(cmd, response);
174  return static_cast<unsigned int>(response.get(0).asInt32());
175 }
176 
177 
179 {
180  yarp::os::Bottle cmd;
181  yarp::os::Bottle response;
184  m_port.write(cmd, response);
185  return static_cast<unsigned int>(response.get(0).asInt32());
186 }
187 
188 
190 {
191  yarp::os::Bottle cmd;
192  yarp::os::Bottle response;
195  cmd.addInt32(coding);
196  m_port.write(cmd, response);
197  return response.get(0).asBool();
198 }
199 
200 
202  unsigned int& ydim,
203  unsigned int& xstep,
204  unsigned int& ystep,
205  unsigned int& xoffstep,
206  unsigned int& yoffstep)
207 {
208  yarp::os::Bottle cmd;
209  yarp::os::Bottle response;
212  m_port.write(cmd, response);
213 
214  xdim = response.get(0).asInt32();
215  ydim = response.get(1).asInt32();
216  xstep = response.get(2).asInt32();
217  ystep = response.get(3).asInt32();
218  xoffstep = response.get(4).asInt32();
219  yoffstep = response.get(5).asInt32();
220  return response.get(0).asBool();
221 }
222 
223 
224 bool FrameGrabberControlsDC1394_Forwarder::getFormat7WindowDC1394(unsigned int& xdim, unsigned int& ydim, int& x0, int& y0)
225 {
226  yarp::os::Bottle cmd;
227  yarp::os::Bottle response;
230  m_port.write(cmd, response);
231  xdim = response.get(0).asInt32();
232  ydim = response.get(1).asInt32();
233  x0 = response.get(2).asInt32();
234  y0 = response.get(3).asInt32();
235  return response.get(0).asBool();
236 }
237 
238 
239 bool FrameGrabberControlsDC1394_Forwarder::setFormat7WindowDC1394(unsigned int xdim, unsigned int ydim, int x0, int y0)
240 {
241  yarp::os::Bottle cmd;
242  yarp::os::Bottle response;
245  cmd.addInt32(xdim);
246  cmd.addInt32(ydim);
247  cmd.addInt32(x0);
248  cmd.addInt32(y0);
249  m_port.write(cmd, response);
250  return response.get(0).asBool();
251 }
252 
253 
255 {
256  yarp::os::Bottle cmd;
257  yarp::os::Bottle response;
260  cmd.addInt32(int(b1394b));
261  m_port.write(cmd, response);
262  return response.get(0).asBool();
263 }
264 
265 
267 {
268  yarp::os::Bottle cmd;
269  yarp::os::Bottle response;
272  m_port.write(cmd, response);
273  return response.get(0).asBool();
274 }
275 
276 
278 {
279  yarp::os::Bottle cmd;
280  yarp::os::Bottle response;
283  cmd.addInt32(int(bTxON));
284  m_port.write(cmd, response);
285  return response.get(0).asBool();
286 }
287 
288 
290 {
291  yarp::os::Bottle cmd;
292  yarp::os::Bottle response;
295  m_port.write(cmd, response);
296  return response.get(0).asBool();
297 }
298 
299 
301 {
302  yarp::os::Bottle cmd;
303  yarp::os::Bottle response;
306  cmd.addInt32(static_cast<int>(onoff));
307  m_port.write(cmd, response);
308  return response.get(0).asBool();
309 }
310 
311 
313 {
314  yarp::os::Bottle cmd;
315  yarp::os::Bottle response;
318  m_port.write(cmd, response);
319  return response.get(0).asBool();
320 }
321 
322 
324 {
325  yarp::os::Bottle cmd;
326  yarp::os::Bottle response;
329  m_port.write(cmd, response);
330  return response.get(0).asBool();
331 }
332 
333 
335 {
336  yarp::os::Bottle cmd;
337  yarp::os::Bottle response;
340  cmd.addInt32(static_cast<int>(onoff));
341  m_port.write(cmd, response);
342  return response.get(0).asBool();
343 }
344 
345 
347 {
348  yarp::os::Bottle cmd;
349  yarp::os::Bottle response;
352  cmd.addInt32(int(bON));
353  m_port.write(cmd, response);
354  return response.get(0).asBool();
355 }
356 
357 
359 {
360  yarp::os::Bottle cmd;
361  yarp::os::Bottle response;
364  cmd.addInt32(int(bpp));
365  m_port.write(cmd, response);
366  return response.get(0).asBool();
367 }
368 
369 
371 {
372  yarp::os::Bottle cmd;
373  yarp::os::Bottle response;
376  m_port.write(cmd, response);
377  return static_cast<unsigned int>(response.get(0).asInt32());
378 }
constexpr yarp::conf::vocab32_t VOCAB_DRGETISO
Definition: CameraVocabs.h:73
constexpr yarp::conf::vocab32_t VOCAB_DRSETFPS
Definition: CameraVocabs.h:72
constexpr yarp::conf::vocab32_t VOCAB_DRSETDEF
Definition: CameraVocabs.h:90
constexpr yarp::conf::vocab32_t VOCAB_DRSETVMD
Definition: CameraVocabs.h:69
constexpr yarp::conf::vocab32_t VOCAB_FRAMEGRABBER_CONTROL_DC1394
Definition: CameraVocabs.h:40
constexpr yarp::conf::vocab32_t VOCAB_DRSETWF7
Definition: CameraVocabs.h:82
constexpr yarp::conf::vocab32_t VOCAB_DRGETF7M
Definition: CameraVocabs.h:80
constexpr yarp::conf::vocab32_t VOCAB_DRSETBCS
Definition: CameraVocabs.h:89
constexpr yarp::conf::vocab32_t VOCAB_DRSETCAP
Definition: CameraVocabs.h:93
constexpr yarp::conf::vocab32_t VOCAB_DRSETCOD
Definition: CameraVocabs.h:77
constexpr yarp::conf::vocab32_t VOCAB_DRGETMSK
Definition: CameraVocabs.h:67
constexpr yarp::conf::vocab32_t VOCAB_DRGETFPS
Definition: CameraVocabs.h:71
constexpr yarp::conf::vocab32_t VOCAB_DRSETOPM
Definition: CameraVocabs.h:83
constexpr yarp::conf::vocab32_t VOCAB_DRGETBPP
Definition: CameraVocabs.h:95
constexpr yarp::conf::vocab32_t VOCAB_DRSETPWR
Definition: CameraVocabs.h:92
constexpr yarp::conf::vocab32_t VOCAB_DRGETCCM
Definition: CameraVocabs.h:75
constexpr yarp::conf::vocab32_t VOCAB_DRGETTXM
Definition: CameraVocabs.h:86
constexpr yarp::conf::vocab32_t VOCAB_DRSETRST
Definition: CameraVocabs.h:91
constexpr yarp::conf::vocab32_t VOCAB_DRSETBPP
Definition: CameraVocabs.h:94
constexpr yarp::conf::vocab32_t VOCAB_DRGETWF7
Definition: CameraVocabs.h:81
constexpr yarp::conf::vocab32_t VOCAB_DRGETVMD
Definition: CameraVocabs.h:68
constexpr yarp::conf::vocab32_t VOCAB_DRGETFPM
Definition: CameraVocabs.h:70
constexpr yarp::conf::vocab32_t VOCAB_DRSETTXM
Definition: CameraVocabs.h:85
constexpr yarp::conf::vocab32_t VOCAB_DRGETCOD
Definition: CameraVocabs.h:76
constexpr yarp::conf::vocab32_t VOCAB_DRSETISO
Definition: CameraVocabs.h:74
constexpr yarp::conf::vocab32_t VOCAB_DRGETOPM
Definition: CameraVocabs.h:84
constexpr yarp::conf::vocab32_t VOCAB_GET
Definition: GenericVocabs.h:13
constexpr yarp::conf::vocab32_t VOCAB_SET
Definition: GenericVocabs.h:12
A simple collection of objects that can be described and transmitted in a portable way.
Definition: Bottle.h:74
void addVocab32(yarp::conf::vocab32_t x)
Places a vocabulary item in the bottle, at the end of the list.
Definition: Bottle.cpp:164
void addFloat64(yarp::conf::float64_t x)
Places a 64-bit floating point number in the bottle, at the end of the list.
Definition: Bottle.cpp:158
Value & get(size_type index) const
Reads a Value v from a certain part of the list.
Definition: Bottle.cpp:246
void addInt32(std::int32_t x)
Places a 32-bit integer in the bottle, at the end of the list.
Definition: Bottle.cpp:140
A mini-server for network communication.
Definition: Port.h:47
bool write(const PortWriter &writer, const PortWriter *callback=nullptr) const override
Write an object to the port.
Definition: Port.cpp:427
virtual yarp::conf::float64_t asFloat64() const
Get 64-bit floating point value.
Definition: Value.cpp:222
virtual bool asBool() const
Get boolean value.
Definition: Value.cpp:186
virtual std::int32_t asInt32() const
Get 32-bit integer value.
Definition: Value.cpp:204
bool getFormat7WindowDC1394(unsigned int &xdim, unsigned int &ydim, int &x0, int &y0) override
bool setFormat7WindowDC1394(unsigned int xdim, unsigned int ydim, int x0, int y0) override
bool getFormat7MaxWindowDC1394(unsigned int &xdim, unsigned int &ydim, unsigned int &xstep, unsigned int &ystep, unsigned int &xoffstep, unsigned int &yoffstep) override