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