Skip to content
Snippets Groups Projects
Commit a2a9156c authored by Daniel Friesel's avatar Daniel Friesel
Browse files

add initial BME680 model

parent de61d1f4
No related branches found
No related tags found
No related merge requests found
codegen:
instance: bme680
includes: ['driver/bme680.h']
flags: ['drivers=bme680', 'arch_drivers=i2c']
dummygen:
enum:
rf24_pa_dbm_e:
- RF24_PA_MIN
- RF24_PA_LOW
- RF24_PA_HIGH
- RF24_PA_MAX
- RF24_PA_ERROR
rf24_datarate_e:
- RF24_1MBPS
- RF24_2MBPS
- RF24_250KBPS
rf24_crclength_e:
- RF24_CRC_DISABLED
- RF24_CRC_8
- RF24_CRC_16
parameters:
- power_mode
- humidity_oversampling
- pressure_oversampling
- temperature_oversampling
- gas_enabled
- heater_duration_ms
- heater_temperature_degc
parameter_normalization:
humidity_oversampling:
enum:
BME680_OS_NONE: 0
BME680_OS_1X: 1
BME680_OS_2X: 2
BME680_OS_4X: 4
BME680_OS_8X: 8
BME680_OS_16X: 16
pressure_oversampling:
enum:
BME680_OS_NONE: 0
BME680_OS_1X: 1
BME680_OS_2X: 2
BME680_OS_4X: 4
BME680_OS_8X: 8
BME680_OS_16X: 16
temperature_oversampling:
enum:
BME680_OS_NONE: 0
BME680_OS_1X: 1
BME680_OS_2X: 2
BME680_OS_4X: 4
BME680_OS_8X: 8
BME680_OS_16X: 16
states:
- UNINITIALIZED
- SLEEP
- SLEEP_PENDING_ATTR
- FORCED
transition:
init:
src: [UNINITIALIZED, SLEEP, FORCED]
dst: SLEEP
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
arguments:
- name: mode
values: ['BME680_SLEEP_MODE', 'BME680_FORCED_MODE']
parameter: power_mode
setHumidityOversampling:
src: [SLEEP, SLEEP_PENDING_ATTR]
dst: SLEEP_PENDING_ATTR
arguments:
- name: os
values: ['BME680_OS_NONE', 'BME680_OS_1X', 'BME680_OS_2X', 'BME680_OS_4X', 'BME680_OS_8X', 'BME680_OS_16X']
parameter: humidity_oversampling
setPressureOversampling:
src: [SLEEP, SLEEP_PENDING_ATTR]
dst: SLEEP_PENDING_ATTR
arguments:
- name: os
values: ['BME680_OS_NONE', 'BME680_OS_1X', 'BME680_OS_2X', 'BME680_OS_4X', 'BME680_OS_8X', 'BME680_OS_16X']
parameter: pressure_oversampling
setTemperatureOversampling:
src: [SLEEP, SLEEP_PENDING_ATTR]
dst: SLEEP_PENDING_ATTR
arguments:
- name: os
values: ['BME680_OS_NONE', 'BME680_OS_1X', 'BME680_OS_2X', 'BME680_OS_4X', 'BME680_OS_8X', 'BME680_OS_16X']
parameter: temperature_oversampling
setRunGas:
src: [SLEEP, SLEEP_PENDING_ATTR]
dst: SLEEP_PENDING_ATTR
arguments:
- name: enabled
values: ['BME680_DISABLE_GAS_MEAS', 'BME680_ENABLE_GAS_MEAS']
parameter: gas_enabled
setHeaterDuration:
src: [SLEEP, SLEEP_PENDING_ATTR]
dst: SLEEP_PENDING_ATTR
arguments:
- name: ms
values: [10, 30, 60, 100, 150]
parameter: heater_duration_ms
setHeaterTemp:
src: [SLEEP, SLEEP_PENDING_ATTR]
dst: SLEEP_PENDING_ATTR
arguments:
- name: degc
values: [100, 150, 200, 250, 300]
parameter: heater_temperature_degc
setSensorSettings:
src: [SLEEP_PENDING_ATTR]
dst: SLEEP
arguments:
- name: desired_settings
values: ['BME680_OST_SEL | BME680_OSP_SEL | BME680_OSH_SEL | BME680_GAS_SENSOR_SEL']
setSensorMode:
src: [SLEEP]
dst: FORCED
getSensorData:
src: [FORCED]
dst: SLEEP
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment