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