~vbursian/research-assistant/intervers

« back to all changes in this revision

Viewing changes to RAPlugins/RigakuAPRI/APRI_ML327_Counter.h

  • Committer: Viktor Bursian
  • Date: 2013-06-06 15:10:08 UTC
  • Revision ID: vbursian@gmail.com-20130606151008-6641eh62f0lgx8jt
Tags: version_0.3.0
version 0.3.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 
27
27
*/
28
28
class  RigakuAPRI_EXPORT  sAPRI_ML327_Counter : public sPeriodicGage
29
 
//class sAPRI_ML327_Counter : public QObject ,public sDriver
30
29
{
31
30
  Q_OBJECT
32
31
  DRIVER(sAPRI_ML327_Counter)
34
33
    virtual                   ~sAPRI_ML327_Counter ();
35
34
    virtual void              Connect ();
36
35
    virtual void              Disconnect ();
37
 
    void                      StartScan (int TimePar, int Multiple);
38
 
    void                      StartCount (int TimePar, int Multiple);
39
 
    void                      StopCount ();
 
36
    virtual void              SetPeriod (sPhysValue  period);
 
37
    virtual void              Start ();
 
38
    virtual void              Stop ();
 
39
    virtual void              StartWaitingForMarkSignal ();
 
40
 
40
41
    bool                      CountIsStarted();
41
42
 
42
43
    enum contactOrder {NotUsed, OnOff, OffOn};
43
44
 
44
45
  signals:
45
 
    void                      NewData (real);
46
 
    void                      NowStandby ();
47
 
    void                      NowOffline ();
48
 
    void                      ContactOK();
 
46
    void                      GotMarkSignal ();
 
47
                              /*!< Получен сигнал от контактов при развёртке по
 
48
                                   углам в Rigaku (случается при прохождении
 
49
                                   целого значения угла) */
 
50
//    void                      ContactOK();  //не используется - рудимент?
49
51
    void                      ErrorMessage (QByteArray);
50
52
 
51
53
  public slots:
76
78
 
77
79
  private: //fields
78
80
    sTelecom::sPtr            Communicator;
 
81
    sUnits                    CounterUnits;
 
82
    sPhysValue                PeriodQuantum;
 
83
                              /*!< Квант времени для коробочки APRI ML327 */
 
84
    int                       MaxTimePar;
 
85
                              /*!< Максимальное значение TimePar,
 
86
                                   чтобы счётчик не захлёбывался */
 
87
    int                       TimePar;
 
88
                              /*!< Время измерения для коробочки APRI ML327,
 
89
                                   выраженное в её квантах
 
90
                                   (sAPRI_ML327_Counter::PeriodQuantum) */
 
91
    int                       CountsPerStep;// it was called TheMultiple
 
92
                              /*!< Число опросов коробочки APRI ML327,
 
93
                                   аккумулируемых для выдачи одного отсчёта
 
94
                                   sAPRI_ML327_Counter
 
95
                                   (@sa sPeriodicGage::NewData()) */
79
96
    eStatus                   TheStatus;
80
97
    contactOrder              ContactOrder;
81
98
    QByteArray                Command;
82
99
    int                       InitStep;
83
100
    int                       TestStep;
84
 
    int                       TheMultiple;
85
101
    int                       CountNum;
86
102
    long                      PrevCount;
87
103
    long                      SumCount;
88
 
    real                      MeasureTime;
89
104
    bool                      ContactMustBeOn;
90
105
    bool                      ContactStateReached;
 
106
 
 
107
    //! @todo{Rigaku} надо будет передать это в sTelecom
91
108
    QTimer  *                 TimeoutTimer;
92
109
 
93
110
};