public static void AddBme680Config(this SystemConfiguration config) { var bme680Config = new Bme680Configuration { FilteringMode = Bme680FilteringMode.C3, GasConversionIsEnabled = true, HeaterIsEnabled = true, HeaterProfiles = new List <Bme680HeaterConfiguration> { new Bme680HeaterConfiguration { HeaterProfile = Bme680HeaterProfile.Profile1, Duration = 150, TargetTemperature = 320 } }, HumiditySampling = Sampling.HighResolution, PressureSampling = Sampling.HighResolution, TemperatureSampling = Sampling.HighResolution, ActiveProfile = Bme680HeaterProfile.Profile1, I2CAddress = Bme680.SecondaryI2cAddress }; var bme680DeviceConfig = new DeviceConfig { Name = "Bme680", Configuration = JsonSerializer.Serialize(bme680Config) }; config.DeviceConfig.Add(bme680DeviceConfig); }
private void SetPropertiesFromConfig(Bme680Configuration config) { _bme680.TemperatureSampling = config.TemperatureSampling; _bme680.PressureSampling = config.PressureSampling; _bme680.HumiditySampling = config.HumiditySampling; _bme680.FilterMode = config.FilteringMode; _bme680.GasConversionIsEnabled = config.GasConversionIsEnabled; _bme680.HeaterIsEnabled = config.HeaterIsEnabled; }
private void SetHeaterProfilesFromConfig(Bme680Configuration config) { if (config.HeaterProfiles.Count > 10) { config.HeaterProfiles.RemoveRange(10, config.HeaterProfiles.Count - 10); } _bme680.TryReadTemperature(out var temperature); foreach (var heaterProfile in config.HeaterProfiles) { _bme680.ConfigureHeatingProfile(heaterProfile.HeaterProfile, heaterProfile.TargetTemperature, heaterProfile.Duration, temperature.DegreesCelsius); } _bme680.HeaterProfile = config.ActiveProfile; }