Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        private int RegReadWrap(int offset)
        {
            int readvalue = 0;

            if (mSimulate)
            {
                if (mSimulateRegDict.ContainsKey(offset))
                {
                    readvalue = mSimulateRegDict[offset];
                }
            }
            else
            {
                readvalue = (int)RegAccessWrapper.Read(mDeviceID, (uint)offset);
            }

            //Get the real value of the register
            return(readvalue);
        }
Esempio n. 4
0
        private void RegWriteWrap(int offset, int value)
        {
            //Wrap the register to correct value and format

            if (mSimulate)
            {
                if (mSimulateRegDict.ContainsKey(offset))
                {
                    mSimulateRegDict[offset] = value;
                }
                else
                {
                    mSimulateRegDict.Add(offset, value);
                }
            }
            else
            {
                RegAccessWrapper.Write(mDeviceID, (uint)offset, (uint)value);
            }
        }