public AI_Channels(ref AgilentU254x Driver) { _pulseBit = new DigitalBit(new DigitalChannel(DigitalChannelsEnum.DIOD, ref Driver), 0); _setResetBit = new DigitalBit(new DigitalChannel(DigitalChannelsEnum.DIOD, ref Driver), 1); _selector_A0 = new DigitalBit(new DigitalChannel(DigitalChannelsEnum.DIOB, ref Driver), 0); _selector_A1 = new DigitalBit(new DigitalChannel(DigitalChannelsEnum.DIOB, ref Driver), 1); _channelModeSwitch = new ChannelModeSwitch(_pulseBit, _setResetBit, _selector_A0, _selector_A1); _filter = new Filter(new DigitalChannel(DigitalChannelsEnum.DIOA, ref Driver)); HOLD_CS = new DigitalBit(new DigitalChannel(DigitalChannelsEnum.DIOC, ref Driver), 2); HOLD_CS.Reset(); _gainAmplifier = new ProgrammableGainAmplifier(new DigitalChannel(DigitalChannelsEnum.DIOC, ref Driver)); _latch = new AnalogInLatch( _selector_A0, _selector_A1, new DigitalBit(new DigitalChannel(DigitalChannelsEnum.DIOD, ref Driver), 2)); _channels = new AI_Channel[4] { new AI_Channel(AnalogInChannelsEnum.AIn1, ref Driver, _channelModeSwitch, _filter, _gainAmplifier, _latch), new AI_Channel(AnalogInChannelsEnum.AIn2, ref Driver, _channelModeSwitch, _filter, _gainAmplifier, _latch), new AI_Channel(AnalogInChannelsEnum.AIn3, ref Driver, _channelModeSwitch, _filter, _gainAmplifier, _latch), new AI_Channel(AnalogInChannelsEnum.AIn4, ref Driver, _channelModeSwitch, _filter, _gainAmplifier, _latch) }; }
public AI_Channel(AnalogInChannelsEnum channelName, ref AgilentU254x Driver, ChannelModeSwitch ModeSwitch, Filter ChannelFilter, ProgrammableGainAmplifier ChannelPGA, AnalogInLatch CommonLatch) { _channelName = channelName; _driver = Driver; _modeSwitch = ModeSwitch; Parameters = new ChannelParams(_channelName, ChannelFilter, ChannelPGA, CommonLatch); InitDriverChannel(_channelName, out _channel); ChannelData = new ConcurrentQueue <Point[]>(); }