/// <summary> /// Sets the value of the register specified by the latest /// SetRegisterIndex call /// </summary> /// <param name="value">Register value to set</param> public void SetRegisterValue(byte value) { if (_registers.TryGetValue(LastRegisterIndexSet, out var register)) { register.Write(value); } RegisterAccessLogger?.RegisterValueSet(value); }
/// <summary> /// Gets the value of the register specified by the latest /// SetRegisterIndex call /// </summary> /// <remarks>If the specified register is not supported, returns 0xFF</remarks> public byte GetRegisterValue() { var result = _registers.TryGetValue(LastRegisterIndexSet, out var register); var value = result ? register.Read() : (byte)0xFF; RegisterAccessLogger?.RegisterValueObtained(value); return(value); }
/// <summary> /// Sets the register index for the next SetRegisterValue operation /// </summary> /// <param name="index"></param> public void SetRegisterIndex(byte index) { LastRegisterIndexSet = index; RegisterAccessLogger?.RegisterIndexSet(index); }