29 #ifndef INC_CINOSDACCHANNELS_H
30 #define INC_CINOSDACCHANNELS_H
36 #define DF_INOS_IMAGE_ANALOG_OUTPUTS_NUMBER DF_INOS_PROCESSIMAGE_ANALOG_OUTPUTS_NUMBER // def. number of ana outputs
38 #define DF_INOS_DAC_RANGE_BIP_10000mV 0 // dac range number +-10000 mV
39 #define DF_INOS_DAC_RANGE_BIP_1000mV 1 // dac range number +-1000 mV
40 #define DF_INOS_DAC_RANGE_BIP_100mV 2 // dac range number +-100 mV
41 #define DF_INOS_DAC_RANGE_BIP_10mV 3 // dac range number +-10 mV
42 #define DF_INOS_DAC_RANGE_UNI_10000mV 4 // dac range number 0..+10000 mV
43 #define DF_INOS_DAC_RANGE_UNI_1000mV 5 // dac range number 0..+1000 mV
44 #define DF_INOS_DAC_RANGE_UNI_100mV 6 // dac range number 0..+100 mV
45 #define DF_INOS_DAC_RANGE_UNI_10mV 7 // dac range number 0..+10 mV
47 #define DF_INOS_DAC_RANGE_BIP_5000mV 8 // dac range number +-5000 mV
48 #define DF_INOS_DAC_RANGE_BIP_500mV 9 // dac range number +-500 mV
49 #define DF_INOS_DAC_RANGE_BIP_50mV 10 // dac range number +-50 mV
50 #define DF_INOS_DAC_RANGE_BIP_5mV 11 // dac range number +-5 mV
51 #define DF_INOS_DAC_RANGE_UNI_5000mV 12 // dac range number 0..+5000 mV
52 #define DF_INOS_DAC_RANGE_UNI_500mV 13 // dac range number 0..+500 mV
53 #define DF_INOS_DAC_RANGE_UNI_50mV 14 // dac range number 0..+50 mV
54 #define DF_INOS_DAC_RANGE_UNI_5mV 15 // dac range number 0..+5 mV
56 #define DF_INOS_DAC_RANGE_UNI_20mA 32 // dac range number 0..+20mA
58 #define DF_INOS_DAC_RANGE_BIP_48000mV 128 // dac range number +-48000 mV
60 #define DF_INOS_DAC_RANGE_DISABLED 255 // dac disabled
82 ICACHE
virtual void Set(uint16 auNumber, real64 arValue)
override;
84 ICACHE
virtual real64 Get(uint16 auNumber)
override;
86 ICACHE real64 GetValue(uint16 auNumber);
88 ICACHE real64 GetValue64(uint16 auNumber);
90 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
91 ICACHE
void SetValue(uint16 auNumber, real64 arValue,
bool abOverwrite =
false);
95 ICACHE
void SetValue64(uint16 auNumber, real64 arValue,
bool abOverwrite =
false);
100 ICACHE
void SetValue(uint16 auNumber, real64 arValue);
102 ICACHE
void SetValue64(uint16 auNumber, real64 arValue);
105 real32 GetRawValue(uint16 auNumber, uint32 auStage=0);
108 uint32 auSimulate = DF_INOS_IMAGE_CHN_SIM_DEF);
111 uint32 auSimulate = DF_INOS_IMAGE_CHN_SIM_DEF);
113 void SetRange(uint16 auNumber, uint8 auRange);
115 uint8 GetRange(uint16 auNumber);
119 uint16 auType = defType_double,
120 real64 arLower = REAL64MIN,
121 real64 arUpper = REAL64MAX,
122 char* apUnit =
nullptr,
123 uint16 auCharacteristics = defCharShowFix + SHOW_DIGIT(4)
137 static void Create();
146 #define g_pDacChannels ((CINOSDacChannels *) g_pImage[DF_PROCESS_IMAGE_ANALOG_OUTPUTS])
152 #endif // INC_CINOSDACCHANNELS_H