Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }