/// <summary> /// Configures the sensor using the supplied parameters. /// </summary> /// <remarks>This method additionally Powers On the Temp<![CDATA[&]]>Hum Click.</remarks> /// <param name="tempResolution">The <see cref="TemperatureResolutions"/> to use.</param> /// <param name="humidResolution">The <see cref="HumidityResolutions"/> to use.</param> /// <param name="outputDataRate">The <see cref="ODR"/> to use.</param> /// <param name="blockDataUpdate">The <see cref="BDU"/> to use.</param> /// <example> /// <code language = "C#"> /// _tempHum.ConfigureSensor(TempHumClick.TemperatureResolutions.Average32, TempHumClick.HumidityResolutions.Average64, TempHumClick.ODR.Odr1Hz, TempHumClick.BDU.Quiescent); /// </code> /// </example> public void ConfigureSensor(TemperatureResolutions tempResolution, HumidityResolutions humidResolution, ODR outputDataRate, BDU blockDataUpdate) { /* The following code is equivalent to setting: * // PowerMode = PowerModes.On; * // SetHeaterState(false); * // TemperatureResolution = tempResolution; * // HumidityResolution = humidResolution; * // SetBDU(blockDataUpdate); * // OutputDataRate(outputDataRate); */ registerData = (Byte)(((Byte)tempResolution << HTS221_TEMPERATURE_RESOLUTION_BIT) | ((Byte)humidResolution << HTS221_HUMIDITY_RESOLUTION_BIT)); WriteRegister(HTS221_AV_CONF, (Byte)registerData); registerData = (Byte)((1 << HTS221_POWER_STATE_BIT) | ((Byte)blockDataUpdate << HTS221_BDU_BIT) | ((Byte)outputDataRate << HTS221_ODR_Bit)); WriteRegister(HTS221_CTRL_REG1, (Byte)registerData); }
/// <summary> /// Configures the TempHum4 Click for temperature, humidity acquisition. /// </summary> /// <param name="acquisitionMode">The <see cref="AcquisitionModes" /> for measurement.</param> /// <param name="temperatureResolution">The <see cref="TemperatureResolution" /> for reading temperature data.</param> /// <param name="humidityResolution">The <see cref="HumidityResolution" /> for reading humidity data.</param> /// <param name="heaterModes">The <see cref="HeaterModes" /> for enabling or disabling the on-board heater.</param> /// <example> /// Example usage: /// <code language="C#"> /// _sensor.Configure(TempHum4Click.AcquisitionMode.Sequential, TempHum4Click.TemperatureResolution.FourteenBit, TempHum4Click.HumidityResolution.FourteenBit, TempHum4Click.HeaterMode.Disabled); /// </code> /// </example> public void ConfigureSensor(AcquisitionModes acquisitionMode, TemperatureResolutions temperatureResolution, HumidityResolutions humidityResolution, HeaterModes heaterModes) { Int32 value = (Byte)acquisitionMode << 4; value |= (Byte)heaterModes << 5; value |= (Byte)temperatureResolution << 2; value |= (Byte)humidityResolution; lock (_socket.LockI2c) { _sensor.Write(new Byte [] { ConfigRegister, (Byte)value, 0x00 }); } Thread.Sleep(15); }