From e6de130f6cec0b0a486c00807d4770e328885fe0 Mon Sep 17 00:00:00 2001 From: Daniel Friesel <daniel.friesel@uos.de> Date: Wed, 25 Sep 2019 08:08:32 +0200 Subject: [PATCH] more BME680 tests --- include/driver/bme680.h | 4 ++++ model/driver/bme680.dfa | 32 ++++++++++++++++++++++---------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/include/driver/bme680.h b/include/driver/bme680.h index eaf7607..a054afd 100644 --- a/include/driver/bme680.h +++ b/include/driver/bme680.h @@ -475,6 +475,10 @@ class BME680 { gas_sett.heatr_temp = degc; } + inline void setFilter(uint8_t filter) { + tph_sett.filter = filter; + } + inline void setPowerMode(uint8_t mode) { power_mode = mode; } diff --git a/model/driver/bme680.dfa b/model/driver/bme680.dfa index cb640f8..4fa512a 100644 --- a/model/driver/bme680.dfa +++ b/model/driver/bme680.dfa @@ -2,6 +2,8 @@ codegen: instance: bme680 includes: ['driver/bme680.h'] flags: ['drivers=bme680', 'arch_drivers=i2c'] + setup: + - struct bme680_field_data sensordata; dummygen: enum: @@ -28,6 +30,7 @@ parameters: - gas_enabled - heater_duration_ms - heater_temperature_degc +- iir_filter parameter_normalization: humidity_oversampling: @@ -65,16 +68,15 @@ transition: init: src: [UNINITIALIZED, SLEEP, FORCED] dst: SLEEP + set_param: + power_mode: BME680_SLEEP_MODE + humidity_oversampling: BME680_OS_NONE + pressure_oversampling: BME680_OS_NONE + temperature_oversampling: BME680_OS_NONE + gas_enabled: BME680_RUN_GAS_DISABLE + heater_duration_ms: 0 setPowerMode: - src: [SLEEP] - dst: SLEEP - arguments: - - name: mode - values: ['BME680_SLEEP_MODE', 'BME680_FORCED_MODE'] - parameter: power_mode - setPowerMode: - src: [SLEEP_PENDING_ATTR] - dst: SLEEP_PENDING_ATTR + loop: [SLEEP, SLEEP_PENDING_ATTR] arguments: - name: mode values: ['BME680_SLEEP_MODE', 'BME680_FORCED_MODE'] @@ -100,6 +102,13 @@ transition: - name: os values: ['BME680_OS_NONE', 'BME680_OS_1X', 'BME680_OS_2X', 'BME680_OS_4X', 'BME680_OS_8X', 'BME680_OS_16X'] parameter: temperature_oversampling + setFilter: + src: [SLEEP, SLEEP_PENDING_ATTR] + dst: SLEEP_PENDING_ATTR + arguments: + - name: filter + values: ['BME680_FILTER_SIZE_0', 'BME680_FILTER_SIZE_1', 'BME680_FILTER_SIZE_3', 'BME680_FILTER_SIZE_7', 'BME680_FILTER_SIZE_15', 'BME680_FILTER_SIZE_31', 'BME680_FILTER_SIZE_63', 'BME680_FILTER_SIZE_127'] + parameter: iir_filter setRunGas: src: [SLEEP, SLEEP_PENDING_ATTR] dst: SLEEP_PENDING_ATTR @@ -112,7 +121,7 @@ transition: dst: SLEEP_PENDING_ATTR arguments: - name: ms - values: [10, 30, 60, 100, 150] + values: [10, 30, 60, 100, 150, 200] parameter: heater_duration_ms setHeaterTemp: src: [SLEEP, SLEEP_PENDING_ATTR] @@ -133,3 +142,6 @@ transition: getSensorData: src: [FORCED] dst: SLEEP + arguments: + - name: data + values: ['&sensordata'] -- GitLab