SEPIA
Software documentation for the APEX SEPIA receivers
phaselockloop.h
Go to the documentation of this file.
1 /* Copyright 2017 Michael Olberg <michael.olberg@chalmers.se> */
2 #ifndef PHASELOCKLOOP_H
3 #define PHASELOCKLOOP_H
4 
5 #include <QWidget>
6 #include <QLabel>
7 #include <qwt_thermo.h>
8 
9 #include "led.h"
10 
19 class PhaseLockLoop : public QWidget
20 {
21  Q_OBJECT
22  Q_PROPERTY(bool lock READ isLocked)
23  Q_PROPERTY(int yig READ getYIG WRITE updateYIG)
24  Q_PROPERTY(double yigFreq READ yigFreq)
25  Q_PROPERTY(bool expertMode READ expertMode WRITE setExpertMode)
26 
27  public:
28  explicit PhaseLockLoop(QWidget *parent = 0);
29  bool isLocked() const;
30  double yigFreq() const;
31  int getYIG() const { return m_yig; }
32  void setScaling(double low, double high);
33  bool expertMode() const { return m_expert; }
34 
35  public slots:
40  void reset();
41 
45  void showPllLock(bool locked, float Vlock, float Vcorr);
46  // void setYIG(int value);
47  void updateYIG(int value);
48  void setExpertMode(bool flag);
49 
50  private:
51  QwtThermo *lockV;
52  QwtThermo *corrV;
53  LED *pllLED;
54  QLabel *yig;
55  bool m_locked;
56  int m_yig;
57  double m_yiglimits[2];
58  bool m_expert;
59 };
60 
61 #endif // PHASELOCKLOOP_H
A class to represent the phase lock loop in the GUI.
Definition: phaselockloop.h:19
void showPllLock(bool locked, float Vlock, float Vcorr)
Slot called to display PLL lock status.
Definition: phaselockloop.cpp:111
void reset()
reset the widget after a band de-selection
Definition: phaselockloop.cpp:140