Ejemplo n.º 1
0
        private void Barometer_PressureChanged(object sender, BarometerValue e)
        {
            System.Diagnostics.Debug.WriteLine("Barometric pressure: " + e.Pressure.ToString() + " Temp:" + e.Temperature.ToString());
            graphCtrl1.AddValue(e.Pressure);
            graphCtrl2.AddValue(e.Temperature);

            graphCtrl1.Title = "Pressure [hPa]: " + e.Pressure.ToString("F2");
            graphCtrl2.Title = "Temperature: " + e.Temperature.ToString("F2");
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Start notification on a specified barometer value
        /// </summary>
        /// <param name="value">Barometer value to start being notified</param>
        /// <returns>true if the operation succeeded, false otherwise</returns>
        public async Task <bool> StartNotification(BarometerValue value)
        {
            bool ret;

            // List characteristics
            ret = await InitCharacteristics();

            if (ret)
            {
                // Look for the selected characteristic
                BleGattCharacteristic baro_characteristic = _barometer_characteristics[value];
                ret = await BleDevice.RegisterValueNotificationAsync(baro_characteristic, OnBarometerNotification);
            }

            return(ret);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Read a specified barometer value
        /// </summary>
        /// <param name="value">Barometer value to read</param>
        /// <returns>true if the operation succeeded, false otherwise</returns>
        public async Task <ReadBarometerValueResult> ReadBarometerValue(BarometerValue value)
        {
            ReadBarometerValueResult ret = new ReadBarometerValueResult();

            // List characteristics
            ret.Success = await InitCharacteristics();

            if (ret.Success)
            {
                // Look for the selected characteristic
                BleValue val = new BleValue();
                BleGattCharacteristic baro_characteristic = _barometer_characteristics[value];
                ret.Success = await BleDevice.ReadValueAsync(baro_characteristic, val);

                if (ret.Success)
                {
                    switch (value)
                    {
                    case BarometerValue.Pressure:
                    {
                        ret.PressureValue = val.ToUInt32();
                        break;
                    }

                    case BarometerValue.Temperature:
                    {
                        ret.TemperatureValue = val.ToInt16();
                        break;
                    }

                    default:
                    {
                        ret.Success = false;
                        break;
                    }
                    }
                }
            }

            return(ret);
        }