QXRD  0.11.16
Public Member Functions | Protected Member Functions | Private Slots | Private Attributes | List of all members
QxrdSynchronizedAcquisitionDialog Class Reference

#include <qxrdsynchronizedacquisitiondialog.h>

Inheritance diagram for QxrdSynchronizedAcquisitionDialog:
Inheritance graph
[legend]
Collaboration diagram for QxrdSynchronizedAcquisitionDialog:
Collaboration graph
[legend]

Public Member Functions

 QxrdSynchronizedAcquisitionDialog (QxrdSynchronizedAcquisitionDialogSettingsWPtr settings, QWidget *parent, QxrdAcquisitionWPtr acq)
 
 ~QxrdSynchronizedAcquisitionDialog ()
 

Protected Member Functions

void changeEvent (QEvent *e)
 

Private Slots

void deviceChanged ()
 
void waveformChanged ()
 

Private Attributes

QxrdSynchronizedAcquisitionDialogSettingsWPtr m_DialogSettings
 
QxrdAcquisitionWPtr m_Acquisition
 
QxrdSynchronizedAcquisitionWPtr m_SynchronizedAcquisition
 

Detailed Description

Definition at line 10 of file qxrdsynchronizedacquisitiondialog.h.

Constructor & Destructor Documentation

QxrdSynchronizedAcquisitionDialog::QxrdSynchronizedAcquisitionDialog ( QxrdSynchronizedAcquisitionDialogSettingsWPtr  settings,
QWidget *  parent,
QxrdAcquisitionWPtr  acq 
)
explicit

Definition at line 9 of file qxrdsynchronizedacquisitiondialog.cpp.

References DEBUG_CONSTRUCTORS, deviceChanged(), m_DialogSettings, m_SynchronizedAcquisition, qcepDebug(), QxrdSynchronizedAcquisition::setManualOutput(), QxrdSynchronizedAcquisition::triggerOnce(), QcepDoubleProperty::valueChanged(), QcepIntProperty::valueChanged(), QcepStringProperty::valueChanged(), and waveformChanged().

12  :
13 
14  QDockWidget(parent),
15  m_DialogSettings(settings),
16  m_Acquisition(acqw),
18 {
20  printf("QxrdSynchronizedAcquisitionDialog::QxrdSynchronizedAcquisitionDialog(%p)\n", this);
21  }
22 
23  setupUi(this);
24 
26 
27  if (set) {
28  m_WaveformPlot->init(set->synchronizedAcquisitionPlotSettings());
29  }
30 
31  QxrdAcquisitionPtr acq(acqw);
32 
33  if (acq) {
34  m_SynchronizedAcquisition = acq->synchronizedAcquisition();
35 
36  m_SyncAcqMode -> addItem("None");
37  m_SyncAcqMode -> addItem("Stepped Output");
38  m_SyncAcqMode -> addItem("Continuous Output");
39 
40  m_SyncAcqWfm -> addItem("Square");
41  m_SyncAcqWfm -> addItem("Sine");
42  m_SyncAcqWfm -> addItem("Triangle");
43  m_SyncAcqWfm -> addItem("Sawtooth");
44  m_SyncAcqWfm -> addItem("Bipolar Triangle");
45 
46  m_SyncAcqMinimum -> setMinimum(-10.0);
47  m_SyncAcqMinimum -> setMaximum(10.0);
48  m_SyncAcqMinimum -> setSingleStep(0.1);
49 
50  m_SyncAcqMaximum -> setMinimum(-10.0);
51  m_SyncAcqMaximum -> setMaximum(10.0);
52  m_SyncAcqMaximum -> setSingleStep(0.1);
53 
54  m_SyncAcqSymmetry -> setMinimum(-1.0);
55  m_SyncAcqSymmetry -> setMaximum(1.0);
56  m_SyncAcqSymmetry -> setSingleStep(0.1);
57 
58  m_SyncAcqPhaseShift -> setMinimum(-100.0);
59  m_SyncAcqPhaseShift -> setMaximum(100.0);
60  m_SyncAcqPhaseShift -> setSingleStep(1);
61 
63 
64  if (sync) {
65  QxrdNIDAQPluginInterfacePtr nidaq = sync->nidaqPlugin();
66 
67  if (nidaq) {
68  QStringList devices = nidaq->deviceNames();
69 
70  foreach(QString device, devices) {
71  QString desc = nidaq->deviceType(device);
72  int isSim = nidaq->deviceIsSimulated(device);
73 
74  QString item = device+" : "+desc;
75 
76  if (isSim) {
77  item += " [simulated]";
78  }
79 
80  m_SyncAcqOutDevice->addItem(item, device);
81  }
82  }
83 
84  sync -> prop_SyncAcquisitionMode() -> linkTo(m_SyncAcqMode);
85  sync -> prop_SyncAcquisitionWaveform() -> linkTo(m_SyncAcqWfm);
86  sync -> prop_SyncAcquisitionOutputDevice() -> linkTo(m_SyncAcqOutDevice);
87  sync -> prop_SyncAcquisitionOutputChannel() -> linkTo(m_SyncAcqOutChan);
88 
89  sync -> prop_SyncAcquisitionMinimum() -> linkTo(m_SyncAcqMinimum);
90  sync -> prop_SyncAcquisitionMaximum() -> linkTo(m_SyncAcqMaximum);
91  sync -> prop_SyncAcquisitionSymmetry() -> linkTo(m_SyncAcqSymmetry);
92  sync -> prop_SyncAcquisitionPhaseShift() -> linkTo(m_SyncAcqPhaseShift);
93  sync -> prop_SyncAcquisitionManualValue() -> linkTo(m_ManualOutputVolts);
94 
95  connect(sync -> prop_SyncAcquisitionOutputDevice(), &QcepStringProperty::valueChanged, this, &QxrdSynchronizedAcquisitionDialog::deviceChanged);
96  connect(sync -> prop_SyncAcquisitionOutputChannel(), &QcepStringProperty::valueChanged, this, &QxrdSynchronizedAcquisitionDialog::waveformChanged);
97  connect(sync -> prop_SyncAcquisitionMode(), &QcepIntProperty::valueChanged, this, &QxrdSynchronizedAcquisitionDialog::waveformChanged);
98  connect(sync -> prop_SyncAcquisitionWaveform(), &QcepIntProperty::valueChanged, this, &QxrdSynchronizedAcquisitionDialog::waveformChanged);
99  connect(sync -> prop_SyncAcquisitionMinimum(), &QcepDoubleProperty::valueChanged, this, &QxrdSynchronizedAcquisitionDialog::waveformChanged);
100  connect(sync -> prop_SyncAcquisitionMaximum(), &QcepDoubleProperty::valueChanged, this, &QxrdSynchronizedAcquisitionDialog::waveformChanged);
101  connect(sync -> prop_SyncAcquisitionSymmetry(), &QcepDoubleProperty::valueChanged, this, &QxrdSynchronizedAcquisitionDialog::waveformChanged);
102  connect(sync -> prop_SyncAcquisitionPhaseShift(), &QcepDoubleProperty::valueChanged, this, &QxrdSynchronizedAcquisitionDialog::waveformChanged);
103 
104  connect(m_ManualOutput, &QAbstractButton::clicked, sync.data(), &QxrdSynchronizedAcquisition::setManualOutput);
105  connect(m_ManualTrigger, &QAbstractButton::clicked, sync.data(), &QxrdSynchronizedAcquisition::triggerOnce);
106  }
107 
109  connect(acq->prop_PhasesInGroup(), &QcepIntProperty::valueChanged, this, &QxrdSynchronizedAcquisitionDialog::waveformChanged);
110 
111  deviceChanged();
112  waveformChanged();
113  }
114 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26
void valueChanged(QString val, int index)
QSharedPointer< QxrdAcquisition > QxrdAcquisitionPtr
QSharedPointer< QxrdSynchronizedAcquisition > QxrdSynchronizedAcquisitionPtr
QxrdSynchronizedAcquisitionWPtr m_SynchronizedAcquisition
QxrdSynchronizedAcquisitionDialogSettingsWPtr m_DialogSettings
QSharedPointer< QxrdNIDAQPluginInterface > QxrdNIDAQPluginInterfacePtr
QSharedPointer< QxrdSynchronizedAcquisitionDialogSettings > QxrdSynchronizedAcquisitionDialogSettingsPtr
void valueChanged(double val, int index)
void valueChanged(int val, int index)

Here is the call graph for this function:

QxrdSynchronizedAcquisitionDialog::~QxrdSynchronizedAcquisitionDialog ( )

Definition at line 116 of file qxrdsynchronizedacquisitiondialog.cpp.

References DEBUG_CONSTRUCTORS, and qcepDebug().

117 {
119  printf("QxrdSynchronizedAcquisitionDialog::~QxrdSynchronizedAcquisitionDialog(%p)\n", this);
120  }
121 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26

Here is the call graph for this function:

Member Function Documentation

void QxrdSynchronizedAcquisitionDialog::changeEvent ( QEvent *  e)
protected

Definition at line 123 of file qxrdsynchronizedacquisitiondialog.cpp.

124 {
125  QDockWidget::changeEvent(e);
126  switch (e->type()) {
127  case QEvent::LanguageChange:
128  retranslateUi(this);
129  break;
130  default:
131  break;
132  }
133 }
void QxrdSynchronizedAcquisitionDialog::deviceChanged ( )
privateslot

Definition at line 135 of file qxrdsynchronizedacquisitiondialog.cpp.

References m_SynchronizedAcquisition.

Referenced by QxrdSynchronizedAcquisitionDialog().

136 {
138 
139  if (sync) {
140  QxrdNIDAQPluginInterfacePtr nidaq = sync->nidaqPlugin();
141 
142  if (nidaq) {
143  QStringList aoChannels = nidaq->deviceAOChannels(sync->get_SyncAcquisitionOutputDevice());
144 
145  bool blocked = m_SyncAcqOutChan->blockSignals(true);
146  m_SyncAcqOutChan->clear();
147 
148  foreach(QString chan, aoChannels) {
149  m_SyncAcqOutChan->addItem(chan, chan);
150  }
151 
152  m_SyncAcqOutChan->blockSignals(blocked);
153  }
154  }
155 }
QSharedPointer< QxrdSynchronizedAcquisition > QxrdSynchronizedAcquisitionPtr
QxrdSynchronizedAcquisitionWPtr m_SynchronizedAcquisition
QSharedPointer< QxrdNIDAQPluginInterface > QxrdNIDAQPluginInterfacePtr

Here is the caller graph for this function:

void QxrdSynchronizedAcquisitionDialog::waveformChanged ( )
privateslot

Definition at line 157 of file qxrdsynchronizedacquisitiondialog.cpp.

References m_Acquisition, and m_SynchronizedAcquisition.

Referenced by QxrdSynchronizedAcquisitionDialog().

158 {
161 
162  if (acq && sync) {
163  QxrdAcquisitionParameterPackPtr parms(acq->acquisitionParameterPack());
164 
165  if (parms) {
166  sync->prepareForAcquisition(parms);
167 
168  m_WaveformPlot->detachItems(QwtPlotItem::Rtti_PlotCurve);
169  m_WaveformPlot->detachItems(QwtPlotItem::Rtti_PlotMarker);
170 
171  if (sync -> get_SyncAcquisitionMode() && (parms->nphases() >= 1)) {
172  QwtPlotCurve *pc = new QwtPlotPiecewiseCurve(m_WaveformPlot, "Output Waveform");
173 
174  pc->setSamples(sync->outputTimes(), sync->outputVoltage());
175 
176  pc->attach(m_WaveformPlot);
177  }
178 
179  m_WaveformPlot->updateZoomer();
180  m_WaveformPlot->replot();
181 
182  sync->finishedAcquisition();
183  }
184  }
185 }
QSharedPointer< QxrdAcquisition > QxrdAcquisitionPtr
QSharedPointer< QxrdSynchronizedAcquisition > QxrdSynchronizedAcquisitionPtr
A class which draws piecewise curves.
QxrdSynchronizedAcquisitionWPtr m_SynchronizedAcquisition
QSharedPointer< QxrdAcquisitionParameterPack > QxrdAcquisitionParameterPackPtr

Here is the caller graph for this function:

Member Data Documentation

QxrdAcquisitionWPtr QxrdSynchronizedAcquisitionDialog::m_Acquisition
private

Definition at line 31 of file qxrdsynchronizedacquisitiondialog.h.

Referenced by waveformChanged().

QxrdSynchronizedAcquisitionDialogSettingsWPtr QxrdSynchronizedAcquisitionDialog::m_DialogSettings
private
QxrdSynchronizedAcquisitionWPtr QxrdSynchronizedAcquisitionDialog::m_SynchronizedAcquisition
private

The documentation for this class was generated from the following files: