INOS
cinosadcchannel.h
Go to the documentation of this file.
1 //******************************************************************************
27 //******************************************************************************
28 
29 #ifndef INC_CINOSADCCHANNEL_H
30 #define INC_CINOSADCCHANNEL_H
31 
32 //------------------------------------------------------------------------------
33 // defines
34 //------------------------------------------------------------------------------
35 //
36 //
37 //------------------------------------------------------------------------------
38 // includes
39 //------------------------------------------------------------------------------
40 //
41 // system
42 #include <cinosprocessimage.h>
43 //
44 // C++
45 //
46 // project
47 //
48 //------------------------------------------------------------------------------
49 // class definition
50 //------------------------------------------------------------------------------
51 //
53 {
54  //--- user interface ---------------------------------------------------
55 
56  // public member functions
57  public :
58  ICACHE virtual void Set(real64 arValue) override;
59  //; set channel to arValue
60  ICACHE virtual real64 Get() override;
61  //; get value of channel
62  ICACHE real32 GetValue();
63  //; return actual channel value (mV, °C, ...) [real32]
64  #if defined(INOS_PROCESSIMAGE_OVERWRITE)
65  ICACHE void SetValue(real32 arValue, bool abOverwrite = true);
66  //; set channel to arValue
67  //; (abOverwrite=true -> value always set, abOverwrite=false -> value
68  //; set if channel is NOT in overwrite mode)
69  #else
70  ICACHE void SetValue(real32 arValue);
71  //; set channel to arValue
72  #endif
73  real32 GetRawValue(uint32 auStage=0);
74  //; return raw value before hook number 'auStage'
75  void SetRange(uint8 auRange);
76  //; set channel range
77  uint8 GetRange();
78  //; get channel range
79 
80  //--- internals --------------------------------------------------------
81 
82  // constructor / destructor
83  public:
85  CINOSAdcChannel (const char* apName, uint16 auNumber, char* apUnit="mV",
86  uint16 auCharacteristics=defCharShowFix + SHOW_DIGIT(3),
87  real64 arLower=REAL64(-10500.0),
88  real64 arUpper=REAL64(+10500.0),
89  uint16 auType=defType_real32, uint16 auArrayLength=1
90  );
92  void SetupChannel (uint16 auNumber, char* apUnit, uint16 auCharacteristics,
93  real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength );
95  void ConvertToReal (uint16 auNumber, char* apUnit, uint16 auCharacteristics,
96  real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength );
97 };
98 
99 //
100 //------------------------------------------------------------------------------
101 // class CINCOProcessImageAdc
102 //------------------------------------------------------------------------------
103 
104 class CINCOProcessImageAdc : public CINCOreal32
105 {
106  // constructor
107  public:
108  CINCOProcessImageAdc(const char* apName, uint16 auNumber, real32 arLower,
109  real32 arUpper, char* apUnit, uint16 auCharacteristics);
110 
111  // public member functions
112  public:
113  virtual long Get(void* aDest, long& maxLength, long aIndex, long aOffset) override;
114  virtual long Put(void* aSource, long aIndex, long aOffset) override;
115  virtual long GetProperty(void* aDest, char* aName, long aIndex=0,
116  long aOffset=0, long* apMaxLength=0, CINCOObject* apParent=0) override;
117 
121  virtual long GetType() override;
122 
126  virtual uint64 GetCharacteristics() override;
127 
128  // protected members
129  protected :
130  uint16 m_uNumber;
131  uint32 m_uForeColor;
132 
133  // allow dynamic object handling (new/delete)
134  DECLARE_DYNAMIC(CINCOProcessImageAdc);
135 };
136 
137 //------------------------------------------------------------------------------
138 // class CINCOProcessImageAdc_int32
139 //------------------------------------------------------------------------------
140 
141 class CINCOProcessImageAdc_int32 : public CINCOint32
142 {
143  // constructor
144  public:
145  CINCOProcessImageAdc_int32(const char* apName, uint16 auNumber, int32 aiLower,
146  int32 aiUpper, char* apUnit, uint16 auCharacteristics);
147 
148  // public member functions
149  public:
150  virtual long Get(void* aDest, long& maxLength, long aIndex, long aOffset) override;
151  virtual long Put(void* aSource, long aIndex, long aOffset) override;
152 
153  // protected members
154  protected :
155  uint16 m_uNumber;
156  uint32 m_uForeColor;
157 
158  // allow dynamic object handling (new/delete)
159  DECLARE_DYNAMIC(CINCOProcessImageAdc_int32);
160 };
161 
162 //------------------------------------------------------------------------------
163 // class CINCOProcessImageAdc_uint32
164 //------------------------------------------------------------------------------
165 
166 class CINCOProcessImageAdc_uint32 : public CINCOuint32
167 {
168  // constructor
169  public:
170  CINCOProcessImageAdc_uint32(const char* apName, uint16 auNumber, uint32 auLower,
171  uint32 auUpper, char* apUnit, uint16 auCharacteristics);
172 
173  // public member functions
174  public:
175  virtual long Get(void* aDest, long& maxLength, long aIndex, long aOffset) override;
176  virtual long Put(void* aSource, long aIndex, long aOffset) override;
177 
178  // protected members
179  protected :
180  uint16 m_uNumber;
181  uint32 m_uForeColor;
182 
183  // allow dynamic object handling (new/delete)
184  DECLARE_DYNAMIC(CINCOProcessImageAdc_uint32);
185 };
186 
187 //------------------------------------------------------------------------------
188 // class CINCOProcessImageAdc_real64
189 //------------------------------------------------------------------------------
190 
191 class CINCOProcessImageAdc_real64 : public CINCOreal64
192 {
193  // constructor
194  public:
195  CINCOProcessImageAdc_real64(const char* apName, uint16 auNumber, real64 arLower,
196  real64 arUpper, char* apUnit, uint16 auCharacteristics);
197 
198  // public member functions
199  public:
200  virtual long Get(void* aDest, long& maxLength, long aIndex, long aOffset) override;
201  virtual long Put(void* aSource, long aIndex, long aOffset) override;
202 
203  // protected members
204  protected :
205  uint16 m_uNumber;
206  uint32 m_uForeColor;
207 
208  // allow dynamic object handling (new/delete)
209  DECLARE_DYNAMIC(CINCOProcessImageAdc_real64);
210 };
211 
212 //------------------------------------------------------------------------------
213 // end of file
214 //------------------------------------------------------------------------------
215 
216 #endif // INC_CINOSADCCHANNEL_H
CINCOProcessImageAdc_uint32
Definition: cinosadcchannel.h:166
CINCOProcessImageAdc
Definition: cinosadcchannel.h:104
CINCOProcessImageAdc::GetType
virtual long GetType() override
Return inco type of inco item, depends on port handler config.
cinosprocessimage.h
Short comment.
CINOSAdcChannel
Definition: cinosadcchannel.h:52
CINCOProcessImageAdc_real64
Definition: cinosadcchannel.h:191
CINCOProcessImageAdc::GetCharacteristics
virtual uint64 GetCharacteristics() override
Get item characteristics.
CINOSProcessImageValue
Definition: cinosprocessimagevalue.h:51
CINOSAdcChannel::ConvertToReal
void ConvertToReal(uint16 auNumber, char *apUnit, uint16 auCharacteristics, real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength)
convert to real channel
CINCOProcessImageAdc_int32
Definition: cinosadcchannel.h:141
CINOSAdcChannel::SetupChannel
void SetupChannel(uint16 auNumber, char *apUnit, uint16 auCharacteristics, real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength)
setup chnanel
CINOSAdcChannel::CINOSAdcChannel
CINOSAdcChannel(const char *apName, uint16 auNumber, char *apUnit="mV", uint16 auCharacteristics=defCharShowFix+SHOW_DIGIT(3), real64 arLower=REAL64(-10500.0), real64 arUpper=REAL64(+10500.0), uint16 auType=defType_real32, uint16 auArrayLength=1)
object constructor