ngc 1.4.0
 
Loading...
Searching...
No Matches
ngcdcsSHUTTER.hpp
Go to the documentation of this file.
1
7#ifndef ngcdcsSHUTTER_H
8#define ngcdcsSHUTTER_H
9
10
11#ifndef __cplusplus
12#error This is a C++ include file and cannot be used from plain C
13#endif
14
15#include <ngc/core/ngcbAddr.h>
16#include <ngc/core/ngcbMOD.hpp>
17
21#define ngcdcsSHUTTER_NGCII 0x00010000
22
23/*
24 * Shutter modes
25 */
26#define ngcdcsSHUTTER_MODE_NORMAL 0x0 //< normal mode
27#define ngcdcsSHUTTER_MODE_DIRECT 0x1 //< direct mode
28#define ngcdcsSHUTTER_MODE_SEQ1 0x2 //< sequencer mode without handshake
29#define ngcdcsSHUTTER_MODE_SEQ2 0x3 //< sequencer mode with handshake
30
35{
36public:
38 explicit ngcdcsSHUTTER(const ngcb_route_t &r);
39
41 ngcdcsSHUTTER(ngcbIFC *ifc, const ngcb_route_t &r);
42
44 virtual ~ngcdcsSHUTTER();
45
47 virtual void Reset();
48
50 virtual int Enable(int check = 1);
51
53 virtual int Disable();
54
56 virtual int Selftest();
57
59 virtual int Action(const char *action, char *reply = NULL);
60
62 virtual int SetupKey(const char *key, const int *idx, const char *value,
63 int *status = NULL);
64
66 virtual int StatusKey(const char *key, const int *idx, char *value,
67 int *status = NULL);
68
69protected:
70
71private:
73 int ctrlReg_;
74
76 int completed_;
77
79 unsigned int expTime_;
80
82 int dark_;
83
85 int openActHi_;
86
88 int reEvt_[4];
89
91 int aux_;
92
94 int mode_;
95
97 void Init_();
98
100 int Status_(int *hwStatus, int check=0);
101
103 int Completed_();
104
106 int Start_();
107
109 int Abort_();
110
112 int Pause_();
113
115 int ResetShutter_();
116
118 int ExpTime_(unsigned int ms);
119
121 int ExpTime_(unsigned int *ms);
122
124 int Dark_(int flag);
125
127 int Aux_(int flag);
128
130 int OpenActHi_(int flag);
131
133 int Mode_(int newMode);
134
136 int EventRising_(int idx, int re);
137};
138
139#endif
Definition ngcbIFC.hpp:754
ngcbMOD(const ngcbMOD &other)
Copy constructor.
Definition ngcbMOD.cpp:43
virtual int Disable()
Call-back at transition to not operational state.
Definition ngcdcsSHUTTER.cpp:97
virtual int Enable(int check=1)
Call-back at transition to operational state.
Definition ngcdcsSHUTTER.cpp:82
virtual int StatusKey(const char *key, const int *idx, char *value, int *status=NULL)
Status.
Definition ngcdcsShutterStatus.cpp:25
virtual int Action(const char *action, char *reply=NULL)
Perform a shutter action.
Definition ngcdcsSHUTTER.cpp:376
virtual int SetupKey(const char *key, const int *idx, const char *value, int *status=NULL)
Setup.
Definition ngcdcsShutterSetup.cpp:25
virtual int Selftest()
Execute selftest.
Definition ngcdcsSHUTTER.cpp:102
virtual void Reset()
Align software state after reset.
Definition ngcdcsSHUTTER.cpp:72
ngcdcsSHUTTER(const ngcb_route_t &r)
Constructor with route.
Definition ngcdcsSHUTTER.cpp:29
virtual ~ngcdcsSHUTTER()
Destructor.
Definition ngcdcsSHUTTER.cpp:44
Definition ngcbIFC.hpp:72