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
104class 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);
114 virtual long Put(void* aSource, long aIndex, long aOffset);
115 virtual long GetProperty(void* aDest, char* aName, long aIndex=0,
116 long aOffset=0, long* apMaxLength=0, CINCOObject* apParent=0);
117
121 virtual long GetType();
122
126 virtual uint64 GetCharacteristics();
127
128 // protected members
129 protected :
130 uint16 m_uNumber;
131 uint32 m_uForeColor;
132
133 // allow dynamic object handling (new/delete)
135};
136
137//------------------------------------------------------------------------------
138// class CINCOProcessImageAdc_int32
139//------------------------------------------------------------------------------
140
141class 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);
151 virtual long Put(void* aSource, long aIndex, long aOffset);
152
153 // protected members
154 protected :
155 uint16 m_uNumber;
156 uint32 m_uForeColor;
157
158 // allow dynamic object handling (new/delete)
160};
161
162//------------------------------------------------------------------------------
163// class CINCOProcessImageAdc_uint32
164//------------------------------------------------------------------------------
165
166class 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);
176 virtual long Put(void* aSource, long aIndex, long aOffset);
177
178 // protected members
179 protected :
180 uint16 m_uNumber;
181 uint32 m_uForeColor;
182
183 // allow dynamic object handling (new/delete)
185};
186
187//------------------------------------------------------------------------------
188// class CINCOProcessImageAdc_real64
189//------------------------------------------------------------------------------
190
191class 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);
201 virtual long Put(void* aSource, long aIndex, long aOffset);
202
203 // protected members
204 protected :
205 uint16 m_uNumber;
206 uint32 m_uForeColor;
207
208 // allow dynamic object handling (new/delete)
210};
211
212//------------------------------------------------------------------------------
213// end of file
214//------------------------------------------------------------------------------
215
216#endif // INC_CINOSADCCHANNEL_H
#define DECLARE_DYNAMIC(aClass)
Definition cinospartitionmemory.h:328
Short comment.
Definition cinosadcchannel.h:142
Definition cinosadcchannel.h:192
Definition cinosadcchannel.h:167
Definition cinosadcchannel.h:105
virtual uint64 GetCharacteristics()
Get item characteristics.
virtual long GetType()
Return inco type of inco item, depends on port handler config.
Definition cinosadcchannel.h:53
void SetupChannel(uint16 auNumber, char *apUnit, uint16 auCharacteristics, real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength)
setup chnanel
void ConvertToReal(uint16 auNumber, char *apUnit, uint16 auCharacteristics, real64 arLower, real64 arUpper, uint16 auType, uint16 auArrayLength)
convert to real channel
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
Definition cinosprocessimagevalue.h:52