tic  130
umipro_tina.hxx
1 /*
2  * This file is automatically created
3  * DO NOT EDIT
4  */
5 #include "cplRaw/wire.hxx"
6 #include "umic/umi.hxx"
7 #ifndef _UMIPRO_TINA_HXX_
8 #define _UMIPRO_TINA_HXX_
9 typedef INdepUmi100::Time UmiTime;
10 namespace INdepTina100 {
11 
12  using namespace INdepUmi100;
13 
14 
15  /*
16  * class TinaPulseConfig - configure pulse generator
17  */
18 
19  class TinaPulseConfig:public UmiControl {
20  public:
21  friend xistream& xunmarsh(xistream &xi, TinaPulseConfig&);
22  friend xostream& xmarshal(xostream &xo, const TinaPulseConfig&);
23  #ifndef _MM_NO_IOSTREAM
24  friend std::ostream& operator<<(std::ostream &os, const TinaPulseConfig&);
25  #endif
26 
27  TinaPulseConfig(int e=0x4, size_t s=0);
28  ~TinaPulseConfig() {}
29  };
30 
31 
32  /*
33  * class TinaSetTimer - set Timer
34  */
35 
36  class TinaSetTimer:public UmiControl {
37  UmiTime _ti;
38  public:
39  friend xistream& xunmarsh(xistream &xi, TinaSetTimer&);
40  friend xostream& xmarshal(xostream &xo, const TinaSetTimer&);
41  #ifndef _MM_NO_IOSTREAM
42  friend std::ostream& operator<<(std::ostream &os, const TinaSetTimer&);
43  #endif
44  const UmiTime& ti() const { return _ti; }
45  void ti( const UmiTime& __ti) {_ti=__ti ; }
46 
47  TinaSetTimer(int e=0x5, size_t s=0);
48  ~TinaSetTimer() {}
49  };
50 
51 
52  /*
53  * class TinaInit - init
54  */
55 
56  class TinaInit:public UmiControl {
57  public:
58  friend xistream& xunmarsh(xistream &xi, TinaInit&);
59  friend xostream& xmarshal(xostream &xo, const TinaInit&);
60  #ifndef _MM_NO_IOSTREAM
61  friend std::ostream& operator<<(std::ostream &os, const TinaInit&);
62  #endif
63 
64  TinaInit(int e=0x6, size_t s=0);
65  ~TinaInit() {}
66  };
67 
68 
69  /*
70  * class TinaConfig - configure sampling
71  */
72 
73  class TinaConfig:public UmiControl {
74  unsigned _cScale; /* prescaler setup */
75  unsigned _mpfIgnFirst[2]; /* ignore first sample */
76  unsigned _mpcLimit[2]; /* sample count limit */
77  unsigned _mpeFilt[2]; /* input filter selector */
78  unsigned _mpeEdge[2]; /* edge selector [r/f] */
79  unsigned _mpeFil[2]; /* input filter selector */
80  unsigned _mpeEna[2]; /* input enable selector */
81  unsigned _mpeArm[2]; /* arm selector */
82  unsigned _mpeExc[2]; /* external capture selector */
83  unsigned _mpeFiExc[2]; /* external capture filter */
84  unsigned _mpeFiArm[2]; /* external arm filter */
85  unsigned _mpeFiEna[2]; /* external enable filter */
86  public:
87  friend xistream& xunmarsh(xistream &xi, TinaConfig&);
88  friend xostream& xmarshal(xostream &xo, const TinaConfig&);
89  #ifndef _MM_NO_IOSTREAM
90  friend std::ostream& operator<<(std::ostream &os, const TinaConfig&);
91  #endif
92  unsigned cScale() const { return _cScale; }
93  TinaConfig& cScale(unsigned __cScale) { _cScale=__cScale ; return *this; }
94  unsigned fIgnFirst(int i) const { return _mpfIgnFirst[i]; }
95  void fIgnFirst( int i, unsigned __fIgnFirst) { _mpfIgnFirst[i]=__fIgnFirst ; }
96  unsigned cLimit(int i) const { return _mpcLimit[i]; }
97  void cLimit( int i, unsigned __cLimit) { _mpcLimit[i]=__cLimit ; }
98  unsigned eFilt(int i) const { return _mpeFilt[i]; }
99  void eFilt( int i, unsigned __eFilt) { _mpeFilt[i]=__eFilt ; }
100  unsigned eEdge(int i) const { return _mpeEdge[i]; }
101  void eEdge( int i, unsigned __eEdge) { _mpeEdge[i]=__eEdge ; }
102  unsigned eFil(int i) const { return _mpeFil[i]; }
103  void eFil( int i, unsigned __eFil) { _mpeFil[i]=__eFil ; }
104  unsigned eEna(int i) const { return _mpeEna[i]; }
105  void eEna( int i, unsigned __eEna) { _mpeEna[i]=__eEna ; }
106  unsigned eArm(int i) const { return _mpeArm[i]; }
107  void eArm( int i, unsigned __eArm) { _mpeArm[i]=__eArm ; }
108  unsigned eExc(int i) const { return _mpeExc[i]; }
109  void eExc( int i, unsigned __eExc) { _mpeExc[i]=__eExc ; }
110  unsigned eFiExc(int i) const { return _mpeFiExc[i]; }
111  void eFiExc( int i, unsigned __eFiExc) { _mpeFiExc[i]=__eFiExc ; }
112  unsigned eFiArm(int i) const { return _mpeFiArm[i]; }
113  void eFiArm( int i, unsigned __eFiArm) { _mpeFiArm[i]=__eFiArm ; }
114  unsigned eFiEna(int i) const { return _mpeFiEna[i]; }
115  void eFiEna( int i, unsigned __eFiEna) { _mpeFiEna[i]=__eFiEna ; }
116 
117  TinaConfig(int e=0x7, size_t s=0);
118  ~TinaConfig() {}
119  };
120 
121 
122  /*
123  * class TinaSample - start sampling
124  */
125 
126  class TinaSample:public UmiControl {
127  UmiTime _tiTmo;
128  unsigned _cFifo; /* fifo count */
129  unsigned _mpiFifo[2]; /* fifo numbers */
130  unsigned _cMax; /* max count */
131  public:
132  friend xistream& xunmarsh(xistream &xi, TinaSample&);
133  friend xostream& xmarshal(xostream &xo, const TinaSample&);
134  #ifndef _MM_NO_IOSTREAM
135  friend std::ostream& operator<<(std::ostream &os, const TinaSample&);
136  #endif
137  const UmiTime& tiTmo() const { return _tiTmo; }
138  void tiTmo( const UmiTime& __tiTmo) {_tiTmo=__tiTmo ; }
139  unsigned cFifo() const { return _cFifo; }
140  TinaSample& cFifo(unsigned __cFifo) { _cFifo=__cFifo ; return *this; }
141  unsigned iFifo(int i) const { return _mpiFifo[i]; }
142  void iFifo( int i, unsigned __iFifo) { _mpiFifo[i]=__iFifo ; }
143  unsigned cMax() const { return _cMax; }
144  TinaSample& cMax(unsigned __cMax) { _cMax=__cMax ; return *this; }
145 
146  TinaSample(int e=0x8, size_t s=0);
147  ~TinaSample() {}
148  };
149 
150 
151  /*
152  * class TinaStop - stop sampling
153  */
154 
155  class TinaStop:public UmiControl {
156  public:
157  friend xistream& xunmarsh(xistream &xi, TinaStop&);
158  friend xostream& xmarshal(xostream &xo, const TinaStop&);
159  #ifndef _MM_NO_IOSTREAM
160  friend std::ostream& operator<<(std::ostream &os, const TinaStop&);
161  #endif
162 
163  TinaStop(int e=0x9, size_t s=0);
164  ~TinaStop() {}
165  };
166 
167 
168  /*
169  * class TinaResp - status response
170  */
171 
172  class TinaResp:public UmiControl {
173  unsigned _eErr; /* result (error) code */
174  unsigned _iErr; /* result (error) code, detailed */
175  public:
176  friend xistream& xunmarsh(xistream &xi, TinaResp&);
177  friend xostream& xmarshal(xostream &xo, const TinaResp&);
178  #ifndef _MM_NO_IOSTREAM
179  friend std::ostream& operator<<(std::ostream &os, const TinaResp&);
180  #endif
181  unsigned eErr() const { return _eErr; }
182  TinaResp& eErr(unsigned __eErr) { _eErr=__eErr ; return *this; }
183  unsigned iErr() const { return _iErr; }
184  TinaResp& iErr(unsigned __iErr) { _iErr=__iErr ; return *this; }
185 
186  TinaResp(int e=0xa, size_t s=0);
187  ~TinaResp() {}
188  };
189 
190 
191  /*
192  * class TinaSampleResp - sample response
193  */
194 
195  class TinaSampleResp:public TinaResp {
196  unsigned _cSamples; /* sample count */
197  unsigned _iFifo; /* fifo number */
198  public:
199  friend xistream& xunmarsh(xistream &xi, TinaSampleResp&);
200  friend xostream& xmarshal(xostream &xo, const TinaSampleResp&);
201  #ifndef _MM_NO_IOSTREAM
202  friend std::ostream& operator<<(std::ostream &os, const TinaSampleResp&);
203  #endif
204  unsigned cSamples() const { return _cSamples; }
205  TinaSampleResp& cSamples(unsigned __cSamples) { _cSamples=__cSamples ; return *this; }
206  unsigned iFifo() const { return _iFifo; }
207  TinaSampleResp& iFifo(unsigned __iFifo) { _iFifo=__iFifo ; return *this; }
208 
209  TinaSampleResp(int e=0xb, size_t s=0);
210  ~TinaSampleResp() {}
211  };
212 
213  inline bool isTinaPulseConfig(const UmiControl *puc) { return ( puc->eType() == 0x4 ); }
214  extern TinaPulseConfig* pTinaPulseConfig(UmiControl *);
215  inline const TinaPulseConfig* pTinaPulseConfig(const UmiControl *puc) { return pTinaPulseConfig(const_cast<UmiControl*>(puc)); }
216  inline bool isTinaSetTimer(const UmiControl *puc) { return ( puc->eType() == 0x5 ); }
217  extern TinaSetTimer* pTinaSetTimer(UmiControl *);
218  inline const TinaSetTimer* pTinaSetTimer(const UmiControl *puc) { return pTinaSetTimer(const_cast<UmiControl*>(puc)); }
219  inline bool isTinaInit(const UmiControl *puc) { return ( puc->eType() == 0x6 ); }
220  extern TinaInit* pTinaInit(UmiControl *);
221  inline const TinaInit* pTinaInit(const UmiControl *puc) { return pTinaInit(const_cast<UmiControl*>(puc)); }
222  inline bool isTinaConfig(const UmiControl *puc) { return ( puc->eType() == 0x7 ); }
223  extern TinaConfig* pTinaConfig(UmiControl *);
224  inline const TinaConfig* pTinaConfig(const UmiControl *puc) { return pTinaConfig(const_cast<UmiControl*>(puc)); }
225  inline bool isTinaSample(const UmiControl *puc) { return ( puc->eType() == 0x8 ); }
226  extern TinaSample* pTinaSample(UmiControl *);
227  inline const TinaSample* pTinaSample(const UmiControl *puc) { return pTinaSample(const_cast<UmiControl*>(puc)); }
228  inline bool isTinaStop(const UmiControl *puc) { return ( puc->eType() == 0x9 ); }
229  extern TinaStop* pTinaStop(UmiControl *);
230  inline const TinaStop* pTinaStop(const UmiControl *puc) { return pTinaStop(const_cast<UmiControl*>(puc)); }
231  inline bool isTinaResp(const UmiControl *puc) { return ( puc->eType() == 0xa ); }
232  extern TinaResp* pTinaResp(UmiControl *);
233  inline const TinaResp* pTinaResp(const UmiControl *puc) { return pTinaResp(const_cast<UmiControl*>(puc)); }
234  inline bool isTinaSampleResp(const UmiControl *puc) { return ( puc->eType() == 0xb ); }
235  extern TinaSampleResp* pTinaSampleResp(UmiControl *);
236  inline const TinaSampleResp* pTinaSampleResp(const UmiControl *puc) { return pTinaSampleResp(const_cast<UmiControl*>(puc)); }
237 
238  #define MSG_TinaPulseConfig 0x4
239  #define MSG_TinaSetTimer 0x5
240  #define MSG_TinaInit 0x6
241  #define MSG_TinaConfig 0x7
242  #define MSG_TinaSample 0x8
243  #define MSG_TinaStop 0x9
244  #define MSG_TinaResp 0xa
245  #define MSG_TinaSampleResp 0xb
246 
247  class Tina_tina_Proto:public UmiProto {
248  public:
249  xistream& unmarsh(xistream &, const UmiControl &, UmiControl *) const;
250  xostream& marshal(xostream &, const UmiControl *) const ;
251  Tina_tina_Proto();
252  ~Tina_tina_Proto();
253  };
254 
255  #define PROTID_tina "(/Int4:unsigned,Int4:unsigned/)(//(/Int4:u_int,Int4:u_int/))(//)(/Int2:unsigned,Int2:unsigned,Int2:unsigned/(/Int4:u_int,Int4:u_int/))(//)(/Int4:unsigned,Int1:unsigned,Int2:unsigned,Int2:unsigned,Int1:unsigned,Int1:unsigned,Int1:unsigned,Int1:unsigned,Int1:unsigned,Int1:unsigned,Int1:unsigned,Int1:unsigned/)(//)((/Int4:unsigned,Int4:unsigned/)/Int2:unsigned,Int2:unsigned/)"
256  /* Services */
257  /* SetTimer */
258  class Tina_tina_Service_SetTimer:public UmiService {
259  TinaSetTimer _rq;
260  TinaResp _rp;
261  };
262  /* Init */
263  class Tina_tina_Service_Init:public UmiService {
264  TinaInit _rq;
265  TinaResp _rp;
266  };
267 }
268 #endif
Definition: umipro_tina.hxx:247
Definition: umipro_tina.hxx:126
Definition: umipro_tina.hxx:155
Definition: umipro_tina.hxx:195
Definition: umipro_tina.hxx:36
Definition: umipro_tina.hxx:263
Definition: umipro_tina.hxx:172
namespace for the ines Timing Analyzer (Tina) interface
Definition: protocols.cxx:7
Definition: umipro_tina.hxx:73
Definition: umipro_tina.hxx:258
Definition: tinacp.cxx:82
Definition: umipro_tina.hxx:19
Definition: umipro_tina.hxx:56