コード例 #1
0
 /// <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);
 }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 /// <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);
 }