private ErrorInfo StartPump() { PumpLabel.ForeColor = Color.Green; ErrorInfo info = DaqBoard.DBitOut(DigitalPortType.AuxPort, PumpControlBit, DigitalLogicState.High); return(info); }
public override IObservable <short> Process(IObservable <short> source) { return(Observable.Defer(() => { ErrorInfo configError; var portType = PortType; var bitNumber = BitNumber; var board = new MccBoard(BoardNumber); if (bitNumber.HasValue) { configError = board.DConfigBit(portType, bitNumber.Value, DigitalPortDirection.DigitalOut); } else { configError = board.DConfigPort(portType, DigitalPortDirection.DigitalOut); } ThrowExceptionForErrorInfo(configError); if (bitNumber.HasValue) { return source.Do(input => { var bitValue = input != 0 ? DigitalLogicState.High : DigitalLogicState.Low; var error = board.DBitOut(portType, bitNumber.Value, bitValue); ThrowExceptionForErrorInfo(error); }); } else { return source.Do(dataValue => { var error = board.DOut(portType, dataValue); ThrowExceptionForErrorInfo(error); }); } })); }