public void RegWrite(AddressSpace space, int barOffset, int value)
        {
            try
            {
                MyAddressSpace addressSpace = (MyAddressSpace)space;
                switch (addressSpace)
                {
                case MyAddressSpace.MappedControlReg:
                    RegWriteWrap(barOffset, value);
                    break;

                case MyAddressSpace.CarrierReg:
                    RegAccessWrapper.QWorksRegWrite((uint)value, (uint)barOffset, mDeviceID);
                    break;

                case MyAddressSpace.SpectrumDataMemory:
                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
            catch (Exception ex)
            {
                mErrorLog.AddError(String.Format("RegWrite Error: Type={0},Offset={1},Value={2}: {3}", (MyAddressSpace)space, barOffset, value, ex.Message));
            }
        }
        public int RegRead(AddressSpace space, int barOffset)
        {
            int val = 0;

            try
            {
                MyAddressSpace addressSpace = (MyAddressSpace)space;
                switch (addressSpace)
                {
                case MyAddressSpace.MappedControlReg:
                    val = RegReadWrap(barOffset);
                    break;

                case MyAddressSpace.CarrierReg:
                    val = (int)RegAccessWrapper.QWorksRegRead((uint)barOffset, mDeviceID);
                    break;

                case MyAddressSpace.SpectrumDataMemory:
                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
            catch (Exception ex)
            {
                mErrorLog.AddError(String.Format("RegRead Error: Type={0},Offset={1}: {2}", (MyAddressSpace)space, barOffset, ex.Message));
            }

            return(val);
        }