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);
            }
        }