From a34e297c3395d9a1e4cfac966bc72c2f8ad66352 Mon Sep 17 00:00:00 2001 From: Adrian Stevens Date: Sun, 10 Dec 2023 15:43:45 -0800 Subject: [PATCH] Use IGasResistanceSensor interface --- .../Driver/Bme68x.cs | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/Source/Meadow.Foundation.Peripherals/Sensors.Atmospheric.Bme68x/Driver/Bme68x.cs b/Source/Meadow.Foundation.Peripherals/Sensors.Atmospheric.Bme68x/Driver/Bme68x.cs index 63781f3702..23aa3500c0 100644 --- a/Source/Meadow.Foundation.Peripherals/Sensors.Atmospheric.Bme68x/Driver/Bme68x.cs +++ b/Source/Meadow.Foundation.Peripherals/Sensors.Atmospheric.Bme68x/Driver/Bme68x.cs @@ -1,6 +1,7 @@ using Meadow.Hardware; using Meadow.Peripherals.Sensors; using Meadow.Peripherals.Sensors.Atmospheric; +using Meadow.Peripherals.Sensors.Environmental; using Meadow.Units; using Meadow.Utilities; using System; @@ -22,16 +23,12 @@ public abstract partial class Bme68x : RelativeHumidity? Humidity, Pressure? Pressure, Resistance? GasResistance)>, - ITemperatureSensor, IHumiditySensor, IBarometricPressureSensor, ISpiPeripheral, II2cPeripheral, IDisposable + ITemperatureSensor, IHumiditySensor, IBarometricPressureSensor, IGasResistanceSensor, ISpiPeripheral, II2cPeripheral, IDisposable { - private event EventHandler> _temperatureHandlers; - private event EventHandler> _humidityHandlers; - private event EventHandler> _pressureHandlers; - - /// - /// Raised when the gas resistance value changes - /// - public event EventHandler> GasResistanceUpdated = default!; + private event EventHandler> _temperatureHandlers = default!; + private event EventHandler> _humidityHandlers = default!; + private event EventHandler> _pressureHandlers = default!; + private event EventHandler> _gasResistanceHandlers = default!; /// /// The temperature oversampling mode @@ -292,6 +289,12 @@ event EventHandler> ISamplingSensor.Updated remove => _pressureHandlers -= value; } + event EventHandler> ISamplingSensor.Updated + { + add => _gasResistanceHandlers += value; + remove => _gasResistanceHandlers -= value; + } + /// /// Initialize the sensor /// @@ -430,7 +433,7 @@ protected override void RaiseEventsAndNotify(IChangeResult<(Units.Temperature? T } if (changeResult.New.GasResistance is { } gasResistance) { - GasResistanceUpdated?.Invoke(this, new ChangeResult(gasResistance, changeResult.Old?.GasResistance)); + _gasResistanceHandlers?.Invoke(this, new ChangeResult(gasResistance, changeResult.Old?.GasResistance)); } base.RaiseEventsAndNotify(changeResult); } @@ -669,5 +672,8 @@ async Task ISensor.Read() async Task ISensor.Read() => (await Read()).Pressure!.Value; + + async Task ISensor.Read() + => (await Read()).GasResistance!.Value; } }