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"); }
/// <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); }
/// <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); }