qpidctrl  0.7.1
qpiddevicethread.cpp
Go to the documentation of this file.
1 #include "qpiddevicethread.h"
2 #include "qwatlowdevicethread.h"
3 #include "qptc10devicethread.h"
7 
9  QThread(NULL),
10  m_DeviceName(deviceName),
11  m_Controller(ctl)
12 {
13 }
14 
16 {
17  exit();
18  wait();
19 }
20 
22 {
23  return m_Device;
24 }
25 
27 {
28  while (isRunning() && m_Device == NULL) {
29  QThread::msleep(100);
30  }
31 
32  return m_Device;
33 }
34 
36 {
37  switch (deviceKind) {
39  return QPidDeviceThreadPtr(new QWatlowDeviceThread(ctl, deviceName));
40 
42  return QPidDeviceThreadPtr(new QPTC10DeviceThread(ctl, deviceName));
43 
45  return QPidDeviceThreadPtr(new QLakeshoreDeviceThread(ctl, deviceName));
46 
48  return QPidDeviceThreadPtr(new QCryostreamDeviceThread(ctl, deviceName));
49 
51  return QPidDeviceThreadPtr(new QEurothermDeviceThread(ctl, deviceName));
52 
53  default:
54  return QPidDeviceThreadPtr();
55  }
56 }
57 
59 {
60  QStringList res;
61 
62  res << "No Device"
63  << "Watlow 988 Series Controller"
64  << "Stanford PTC-10 Controller"
65  << "Lakeshore 3xx Controller"
66  << "Oxford Cryostream Controller"
67  << "Eurotherm 24xx Series Controller";
68 
69  return res;
70 }
71 
73 {
74  return QPidDeviceThread::deviceTypeNames().value(n);
75 }
QPidDevicePtr waitForDevice() const
QSharedPointer< QPidDevice > QPidDevicePtr
Definition: qpiddevice-ptr.h:6
QPidControllerWPtr m_Controller
QWeakPointer< QPidController > QPidControllerWPtr
virtual ~QPidDeviceThread()
QPidDeviceThread(QPidControllerWPtr ctl, QString deviceName)
QSharedPointer< QPidDeviceThread > QPidDeviceThreadPtr
QPidDevicePtr device() const
static QString deviceTypeName(int n)
QPidDevicePtr m_Device
static QStringList deviceTypeNames()
static QPidDeviceThreadPtr createDevice(QPidControllerWPtr ctl, int deviceKind, QString deviceName)