Example #1
0
        public async Task <Resolution> GetResolution()
        {
            Resolution returnValue = Resolution.Rh12Temp14;

            // ***
            // *** Get the current register
            // ***
            byte register = await this.GetRegister();

            if (RegisterConverter.BitIsLow(register, REGISTER_BIT_RESOLUTION_HIGH) &&
                RegisterConverter.BitIsLow(register, REGISTER_BIT_RESOLUTION_LOW))
            {
                returnValue = Resolution.Rh12Temp14;
            }
            else if (RegisterConverter.BitIsLow(register, REGISTER_BIT_RESOLUTION_HIGH) &&
                     RegisterConverter.BitIsHigh(register, REGISTER_BIT_RESOLUTION_LOW))
            {
                returnValue = Resolution.Rh8Temp12;
            }
            else if (RegisterConverter.BitIsHigh(register, REGISTER_BIT_RESOLUTION_HIGH) &&
                     RegisterConverter.BitIsLow(register, REGISTER_BIT_RESOLUTION_LOW))
            {
                returnValue = Resolution.Rh10Temp13;
            }
            else if (RegisterConverter.BitIsHigh(register, REGISTER_BIT_RESOLUTION_HIGH) &&
                     RegisterConverter.BitIsHigh(register, REGISTER_BIT_RESOLUTION_LOW))
            {
                returnValue = Resolution.Rh11Temp11;
            }

            return(returnValue);
        }
Example #2
0
        public async Task <BatteryStatus> GetBatteryStatus()
        {
            BatteryStatus returnValue = BatteryStatus.Unknown;

            // ***
            // *** Get the current register
            // ***
            byte register = await this.GetRegister();

            if (RegisterConverter.BitIsHigh(register, REGISTER_BIT_BATTERY))
            {
                returnValue = BatteryStatus.Low;
            }
            else
            {
                returnValue = BatteryStatus.Good;
            }

            return(returnValue);
        }
Example #3
0
        public async Task <HeaterStatus> GetHeaterStatus()
        {
            HeaterStatus returnValue = HeaterStatus.Off;

            // ***
            // *** Get the current register
            // ***
            byte register = await this.GetRegister();

            if (RegisterConverter.BitIsHigh(register, REGISTER_BIT_HEATER))
            {
                returnValue = HeaterStatus.On;
            }
            else
            {
                returnValue = HeaterStatus.Off;
            }

            return(returnValue);
        }
Example #4
0
 /// <summary>
 /// Gets the value of the configuration bit at
 /// the given index.
 /// </summary>
 /// <param name="bitIndex">Specifies the configuration
 /// bit index from 0 to 15.</param>
 /// <returns>Returns true if the bit is High and false
 /// if the bit is low.</returns>
 public virtual bool GetConfigurationBit(int bitIndex)
 {
     byte[] buffer = this.ReadFromRegister(Mcp9808Register.Configuration);
     return(RegisterConverter.BitIsHigh(buffer[bitIndex > 7 ? 0 : 1], bitIndex));
 }