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 AnalogInLatch(DigitalBit Selector_ADC_A0,DigitalBit Selector_ADC_A1, DigitalBit LatchPulseBit) { if ((Selector_ADC_A0 == null) || (Selector_ADC_A1 == null) || (LatchPulseBit == null)) throw new ArgumentException(); _Selector_ADC_A0 = Selector_ADC_A0; _Selector_ADC_A1 = Selector_ADC_A1; _LatchPulseBit = LatchPulseBit; }
public AO_Channels(ref AgilentU254x Driver) { LatchEnable = new DigitalBit(new DigitalChannel(DigitalChannelsEnum.DIOD, ref Driver), 3); _channels = new AO_Channel[2] { new AO_Channel(AnalogOutChannelsEnum.AOut1, ref Driver), new AO_Channel(AnalogOutChannelsEnum.AOut2, ref Driver) }; }
public ChannelModeSwitch(DigitalBit PulseBit, DigitalBit SetResetBit, DigitalBit SelectorA0, DigitalBit SelectorA1) { if ((PulseBit == null) || (SetResetBit == null) && (SelectorA0 == null) || (SelectorA1 == null)) throw new ArgumentNullException(); _pulseBit = PulseBit; _setResetBit = SetResetBit; _SelectorA0 = SelectorA0; _SelectorA1 = SelectorA1; }
public DigitalChannel(DigitalChannelsEnum Channel, ref AgilentU254x Driver) { int width = 0; switch (Channel) { case DigitalChannelsEnum.DIOA: { _channelName = ChannelNamesEnum.DIOA; width = 8; } break; case DigitalChannelsEnum.DIOB: { _channelName = ChannelNamesEnum.DIOB; width = 8; } break; case DigitalChannelsEnum.DIOC: { _channelName = ChannelNamesEnum.DIOC; width = 4; } break; case DigitalChannelsEnum.DIOD: { _channelName = ChannelNamesEnum.DIOD; width = 4; } break; default: throw new ArgumentException(); } _driver = Driver; var initDirection = AgilentU254xDigitalChannelDirectionEnum.AgilentU254xDigitalChannelDirectionOut; _digitalChannel = Driver.Digital.Channels.get_Item(_channelName); _digitalChannel.Direction = initDirection; //Marshal.ReleaseComObject(initDirection); _bitArray = new DigitalBit[width]; for (int i = 0; i < width; i++) { _bitArray[i] = new DigitalBit(this, i); } }
public AO_Channel(AnalogOutChannelsEnum Channel, ref AgilentU254x Driver) { switch (Channel) { case AnalogOutChannelsEnum.AOut1: _channelName = ChannelNamesEnum.AOUT1; break; case AnalogOutChannelsEnum.AOut2: _channelName = ChannelNamesEnum.AOUT2; break; default: throw new ArgumentException(); } _driver = Driver; _DigitalChannels = new DigitalChannels(ref _driver); switch (Channel) { case AnalogOutChannelsEnum.AOut1: { _Selector_A0 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 4); _Selector_A1 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 5); _Selector_A2 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 6); _Enable = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 7); } break; case AnalogOutChannelsEnum.AOut2: { _Selector_A0 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 0); _Selector_A1 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 1); _Selector_A2 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 2); _Enable = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 3); } break; default: break; } _driver.AnalogOut.set_Polarity(_channelName, AgilentU254xAnalogPolarityEnum.AgilentU254xAnalogPolarityBipolar); }
public AO_Channel(AnalogOutChannelsEnum Channel, AgilentU254xClass Driver) { switch (Channel) { case AnalogOutChannelsEnum.AOut1: _channelName = ChannelNamesEnum.AOUT1; break; case AnalogOutChannelsEnum.AOut2: _channelName = ChannelNamesEnum.AOUT2; break; default: throw new ArgumentException(); } _driver = Driver; _DigitalChannels = new DigitalChannels(_driver); switch (Channel) { case AnalogOutChannelsEnum.AOut1: { _Selector_A0 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 4); _Selector_A1 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 5); _Selector_A2 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 6); _Enable = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 7); } break; case AnalogOutChannelsEnum.AOut2: { _Selector_A0 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 0); _Selector_A1 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 1); _Selector_A2 = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 2); _Enable = new DigitalBit(_DigitalChannels[DigitalChannelsEnum.DIOA], 3); } break; default: break; } _driver.AnalogOut.set_Polarity(_channelName, AgilentU254xAnalogPolarityEnum.AgilentU254xAnalogPolarityBipolar); }
public DigitalChannel(DigitalChannelsEnum Channel, AgilentU254xClass Driver) { int width = 0; switch (Channel) { case DigitalChannelsEnum.DIOA: { _channelName = ChannelNamesEnum.DIOA; width = 8; } break; case DigitalChannelsEnum.DIOB: { _channelName = ChannelNamesEnum.DIOB; width = 8; } break; case DigitalChannelsEnum.DIOC: { _channelName = ChannelNamesEnum.DIOC; width = 4; } break; case DigitalChannelsEnum.DIOD: { _channelName = ChannelNamesEnum.DIOD; width = 4; } break; default: throw new ArgumentException(); } _driver = Driver; Driver.Digital.Channels.get_Item(_channelName).Direction = AgilentU254xDigitalChannelDirectionEnum.AgilentU254xDigitalChannelDirectionOut; _bitArray = new DigitalBit[width]; for (int i = 0; i < width; i++) { _bitArray[i] = new DigitalBit(this, i); } }