YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
dc1394thread.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2025-2025 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: LGPL-2.1-or-later
4 */
5
6#ifndef DC1394THREAD_H
7#define DC1394THREAD_H
8
9#include <QThread>
12#include <yarp/dev/PolyDriver.h>
13#include <QMutex>
14#include <QWaitCondition>
15#include <QSize>
16#include <QQueue>
17#include <QVariant>
18
47
48class DC1394Thread : public QThread
49{
50 Q_OBJECT
51
52
53
54public:
55 explicit DC1394Thread(std::string loc, std::string rem, QObject* parent = 0);
56 void stop();
57 void initFormatTab();
58 void init();
59 void reload();
60 void reset();
61 void loadDefualt();
62 void setTransmissionDC1394(QVariantList arg);
63 void setPowerDC1394(QVariantList arg);
64 void setFormat7WindowDC1394(QVariantList arg);
65 void setVideoModeDC1394(QVariantList arg);
66 void setColorCodingDC1394(QVariantList arg);
67 void setFPSDC1394(QVariantList arg);
68 void setISOSpeedDC1394(QVariantList);
69 void setBytesPerPacketDC1394(QVariantList arg);
70 void setOperationModeDC1394(QVariantList arg);
71
72 /*** Sliders ***/
73 void sliderRefresh(QVariantList arg);
74 void sliderWBRefresh(QVariantList arg);
75 void sliderPropagate(QVariantList arg);
76 void sliderWBPropagate(QVariantList arg);
77 void sliderSetFeatureDC1394(QVariantList arg);
78 void sliderWBSetFeatureDC1394(QVariantList arg);
79 void sliderOnePush(QVariantList arg);
80 void sliderWBOnePush(QVariantList arg);
81 void sliderRadioAuto(QVariantList arg);
82 void sliderPower(QVariantList arg);
83 void sliderHasFeature(QVariantList arg);
85
86private:
87 yarp::dev::PolyDriver *grabberControl =nullptr;
88 yarp::dev::IFrameGrabberControls* fgControl = nullptr;
89 yarp::dev::IFrameGrabberControlsDC1394* DC1394Control = nullptr;
90
91 QMutex semaphore;
92
93 QMutex mutex;
94 QMutex mutex1;
95 QWaitCondition waitCond;
96 bool keepRunning;
97
98 QString rem;
99 QString loc;
100
101
102 QQueue <QVariantList> taskList;
103
104 int opCounter;
105
106protected:
107 void run();
108
109signals:
110 void done();
111 void initFormatTabDone(uint,uint,uint);
112 void initDone(uint,uint,uint,
113 bool, uint, QSize, QSize, QSize,
114 QSize,QSize,uint,bool);
115 void reloadDone(uint,uint,QSize, QSize, QSize,
116 QSize,QSize,uint,uint,uint,uint,uint);
117
118 void resetDone(uint,uint,bool);
119 void loadDefaultDone(uint,uint,bool);
129 void sliderRefreshDone(QObject*,bool,bool,bool,bool,bool,bool,double);
130 void sliderWBRefreshDone(QObject*,bool,bool,bool,bool,bool,bool,double,double);
133 void sliderSetFeatureDC1394Done(QObject*,double);
134 void sliderWBSetFeatureDC1394Done(QObject*,double,double);
135 void sliderOnePushDone(QObject*,double);
136 void sliderWBOnePushDone(QObject*,double,double);
137 void sliderRadioAutoDone(QObject*,bool,bool);
138 void sliderPowerDone(QObject*,bool,bool,bool,bool);
139 void sliderHasFeatureDone(QObject*,bool);
140
143
144public slots:
146 void doTask(threadFunction, QVariantList args);
147
148};
149
150#endif // DC1394THREAD_H
CameraDescriptor camera
void sliderPower(QVariantList arg)
void setPowerDC1394Done()
void setFormat7WindowDC1394(QVariantList arg)
void reloadDone(uint, uint, QSize, QSize, QSize, QSize, QSize, uint, uint, uint, uint, uint)
void sliderSetFeatureDC1394Done(QObject *, double)
void setTransmissionDC1394(QVariantList arg)
void sliderWBRefreshDone(QObject *, bool, bool, bool, bool, bool, bool, double, double)
void sliderOnePush(QVariantList arg)
void setFPSDC1394Done()
void startLoading()
void sliderHasFeatureDone(QObject *, bool)
void setBytesPerPacketDC1394(QVariantList arg)
void setTransmissionDC1394Done()
void setColorCodingDC1394(QVariantList arg)
void sliderWBSetFeatureDC1394Done(QObject *, double, double)
void sliderPropagate(QVariantList arg)
void sliderRefresh(QVariantList arg)
void setOperationModeDC1394(QVariantList arg)
void sliderRadioAuto(QVariantList arg)
void sliderSetFeatureDC1394(QVariantList arg)
void sliderOnePushDone(QObject *, double)
void setPowerDC1394(QVariantList arg)
void setISOSpeedDC1394(QVariantList)
void setISOSpeedDC1394Done()
void stopLoading()
void sliderRefreshDone(QObject *, bool, bool, bool, bool, bool, bool, double)
void doTask(threadFunction)
void sliderWBSetFeatureDC1394(QVariantList arg)
void setOperationModeDC1394Done()
void loadDefaultDone(uint, uint, bool)
bool getCameraDescription(yarp::dev::CameraDescriptor &camera)
void sliderWBOnePush(QVariantList arg)
void setColorCodingDC1394Done()
void setVideoModeDC1394Done()
void resetDone(uint, uint, bool)
void setFormat7WindowDC1394Done()
void sliderWBRefresh(QVariantList arg)
void setBytesPerPacketDC1394Done()
void initFormatTabDone(uint, uint, uint)
void sliderPowerDone(QObject *, bool, bool, bool, bool)
void sliderHasFeature(QVariantList arg)
void sliderRadioAutoDone(QObject *, bool, bool)
void sliderWBOnePushDone(QObject *, double, double)
void initDone(uint, uint, uint, bool, uint, QSize, QSize, QSize, QSize, QSize, uint, bool)
void setVideoModeDC1394(QVariantList arg)
void sliderWBPropagate(QVariantList arg)
void sliderPropagateDone()
void sliderWBPropagateDone()
void setFPSDC1394(QVariantList arg)
Control interface for frame grabber devices that conform to the 1394-based Digital Camera Specificati...
Control interface for frame grabber devices.
A container for a device driver.
Definition PolyDriver.h:23
threadFunction
@ _setOperationModeDC1394
@ _setBytesPerPacketDC1394
@ _setFPSDC1394
@ _setPowerDC1394
@ _initFormatTab
@ _setTransmissionDC1394
@ _unknown
@ _sliderOnePush
@ _sliderSetFeature
@ _init
@ _sliderPropagate
@ _sliderWBOnePush
@ _reload
@ _sliderRadioAuto
@ _sliderRefresh
@ _sliderWBPropagate
@ _setVideoModeDC1394
@ _setISOSpeedDC1394
@ _loadDefault
@ _setFormat7WindowDC1394
@ _sliderWBRefresh
@ _sliderPower
@ _reset
@ _setColorCodingDC1394
@ _sliderWBSetFeature
@ _sliderHasFeature