public DataAcqBoard(int boardNumber, DigitalPortType channelType, int channelNumber) { _ulStatErrorInfo = MccService.ErrHandling(ErrorReporting.PrintAll, ErrorHandling.DontStop); _board = new MccBoard(boardNumber); _channelType = channelType; _channelNum = channelNumber; _pulseIsCleared = true; _log.Info("Initialized DataAcqBoard: {0}, channel type {1}, channel number {2}", boardNumber, channelType, channelNumber); }
public void init() { if (_initialized) { return; } int wantedBoards = 3; // We always have three boards, either real or simulated int maxMccBoards; if (!Simulated) { MccService.GetRevision(out mccRevNum, out mccVxdRevNum); MccService.ErrHandling(MccDaq.ErrorReporting.DontPrint, MccDaq.ErrorHandling.DontStop); maxMccBoards = MccDaq.GlobalConfig.NumBoards; // get the real Mcc boards for (int i = 0; i < maxMccBoards; i++) { int type; MccDaq.MccBoard board = new MccDaq.MccBoard(i); board.BoardConfig.GetBoardType(out type); if (type != 0) { WiseBoards.Add(new WiseBoard(board)); } } } // Add simulated boards, as needed for (int i = WiseBoards.Count; i < wantedBoards; i++) { WiseBoards.Add(new WiseBoard(null, i)); } domeboard = WiseBoards.Find(x => x.mccBoard.BoardNum == 0); teleboard = WiseBoards.Find(x => x.mccBoard.BoardNum == 1); miscboard = WiseBoards.Find(x => x.mccBoard.BoardNum == 2); if (computerControlPin == null) { computerControlPin = new WisePin("CompControl", teleboard, DigitalPortType.SecondPortCH, 0, DigitalPortDirection.DigitalIn); computerControlPin.Connect(true); } _initialized = true; }