/// <summary> /// Costruttore /// </summary> /// <param name="ch">Nome del canale analogico</param> /// <param name="scale">Valore di scalatura del valore letto dal canale analogico</param> /// <param name="offset">Offset aggiunto sul valore letto dal canale analogico</param> /// <param name="movingAverageSize">Dimensione del buffer per calcolo media</param> public UniversalIO(UIO_ADC ch, double scale, double offset, int movingAverageSize) { UIODigitalOutput cha; switch (ch) { case UIO_ADC.UIO_ADC_3: SelPort = UIOSelector.OUT_SEL_3; cha = UIODigitalOutput.UIO_OUT_3; break; case UIO_ADC.UIO_ADC_4: SelPort = UIOSelector.OUT_SEL_4; cha = UIODigitalOutput.UIO_OUT_4; break; case UIO_ADC.UIO_ADC_6: SelPort = UIOSelector.OUT_SEL_6; cha = UIODigitalOutput.UIO_OUT_6; break; case UIO_ADC.UIO_ADC_7: SelPort = UIOSelector.OUT_SEL_7; cha = UIODigitalOutput.UIO_OUT_7; break; case UIO_ADC.UIO_ADC_8: SelPort = UIOSelector.OUT_SEL_8; cha = UIODigitalOutput.UIO_OUT_8; break; default: throw new ArgumentException("ADC non valido", "ch"); } // spengo mosfet per non influenzare lettura ADC DigitalOut = new DigitalOutput((Output)cha); DigitalOut.Write(false); Initialize(UIOMode.UIOModeAnalogInput, (int)SelPort, (int)ch, movingAverageSize, true, scale, offset); }
/// <summary> /// Costruttore /// </summary> /// <param name="ch">Nome del canale analogico</param> /// <param name="scale">Valore di scalatura del valore letto dal canale analogico</param> /// <param name="offset">Offset aggiunto sul valore letto dal canale analogico</param> public UniversalIO(UIO_ADC ch, double scale, double offset) : this(ch, scale, offset, 1) { }