Beispiel #1
0
        /// <summary>
        /// Configures the HDC1000 Click for temperature, humidity acquisition.
        /// </summary>
        /// <param name="acquisitionMode">The <see cref="AcquisitionMode"/> 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="heatMode">The <see cref="HeaterMode"/> for enabling or disabling the on-board heater.</param>
        /// <example>Example usage:
        /// <code language = "C#">
        /// _tempHumidity.Configure(Hdc1000Click.AcquisitionMode.Sequential, Hdc1000Click.TemperatureResolution.FourteenBit, Hdc1000Click.HumidityResolution.FourteenBit, Hdc1000Click.HeaterMode.Disabled);
        /// </code>
        /// </example>
        public void Configure(AcquisitionMode acquisitionMode, TemperatureResolution temperatureResolution, HumidityResolution humidityResolution, HeaterMode heatMode)
        {
            _acquisitionMode = acquisitionMode;

            Byte value = (Byte)((Byte)acquisitionMode | (Byte)temperatureResolution | (Byte)humidityResolution | (Byte)heatMode);

            WriteRegister(ConfigRegister, value);

            Thread.Sleep(15);
        }
        public async Task <bool> SetTemperatureResolution(TemperatureResolution tr)
        {
            Task <bool> tempSet = new Task <bool>(() =>
            {
                lock (_port)
                {
                    _tres = tr;
                    if (this.AddressById())
                    {
                        if (this.WriteCommand(Command.WriteScratchPadFun))
                        {
                            if (this.Write(0xFF, 0xFF, (byte)_tres))
                            {
                                return(true);
                            }
                        }
                    }
                }
                return(false);
            });

            tempSet.Start();
            return(await tempSet);
        }
 public async Task<bool> SetTemperatureResolution(TemperatureResolution tr)
 {
     Task<bool> tempSet = new Task<bool>(() =>
     {
         lock (_port)
         {
             _tres = tr;
             if (this.AddressById())
             {
                 if (this.WriteCommand(Command.WriteScratchPadFun))
                     if (this.Write(0xFF, 0xFF, (byte)_tres))
                         return true;
             }
         }
         return false;
     });
     tempSet.Start();
     return await tempSet;
 }