qmp6988 - Driver for QMP6988 digital temperature and pressure sensor
- group qmp6988
ESP-IDF driver for QMP6988 digital temperature and pressure sensor.
Code based on m5stack https://github.com/m5stack/M5Unit-ENV and Ruslan V. Uss https://github.com/UncleRus
Copyright (c) 2019 Ruslan V. Uss (https://github.com/UncleRus
)
Copyright (c) 2022 m5stack (
https://github.com/m5stack)
Copyright (c) 2024 vonguced (
https://github.com/vonguced)
BSD Licensed as described in the file LICENSE
Enums
-
enum qmp6988_power_mode_t
Possible measurement modes.
Values:
-
enumerator QMP6988_SLEEP_MODE
sleep mode
-
enumerator QMP6988_FORCED_MODE
one measurement then sleep again
-
enumerator QMP6988_NORMAL_MODE
power mode
-
enumerator QMP6988_SLEEP_MODE
-
enum qmp6988_filter_t
Possible filter modes.
Values:
-
enumerator QMP6988_FILTERCOEFF_OFF
-
enumerator QMP6988_FILTERCOEFF_2
-
enumerator QMP6988_FILTERCOEFF_4
-
enumerator QMP6988_FILTERCOEFF_8
-
enumerator QMP6988_FILTERCOEFF_16
-
enumerator QMP6988_FILTERCOEFF_32
-
enumerator QMP6988_FILTERCOEFF_OFF
-
enum qmp6988_oversampling_t
Possible oversampling modes.
Values:
-
enumerator QMP6988_OVERSAMPLING_SKIPPED
-
enumerator QMP6988_OVERSAMPLING_1X
-
enumerator QMP6988_OVERSAMPLING_2X
-
enumerator QMP6988_OVERSAMPLING_4X
-
enumerator QMP6988_OVERSAMPLING_8X
-
enumerator QMP6988_OVERSAMPLING_16X
-
enumerator QMP6988_OVERSAMPLING_32X
-
enumerator QMP6988_OVERSAMPLING_64X
-
enumerator QMP6988_OVERSAMPLING_SKIPPED
Functions
-
esp_err_t qmp6988_init_desc(qmp6988_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)
Initialize device descriptor.
- Parameters:
dev – Device descriptor.
addr – Device address.
port – I2C port.
sda_gpio – SDA GPIO.
scl_gpio – SCL GPIO.
- Returns:
ESP_OK
on success.
-
esp_err_t qmp6988_free_desc(qmp6988_t *dev)
Free device descriptor.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t qmp6988_init(qmp6988_t *dev)
Initialize sensor.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t qmp6988_setup_powermode(qmp6988_t *dev, qmp6988_power_mode_t power_mode)
Set up power mode for QMP6988.
- Parameters:
dev – Device descriptor.
power_mode – Power mode to be set.
- Returns:
ESP_OK
on success.
-
esp_err_t qmp6988_set_filter(qmp6988_t *dev, qmp6988_filter_t filter_mode)
Set up filter mode for QMP6988.
- Parameters:
dev – Device descriptor.
filter_mode – Filter mode to be set.
- Returns:
ESP_OK
on success.
-
esp_err_t qmp6988_set_p_oversampling(qmp6988_t *dev, qmp6988_oversampling_t oversampling_p_mode)
Set up pressure oversampling mode for QMP6988.
- Parameters:
dev – Device descriptor.
oversampling_p_mode – Oversampling mode for pressure to be set.
- Returns:
ESP_OK
on success.
-
esp_err_t qmp6988_set_t_oversampling(qmp6988_t *dev, qmp6988_oversampling_t oversampling_t_mode)
Set up temperature oversampling mode for QMP6988.
- Parameters:
dev – Device descriptor.
oversampling_t_mode – Oversampling mode for temperature to be set.
- Returns:
ESP_OK
on success.
-
struct qmp6988_ik_data_t
- #include <qmp6988.h>
Structure holding calibration data for QMP6988.
-
struct qmp6988_t
- #include <qmp6988.h>
Device descriptor.
Public Members
-
qmp6988_power_mode_t power_mode
used power mode
-
qmp6988_filter_t filter_mode
used filter mode
-
qmp6988_oversampling_t oversampling_t_mode
used oversampling temp mode
-
qmp6988_oversampling_t oversampling_p_mode
used oversampling pressure mode
-
qmp6988_ik_data_t ik
used calibration data
-
float temperature
measured temperature
-
float pressure
measured pressure
-
qmp6988_power_mode_t power_mode
-
enum qmp6988_power_mode_t