YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
FrameGrabberControlsDC1394_Responder.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/LogStream.h>
11
13
15{
16 fgCtrl_DC1394 = interface;
17 return true;
18}
19
21{
22 if (!fgCtrl_DC1394) {
23 yWarning() << "FrameGrabberControlsDC1394_Responder: firewire interface not implemented in subdevice, some features could not be available";
24 return yarp::dev::DeviceResponder::respond(cmd, response);
25 }
26
27 int code = cmd.get(1).asVocab32();
28 switch (code) {
29 case VOCAB_DRGETMSK:
30 response.addInt32(int(fgCtrl_DC1394->getVideoModeMaskDC1394()));
31 return true;
32
33 case VOCAB_DRGETVMD:
34 response.addInt32(int(fgCtrl_DC1394->getVideoModeDC1394()));
35 return true;
36
37 case VOCAB_DRSETVMD:
38 response.addInt32(int(fgCtrl_DC1394->setVideoModeDC1394(cmd.get(1).asInt32())));
39 return true;
40
41 case VOCAB_DRGETFPM:
42 response.addInt32(int(fgCtrl_DC1394->getFPSMaskDC1394()));
43 return true;
44
45 case VOCAB_DRGETFPS:
46 response.addInt32(int(fgCtrl_DC1394->getFPSDC1394()));
47 return true;
48
49 case VOCAB_DRSETFPS:
50 response.addInt32(int(fgCtrl_DC1394->setFPSDC1394(cmd.get(1).asInt32())));
51 return true;
52
53 case VOCAB_DRGETISO:
54 response.addInt32(int(fgCtrl_DC1394->getISOSpeedDC1394()));
55 return true;
56
57 case VOCAB_DRSETISO:
58 response.addInt32(int(fgCtrl_DC1394->setISOSpeedDC1394(cmd.get(1).asInt32())));
59 return true;
60
61 case VOCAB_DRGETCCM:
62 response.addInt32(int(fgCtrl_DC1394->getColorCodingMaskDC1394(cmd.get(1).asInt32())));
63 return true;
64
65 case VOCAB_DRGETCOD:
66 response.addInt32(int(fgCtrl_DC1394->getColorCodingDC1394()));
67 return true;
68
69 case VOCAB_DRSETCOD:
70 response.addInt32(int(fgCtrl_DC1394->setColorCodingDC1394(cmd.get(1).asInt32())));
71 return true;
72
73 case VOCAB_DRGETF7M:
74 {
75 unsigned int xstep;
76 unsigned int ystep;
77 unsigned int xdim;
78 unsigned int ydim;
79 unsigned int xoffstep;
80 unsigned int yoffstep;
81 fgCtrl_DC1394->getFormat7MaxWindowDC1394(xdim, ydim, xstep, ystep, xoffstep, yoffstep);
82 response.addInt32(xdim);
83 response.addInt32(ydim);
84 response.addInt32(xstep);
85 response.addInt32(ystep);
86 response.addInt32(xoffstep);
87 response.addInt32(yoffstep);
88 }
89 return true;
90
91 case VOCAB_DRGETWF7:
92 {
93 unsigned int xdim;
94 unsigned int ydim;
95 int x0;
96 int y0;
97 fgCtrl_DC1394->getFormat7WindowDC1394(xdim, ydim, x0, y0);
98 response.addInt32(xdim);
99 response.addInt32(ydim);
100 response.addInt32(x0);
101 response.addInt32(y0);
102 }
103 return true;
104
105 case VOCAB_DRSETWF7:
106 response.addInt32(int(fgCtrl_DC1394->setFormat7WindowDC1394(cmd.get(1).asInt32(), cmd.get(2).asInt32(), cmd.get(3).asInt32(), cmd.get(4).asInt32())));
107 return true;
108
109 case VOCAB_DRSETOPM:
110 response.addInt32(int(fgCtrl_DC1394->setOperationModeDC1394(cmd.get(1).asInt32() != 0)));
111 return true;
112
113 case VOCAB_DRGETOPM:
114 response.addInt32(fgCtrl_DC1394->getOperationModeDC1394());
115 return true;
116
117 case VOCAB_DRSETTXM:
118 response.addInt32(int(fgCtrl_DC1394->setTransmissionDC1394(cmd.get(1).asInt32() != 0)));
119 return true;
120
121 case VOCAB_DRGETTXM:
122 response.addInt32(fgCtrl_DC1394->getTransmissionDC1394());
123 return true;
124
125 case VOCAB_DRSETBCS:
126 response.addInt32(int(fgCtrl_DC1394->setBroadcastDC1394(cmd.get(1).asInt32() != 0)));
127 return true;
128
129 case VOCAB_DRSETDEF:
130 response.addInt32(int(fgCtrl_DC1394->setDefaultsDC1394()));
131 return true;
132
133 case VOCAB_DRSETRST:
134 response.addInt32(int(fgCtrl_DC1394->setResetDC1394()));
135 return true;
136
137 case VOCAB_DRSETPWR:
138 response.addInt32(int(fgCtrl_DC1394->setPowerDC1394(cmd.get(1).asInt32() != 0)));
139 return true;
140
141 case VOCAB_DRSETCAP:
142 response.addInt32(int(fgCtrl_DC1394->setCaptureDC1394(cmd.get(1).asInt32() != 0)));
143 return true;
144
145 case VOCAB_DRSETBPP:
146 response.addInt32(int(fgCtrl_DC1394->setBytesPerPacketDC1394(cmd.get(1).asInt32())));
147 return true;
148
149 case VOCAB_DRGETBPP:
150 response.addInt32(fgCtrl_DC1394->getBytesPerPacketDC1394());
151 return true;
152 }
153
154 return true;
155}
constexpr yarp::conf::vocab32_t VOCAB_DRGETISO
constexpr yarp::conf::vocab32_t VOCAB_DRSETFPS
constexpr yarp::conf::vocab32_t VOCAB_DRSETDEF
constexpr yarp::conf::vocab32_t VOCAB_DRSETVMD
constexpr yarp::conf::vocab32_t VOCAB_DRSETWF7
constexpr yarp::conf::vocab32_t VOCAB_DRGETF7M
constexpr yarp::conf::vocab32_t VOCAB_DRSETBCS
constexpr yarp::conf::vocab32_t VOCAB_DRSETCAP
constexpr yarp::conf::vocab32_t VOCAB_DRSETCOD
constexpr yarp::conf::vocab32_t VOCAB_DRGETMSK
constexpr yarp::conf::vocab32_t VOCAB_DRGETFPS
constexpr yarp::conf::vocab32_t VOCAB_DRSETOPM
constexpr yarp::conf::vocab32_t VOCAB_DRGETBPP
constexpr yarp::conf::vocab32_t VOCAB_DRSETPWR
constexpr yarp::conf::vocab32_t VOCAB_DRGETCCM
constexpr yarp::conf::vocab32_t VOCAB_DRGETTXM
constexpr yarp::conf::vocab32_t VOCAB_DRSETRST
constexpr yarp::conf::vocab32_t VOCAB_DRSETBPP
constexpr yarp::conf::vocab32_t VOCAB_DRGETWF7
constexpr yarp::conf::vocab32_t VOCAB_DRGETVMD
constexpr yarp::conf::vocab32_t VOCAB_DRGETFPM
constexpr yarp::conf::vocab32_t VOCAB_DRSETTXM
constexpr yarp::conf::vocab32_t VOCAB_DRGETCOD
constexpr yarp::conf::vocab32_t VOCAB_DRSETISO
constexpr yarp::conf::vocab32_t VOCAB_DRGETOPM
#define yWarning(...)
Definition Log.h:340
virtual bool respond(const yarp::os::Bottle &command, yarp::os::Bottle &reply)
Respond to a message.
Control interface for frame grabber devices that conform to the 1394-based Digital Camera Specificati...
virtual unsigned int getISOSpeedDC1394()=0
virtual bool setISOSpeedDC1394(int speed)=0
virtual unsigned int getBytesPerPacketDC1394()=0
virtual bool setPowerDC1394(bool onoff)=0
virtual unsigned int getFPSMaskDC1394()=0
virtual bool getFormat7WindowDC1394(unsigned int &xdim, unsigned int &ydim, int &x0, int &y0)=0
virtual unsigned int getFPSDC1394()=0
virtual bool setFormat7WindowDC1394(unsigned int xdim, unsigned int ydim, int x0, int y0)=0
virtual unsigned int getVideoModeDC1394()=0
virtual bool setBroadcastDC1394(bool onoff)=0
virtual bool setBytesPerPacketDC1394(unsigned int bpp)=0
virtual bool setColorCodingDC1394(int coding)=0
virtual bool getFormat7MaxWindowDC1394(unsigned int &xdim, unsigned int &ydim, unsigned int &xstep, unsigned int &ystep, unsigned int &xoffstep, unsigned int &yoffstep)=0
virtual bool setFPSDC1394(int fps)=0
virtual bool setVideoModeDC1394(int video_mode)=0
virtual unsigned int getColorCodingMaskDC1394(unsigned int video_mode)=0
virtual unsigned int getVideoModeMaskDC1394()=0
virtual unsigned int getColorCodingDC1394()=0
virtual bool setCaptureDC1394(bool bON)=0
virtual bool setOperationModeDC1394(bool b1394b)=0
virtual bool setTransmissionDC1394(bool bTxON)=0
A simple collection of objects that can be described and transmitted in a portable way.
Definition Bottle.h:64
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
virtual yarp::conf::vocab32_t asVocab32() const
Get vocabulary identifier as an integer.
Definition Value.cpp:228
virtual std::int32_t asInt32() const
Get 32-bit integer value.
Definition Value.cpp:204
bool respond(const yarp::os::Bottle &cmd, yarp::os::Bottle &response) override
Respond to a message.