ngc 1.5.0
 
Loading...
Searching...
No Matches
ngcdcsSHUTTER.hpp
Go to the documentation of this file.
1
8#ifndef ngcdcsSHUTTER_H
9#define ngcdcsSHUTTER_H
10
11
12#ifndef __cplusplus
13#error This is a C++ include file and cannot be used from plain C
14#endif
15
16#include <ngc/core/ngcbAddr.h>
17#include <ngc/core/ngcbMOD.hpp>
18
22#define ngcdcsSHUTTER_NGCII 0x00010000
23
24/*
25 * Shutter modes
26 */
27#define ngcdcsSHUTTER_MODE_NORMAL 0x0 //< normal mode
28#define ngcdcsSHUTTER_MODE_DIRECT 0x1 //< direct mode
29#define ngcdcsSHUTTER_MODE_SEQ1 0x2 //< sequencer mode without handshake
30#define ngcdcsSHUTTER_MODE_SEQ2 0x3 //< sequencer mode with handshake
31
36{
37public:
39 explicit ngcdcsSHUTTER(const ngcb_route_t &r);
40
42 ngcdcsSHUTTER(ngcbIFC *ifc, const ngcb_route_t &r);
43
45 virtual ~ngcdcsSHUTTER();
46
48 virtual void Reset();
49
51 virtual int Enable(int check = 1);
52
54 virtual int Disable();
55
57 virtual int Selftest();
58
60 virtual int Action(const char *action, char *reply = NULL);
61
63 virtual int SetupKey(const char *key, const int *idx, const char *value,
64 int *status = NULL);
65
67 virtual int StatusKey(const char *key, const int *idx, char *value,
68 int *status = NULL);
69
70protected:
71
72private:
74 int ctrlReg_;
75
77 int completed_;
78
80 unsigned int expTime_;
81
83 int dark_;
84
86 int openActHi_;
87
89 int reEvt_[4];
90
92 int aux_;
93
95 int mode_;
96
98 void Init_();
99
101 int Status_(int *hwStatus, int check=0);
102
104 int Completed_();
105
107 int Start_();
108
110 int Abort_();
111
113 int Pause_();
114
116 int ResetShutter_();
117
119 int ExpTime_(unsigned int ms);
120
122 int ExpTime_(unsigned int *ms);
123
125 int Dark_(int flag);
126
128 int Aux_(int flag);
129
131 int OpenActHi_(int flag);
132
134 int Mode_(int newMode);
135
137 int EventRising_(int idx, int re);
138};
139
140#endif
Definition ngcbIFC.hpp:760
ngcbMOD(const ngcbMOD &other)
Copy constructor.
Definition ngcbMOD.cpp:43
virtual int Disable()
Call-back at transition to not operational state.
Definition ngcdcsSHUTTER.cpp:98
virtual int Enable(int check=1)
Call-back at transition to operational state.
Definition ngcdcsSHUTTER.cpp:83
virtual int StatusKey(const char *key, const int *idx, char *value, int *status=NULL)
Status.
Definition ngcdcsShutterStatus.cpp:26
virtual int Action(const char *action, char *reply=NULL)
Perform a shutter action.
Definition ngcdcsSHUTTER.cpp:377
virtual int SetupKey(const char *key, const int *idx, const char *value, int *status=NULL)
Setup.
Definition ngcdcsShutterSetup.cpp:26
virtual int Selftest()
Execute selftest.
Definition ngcdcsSHUTTER.cpp:103
virtual void Reset()
Align software state after reset.
Definition ngcdcsSHUTTER.cpp:73
ngcdcsSHUTTER(const ngcb_route_t &r)
Constructor with route.
Definition ngcdcsSHUTTER.cpp:30
virtual ~ngcdcsSHUTTER()
Destructor.
Definition ngcdcsSHUTTER.cpp:45
Definition ngcbIFC.hpp:78