//INITIALIZE public PumpControl() { CancellationTokenSource cts = new CancellationTokenSource(); int boardNumber = 0; MccBoard myBoard; myBoard = new MccBoard(boardNumber); //Pump myBoard.DConfigBit(DigitalPortType.AuxPort, PumpControlBit, DigitalPortDirection.DigitalOut); //Valves myBoard.DConfigBit(DigitalPortType.AuxPort, Valve1Control, DigitalPortDirection.DigitalOut); myBoard.DConfigBit(DigitalPortType.AuxPort, Valve2Control, DigitalPortDirection.DigitalOut); myBoard.DConfigBit(DigitalPortType.AuxPort, Valve3Control, DigitalPortDirection.DigitalOut); myBoard.DConfigBit(DigitalPortType.AuxPort, Valve4Control, DigitalPortDirection.DigitalOut); myBoard.DConfigBit(DigitalPortType.AuxPort, Valve5Control, DigitalPortDirection.DigitalOut); myBoard.DConfigBit(DigitalPortType.AuxPort, Valve6Control, DigitalPortDirection.DigitalOut); myBoard.DConfigBit(DigitalPortType.AuxPort, Valve7Control, DigitalPortDirection.DigitalOut); DaqBoard = myBoard; BoardNumber = boardNumber; InitializeComponent(); myBoard.DioConfig.GetDevType(1, out int configVal); }
public override IObservable <short> Process <TSource>(IObservable <TSource> 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.DigitalIn); } else { configError = board.DConfigPort(portType, DigitalPortDirection.DigitalIn); } ThrowExceptionForErrorInfo(configError); if (bitNumber.HasValue) { return source.Select(input => { var error = board.DBitIn(portType, bitNumber.Value, out DigitalLogicState bitValue); ThrowExceptionForErrorInfo(error); return (short)bitValue; }); } else { return source.Select(input => { var error = board.DIn(portType, out short dataValue); ThrowExceptionForErrorInfo(error); return dataValue; }); } })); }
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); }); } })); }