LibDriver BME680
Loading...
Searching...
No Matches
bme680 base driver function

bme680 base driver modules More...

Collaboration diagram for bme680 base driver function:

Data Structures

struct  bme680_handle_s
 bme680 handle structure definition More...
struct  bme680_info_s
 bme680 information structure definition More...

Typedefs

typedef struct bme680_handle_s bme680_handle_t
 bme680 handle structure definition
typedef struct bme680_info_s bme680_info_t
 bme680 information structure definition

Enumerations

enum  bme680_bool_t { BME680_BOOL_FALSE = 0x00 , BME680_BOOL_TRUE = 0x01 }
 bme680 bool enumeration definition More...
enum  bme680_interface_t { BME680_INTERFACE_IIC = 0x00 , BME680_INTERFACE_SPI = 0x01 }
 bme680 interface enumeration definition More...
enum  bme680_address_t { BME680_ADDRESS_ADO_LOW = (0x76 << 1) , BME680_ADDRESS_ADO_HIGH = (0x77 << 1) }
 bme680 address enumeration definition More...
enum  bme680_oversampling_t {
  BME680_OVERSAMPLING_SKIP = 0x00 , BME680_OVERSAMPLING_x1 = 0x01 , BME680_OVERSAMPLING_x2 = 0x02 , BME680_OVERSAMPLING_x4 = 0x03 ,
  BME680_OVERSAMPLING_x8 = 0x04 , BME680_OVERSAMPLING_x16 = 0x05
}
 bme680 oversampling enumeration definition More...
enum  bme680_mode_t { BME680_MODE_SLEEP = 0x00 , BME680_MODE_FORCED = 0x01 }
 bme680 mode enumeration definition More...
enum  bme680_filter_t {
  BME680_FILTER_OFF = 0x00 , BME680_FILTER_COEFF_1 = 0x01 , BME680_FILTER_COEFF_3 = 0x02 , BME680_FILTER_COEFF_7 = 0x03 ,
  BME680_FILTER_COEFF_15 = 0x04 , BME680_FILTER_COEFF_31 = 0x05 , BME680_FILTER_COEFF_63 = 0x06 , BME680_FILTER_COEFF_127 = 0x07
}
 bme680 filter enumeration definition More...
enum  bme680_spi_wire_t { BME680_SPI_WIRE_4 = 0x00 , BME680_SPI_WIRE_3 = 0x01 }
 bme680 spi wire enumeration definition More...

Functions

uint8_t bme680_info (bme680_info_t *info)
 get chip's information
uint8_t bme680_set_interface (bme680_handle_t *handle, bme680_interface_t interface)
 set the interface
uint8_t bme680_get_interface (bme680_handle_t *handle, bme680_interface_t *interface)
 get the interface
uint8_t bme680_set_addr_pin (bme680_handle_t *handle, bme680_address_t addr_pin)
 set the iic address pin
uint8_t bme680_get_addr_pin (bme680_handle_t *handle, bme680_address_t *addr_pin)
 get the iic address pin
uint8_t bme680_init (bme680_handle_t *handle)
 initialize the chip
uint8_t bme680_deinit (bme680_handle_t *handle)
 close the chip
uint8_t bme680_read (bme680_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa, uint32_t *humidity_raw, float *humidity_percentage, uint16_t *adc_raw, uint8_t *adc_range, float *ohms, uint8_t *index)
 read the temperature pressure humidity and gas resistance
uint8_t bme680_read_temperature_pressure_humidity (bme680_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa, uint32_t *humidity_raw, float *humidity_percentage)
 read the temperature pressure and humidity data
uint8_t bme680_read_pressure (bme680_handle_t *handle, uint32_t *pressure_raw, float *pressure_pa)
 read the pressure data
uint8_t bme680_read_temperature (bme680_handle_t *handle, uint32_t *temperature_raw, float *temperature_c)
 read the temperature data
uint8_t bme680_read_humidity (bme680_handle_t *handle, uint32_t *humidity_raw, float *humidity_percentage)
 read the humidity data
uint8_t bme680_read_gas_resistance (bme680_handle_t *handle, uint16_t *adc_raw, uint8_t *adc_range, float *ohms, uint8_t *index)
 read the gas resistance
uint8_t bme680_soft_reset (bme680_handle_t *handle)
 soft reset
uint8_t bme680_set_humidity_oversampling (bme680_handle_t *handle, bme680_oversampling_t oversampling)
 set humidity oversampling
uint8_t bme680_get_humidity_oversampling (bme680_handle_t *handle, bme680_oversampling_t *oversampling)
 get humidity oversampling
uint8_t bme680_set_temperature_oversampling (bme680_handle_t *handle, bme680_oversampling_t oversampling)
 set temperature oversampling
uint8_t bme680_get_temperature_oversampling (bme680_handle_t *handle, bme680_oversampling_t *oversampling)
 get temperature oversampling
uint8_t bme680_set_pressure_oversampling (bme680_handle_t *handle, bme680_oversampling_t oversampling)
 set pressure oversampling
uint8_t bme680_get_pressure_oversampling (bme680_handle_t *handle, bme680_oversampling_t *oversampling)
 get pressure oversampling
uint8_t bme680_set_mode (bme680_handle_t *handle, bme680_mode_t mode)
 set mode
uint8_t bme680_get_mode (bme680_handle_t *handle, bme680_mode_t *mode)
 get mode
uint8_t bme680_set_filter (bme680_handle_t *handle, bme680_filter_t filter)
 set filter
uint8_t bme680_get_filter (bme680_handle_t *handle, bme680_filter_t *filter)
 get filter
uint8_t bme680_set_spi_wire (bme680_handle_t *handle, bme680_spi_wire_t spi)
 set spi wire
uint8_t bme680_get_spi_wire (bme680_handle_t *handle, bme680_spi_wire_t *spi)
 get spi wire
uint8_t bme680_set_spi_wire_3_data_interrupt (bme680_handle_t *handle, bme680_bool_t enable)
 enable or disable spi wire3 data interrupt
uint8_t bme680_get_spi_wire_3_data_interrupt (bme680_handle_t *handle, bme680_bool_t *enable)
 get spi wire3 data interrupt status
uint8_t bme680_get_new_data_status (bme680_handle_t *handle, bme680_bool_t *enable)
 get new data status
uint8_t bme680_get_gas_measuring_status (bme680_handle_t *handle, bme680_bool_t *enable)
 get gas measuring status
uint8_t bme680_get_measuring_status (bme680_handle_t *handle, bme680_bool_t *enable)
 get measuring status
uint8_t bme680_get_gas_measuring_index (bme680_handle_t *handle, uint8_t *index)
 get gas measuring index
uint8_t bme680_get_gas_valid_status (bme680_handle_t *handle, bme680_bool_t *enable)
 get gas valid status
uint8_t bme680_get_heater_stability_status (bme680_handle_t *handle, bme680_bool_t *enable)
 get heater stability status
uint8_t bme680_set_heat_off (bme680_handle_t *handle, bme680_bool_t enable)
 enable or disable heat off
uint8_t bme680_get_heat_off (bme680_handle_t *handle, bme680_bool_t *enable)
 get heat off status
uint8_t bme680_set_run_gas (bme680_handle_t *handle, bme680_bool_t enable)
 enable or disable run gas
uint8_t bme680_get_run_gas (bme680_handle_t *handle, bme680_bool_t *enable)
 get run gas status
uint8_t bme680_set_convert_index (bme680_handle_t *handle, uint8_t index)
 set convert index
uint8_t bme680_get_convert_index (bme680_handle_t *handle, uint8_t *index)
 get convert index
uint8_t bme680_set_idac_heat (bme680_handle_t *handle, uint8_t index, uint8_t reg)
 set idac heat
uint8_t bme680_get_idac_heat (bme680_handle_t *handle, uint8_t index, uint8_t *reg)
 get idac heat
uint8_t bme680_set_resistance_heat (bme680_handle_t *handle, uint8_t index, uint8_t reg)
 set resistance heat
uint8_t bme680_get_resistance_heat (bme680_handle_t *handle, uint8_t index, uint8_t *reg)
 get resistance heat
uint8_t bme680_set_gas_wait (bme680_handle_t *handle, uint8_t index, uint8_t reg)
 set gas wait
uint8_t bme680_get_gas_wait (bme680_handle_t *handle, uint8_t index, uint8_t *reg)
 get gas wait
uint8_t bme680_resistance_heat_convert_to_register (bme680_handle_t *handle, float degree_celsius, uint8_t *reg)
 convert the resistance heat to the register raw data
uint8_t bme680_gas_wait_convert_to_register (bme680_handle_t *handle, uint16_t ms, uint8_t *reg)
 convert the gas wait to the register raw data
uint8_t bme680_idac_heat_convert_to_register (bme680_handle_t *handle, float ma, uint8_t *reg)
 convert the idac heat to the register raw data
uint8_t bme680_idac_heat_convert_to_data (bme680_handle_t *handle, uint8_t reg, float *ma)
 convert the register raw data to idac heat

Detailed Description

bme680 base driver modules

Typedef Documentation

◆ bme680_handle_t

bme680 handle structure definition

◆ bme680_info_t

typedef struct bme680_info_s bme680_info_t

bme680 information structure definition

Enumeration Type Documentation

◆ bme680_address_t

bme680 address enumeration definition

Enumerator
BME680_ADDRESS_ADO_LOW 

ADO is low

BME680_ADDRESS_ADO_HIGH 

ADO is HIGH

Definition at line 80 of file driver_bme680.h.

◆ bme680_bool_t

bme680 bool enumeration definition

Enumerator
BME680_BOOL_FALSE 

false

BME680_BOOL_TRUE 

true

Definition at line 62 of file driver_bme680.h.

◆ bme680_filter_t

bme680 filter enumeration definition

Enumerator
BME680_FILTER_OFF 

off

BME680_FILTER_COEFF_1 

coeff 1

BME680_FILTER_COEFF_3 

coeff 3

BME680_FILTER_COEFF_7 

coeff 7

BME680_FILTER_COEFF_15 

coeff 15

BME680_FILTER_COEFF_31 

coeff 31

BME680_FILTER_COEFF_63 

coeff 63

BME680_FILTER_COEFF_127 

coeff 127

Definition at line 111 of file driver_bme680.h.

◆ bme680_interface_t

bme680 interface enumeration definition

Enumerator
BME680_INTERFACE_IIC 

iic interface

BME680_INTERFACE_SPI 

spi interface

Definition at line 71 of file driver_bme680.h.

◆ bme680_mode_t

bme680 mode enumeration definition

Enumerator
BME680_MODE_SLEEP 

sleep mode

BME680_MODE_FORCED 

forced mode

Definition at line 102 of file driver_bme680.h.

◆ bme680_oversampling_t

bme680 oversampling enumeration definition

Enumerator
BME680_OVERSAMPLING_SKIP 

oversampling x1

BME680_OVERSAMPLING_x1 

oversampling x1

BME680_OVERSAMPLING_x2 

oversampling x2

BME680_OVERSAMPLING_x4 

oversampling x4

BME680_OVERSAMPLING_x8 

oversampling x8

BME680_OVERSAMPLING_x16 

oversampling x16

Definition at line 89 of file driver_bme680.h.

◆ bme680_spi_wire_t

bme680 spi wire enumeration definition

Enumerator
BME680_SPI_WIRE_4 

4 wire

BME680_SPI_WIRE_3 

3 wire

Definition at line 126 of file driver_bme680.h.

Function Documentation

◆ bme680_deinit()

uint8_t bme680_deinit ( bme680_handle_t * handle)

close the chip

Parameters
[in]*handlepointer to a bme680 handle structure
Returns
status code
  • 0 success
  • 1 iic deinit failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 power down failed
Note
none

Definition at line 893 of file driver_bme680.c.

◆ bme680_gas_wait_convert_to_register()

uint8_t bme680_gas_wait_convert_to_register ( bme680_handle_t * handle,
uint16_t ms,
uint8_t * reg )

convert the gas wait to the register raw data

Parameters
[in]*handlepointer to a bme680 handle structure
[in]msinput ms
[out]*regpointer to a register raw buffer
Returns
status code
  • 0 success
  • 1 ms >= 0x0FC0
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2307 of file driver_bme680.c.

◆ bme680_get_addr_pin()

uint8_t bme680_get_addr_pin ( bme680_handle_t * handle,
bme680_address_t * addr_pin )

get the iic address pin

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*addr_pinpointer to an iic address pin buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 688 of file driver_bme680.c.

◆ bme680_get_convert_index()

uint8_t bme680_get_convert_index ( bme680_handle_t * handle,
uint8_t * index )

get convert index

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*indexpointer to a convert index buffer
Returns
status code
  • 0 success
  • 1 get convert index failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2190 of file driver_bme680.c.

◆ bme680_get_filter()

uint8_t bme680_get_filter ( bme680_handle_t * handle,
bme680_filter_t * filter )

get filter

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*filterpointer to a filter buffer
Returns
status code
  • 0 success
  • 1 get filter failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1875 of file driver_bme680.c.

◆ bme680_get_gas_measuring_index()

uint8_t bme680_get_gas_measuring_index ( bme680_handle_t * handle,
uint8_t * index )

get gas measuring index

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*indexpointer to an index buffer
Returns
status code
  • 0 success
  • 1 get gas measuring index failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1343 of file driver_bme680.c.

◆ bme680_get_gas_measuring_status()

uint8_t bme680_get_gas_measuring_status ( bme680_handle_t * handle,
bme680_bool_t * enable )

get gas measuring status

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*enablepointer to a bool buffer
Returns
status code
  • 0 success
  • 1 get gas measuring status failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1273 of file driver_bme680.c.

◆ bme680_get_gas_valid_status()

uint8_t bme680_get_gas_valid_status ( bme680_handle_t * handle,
bme680_bool_t * enable )

get gas valid status

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*enablepointer to a bool buffer
Returns
status code
  • 0 success
  • 1 get gas valid status failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1378 of file driver_bme680.c.

◆ bme680_get_gas_wait()

uint8_t bme680_get_gas_wait ( bme680_handle_t * handle,
uint8_t index,
uint8_t * reg )

get gas wait

Parameters
[in]*handlepointer to a bme680 handle structure
[in]indexinput index
[out]*regpointer to an input register buffer
Returns
status code
  • 0 success
  • 1 get gas wait failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 index > 9
Note
none

Definition at line 1165 of file driver_bme680.c.

◆ bme680_get_heat_off()

uint8_t bme680_get_heat_off ( bme680_handle_t * handle,
bme680_bool_t * enable )

get heat off status

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*enablepointer to a bool value buffer
Returns
status code
  • 0 success
  • 1 get heat off failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2029 of file driver_bme680.c.

◆ bme680_get_heater_stability_status()

uint8_t bme680_get_heater_stability_status ( bme680_handle_t * handle,
bme680_bool_t * enable )

get heater stability status

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*enablepointer to a bool buffer
Returns
status code
  • 0 success
  • 1 get heater stability status failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1413 of file driver_bme680.c.

◆ bme680_get_humidity_oversampling()

uint8_t bme680_get_humidity_oversampling ( bme680_handle_t * handle,
bme680_oversampling_t * oversampling )

get humidity oversampling

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*oversamplingpointer to a humidity oversampling buffer
Returns
status code
  • 0 success
  • 1 get humidity oversampling failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1567 of file driver_bme680.c.

◆ bme680_get_idac_heat()

uint8_t bme680_get_idac_heat ( bme680_handle_t * handle,
uint8_t index,
uint8_t * reg )

get idac heat

Parameters
[in]*handlepointer to a bme680 handle structure
[in]indexinput index
[out]*regpointer to an input register buffer
Returns
status code
  • 0 success
  • 1 get idac heat failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 index > 9
Note
none

Definition at line 999 of file driver_bme680.c.

◆ bme680_get_interface()

uint8_t bme680_get_interface ( bme680_handle_t * handle,
bme680_interface_t * interface )

get the interface

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*interfacepointer to a chip interface buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 730 of file driver_bme680.c.

◆ bme680_get_measuring_status()

uint8_t bme680_get_measuring_status ( bme680_handle_t * handle,
bme680_bool_t * enable )

get measuring status

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*enablepointer to a bool buffer
Returns
status code
  • 0 success
  • 1 get measuring status failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1308 of file driver_bme680.c.

◆ bme680_get_mode()

uint8_t bme680_get_mode ( bme680_handle_t * handle,
bme680_mode_t * mode )

get mode

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*modepointer to a mode buffer
Returns
status code
  • 0 success
  • 1 get mode failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1798 of file driver_bme680.c.

◆ bme680_get_new_data_status()

uint8_t bme680_get_new_data_status ( bme680_handle_t * handle,
bme680_bool_t * enable )

get new data status

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*enablepointer to a bool buffer
Returns
status code
  • 0 success
  • 1 get new data status failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1238 of file driver_bme680.c.

◆ bme680_get_pressure_oversampling()

uint8_t bme680_get_pressure_oversampling ( bme680_handle_t * handle,
bme680_oversampling_t * oversampling )

get pressure oversampling

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*oversamplingpointer to a oversampling buffer
Returns
status code
  • 0 success
  • 1 get pressure oversampling failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1721 of file driver_bme680.c.

◆ bme680_get_resistance_heat()

uint8_t bme680_get_resistance_heat ( bme680_handle_t * handle,
uint8_t index,
uint8_t * reg )

get resistance heat

Parameters
[in]*handlepointer to a bme680 handle structure
[in]indexinput index
[out]*regpointer to an input register buffer
Returns
status code
  • 0 success
  • 1 get resistance heat failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 index > 9
Note
none

Definition at line 1082 of file driver_bme680.c.

◆ bme680_get_run_gas()

uint8_t bme680_get_run_gas ( bme680_handle_t * handle,
bme680_bool_t * enable )

get run gas status

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*enablepointer to a bool value buffer
Returns
status code
  • 0 success
  • 1 get run gas failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2106 of file driver_bme680.c.

◆ bme680_get_spi_wire()

uint8_t bme680_get_spi_wire ( bme680_handle_t * handle,
bme680_spi_wire_t * spi )

get spi wire

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*spipointer to a spi wire buffer
Returns
status code
  • 0 success
  • 1 get spi wire failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1952 of file driver_bme680.c.

◆ bme680_get_spi_wire_3_data_interrupt()

uint8_t bme680_get_spi_wire_3_data_interrupt ( bme680_handle_t * handle,
bme680_bool_t * enable )

get spi wire3 data interrupt status

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*enablepointer to a bool value buffer
Returns
status code
  • 0 success
  • 1 get spi wire 3 data interrupt failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1490 of file driver_bme680.c.

◆ bme680_get_temperature_oversampling()

uint8_t bme680_get_temperature_oversampling ( bme680_handle_t * handle,
bme680_oversampling_t * oversampling )

get temperature oversampling

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*oversamplingpointer to a oversampling buffer
Returns
status code
  • 0 success
  • 1 get temperature oversampling failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1644 of file driver_bme680.c.

◆ bme680_idac_heat_convert_to_data()

uint8_t bme680_idac_heat_convert_to_data ( bme680_handle_t * handle,
uint8_t reg,
float * ma )

convert the register raw data to idac heat

Parameters
[in]*handlepointer to a bme680 handle structure
[in]regregister raw data
[out]*mapointer to a ma buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2279 of file driver_bme680.c.

◆ bme680_idac_heat_convert_to_register()

uint8_t bme680_idac_heat_convert_to_register ( bme680_handle_t * handle,
float ma,
uint8_t * reg )

convert the idac heat to the register raw data

Parameters
[in]*handlepointer to a bme680 handle structure
[in]mainput ma
[out]*regpointer to a register raw buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2252 of file driver_bme680.c.

◆ bme680_info()

uint8_t bme680_info ( bme680_info_t * info)

get chip's information

Parameters
[out]*infopointer to a bme680 info structure
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 3059 of file driver_bme680.c.

◆ bme680_init()

uint8_t bme680_init ( bme680_handle_t * handle)

initialize the chip

Parameters
[in]*handlepointer to a bme680 handle structure
Returns
status code
  • 0 success
  • 1 iic or spi initialization failed
  • 2 handle is NULL
  • 3 linked functions is NULL
  • 4 id is error
  • 5 get nvm calibration failed
  • 6 read calibration failed
Note
none

Definition at line 755 of file driver_bme680.c.

◆ bme680_read()

uint8_t bme680_read ( bme680_handle_t * handle,
uint32_t * temperature_raw,
float * temperature_c,
uint32_t * pressure_raw,
float * pressure_pa,
uint32_t * humidity_raw,
float * humidity_percentage,
uint16_t * adc_raw,
uint8_t * adc_range,
float * ohms,
uint8_t * index )

read the temperature pressure humidity and gas resistance

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*temperature_rawpointer to a raw temperature buffer
[out]*temperature_cpointer to a converted temperature buffer
[out]*pressure_rawpointer to a raw pressure buffer
[out]*pressure_papointer to a converted pressure buffer
[out]*humidity_rawpointer to a raw humidity buffer
[out]*humidity_percentagepointer to a converted humidity percentage buffer
[out]*adc_rawpointer to an adc raw buffer
[out]*adc_rangepointer to an adc range buffer
[out]*ohmspointer to an ohms buffer
[out]*indexpointer to a heater index buffer
Returns
status code
  • 0 success
  • 1 read failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 compensate failed
  • 5 read timeout
  • 6 gas is invalid
  • 7 heater is not stable
Note
none

Definition at line 2867 of file driver_bme680.c.

◆ bme680_read_gas_resistance()

uint8_t bme680_read_gas_resistance ( bme680_handle_t * handle,
uint16_t * adc_raw,
uint8_t * adc_range,
float * ohms,
uint8_t * index )

read the gas resistance

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*adc_rawpointer to an adc raw buffer
[out]*adc_rangepointer to an adc range buffer
[out]*ohmspointer to an ohms buffer
[out]*indexpointer to a heater index buffer
Returns
status code
  • 0 success
  • 1 gas resistance read failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 compensate gas resistance failed
  • 5 read timeout
  • 6 gas is invalid
  • 7 heater is not stable
Note
none

Definition at line 2358 of file driver_bme680.c.

◆ bme680_read_humidity()

uint8_t bme680_read_humidity ( bme680_handle_t * handle,
uint32_t * humidity_raw,
float * humidity_percentage )

read the humidity data

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*humidity_rawpointer to a raw humidity buffer
[out]*humidity_percentagepointer to a converted humidity percentage buffer
Returns
status code
  • 0 success
  • 1 read failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 compensate pressure failed
  • 5 read timeout
Note
none

Definition at line 2649 of file driver_bme680.c.

◆ bme680_read_pressure()

uint8_t bme680_read_pressure ( bme680_handle_t * handle,
uint32_t * pressure_raw,
float * pressure_pa )

read the pressure data

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*pressure_rawpointer to a raw pressure buffer
[out]*pressure_papointer to a converted pressure buffer
Returns
status code
  • 0 success
  • 1 pressure read failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 compensate pressure failed
  • 5 read timeout
Note
none

Definition at line 2463 of file driver_bme680.c.

◆ bme680_read_temperature()

uint8_t bme680_read_temperature ( bme680_handle_t * handle,
uint32_t * temperature_raw,
float * temperature_c )

read the temperature data

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*temperature_rawpointer to a raw temperature buffer
[out]*temperature_cpointer to a converted temperature buffer
Returns
status code
  • 0 success
  • 1 temperature read failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 compensate pressure failed
  • 5 read timeout
Note
none

Definition at line 2562 of file driver_bme680.c.

◆ bme680_read_temperature_pressure_humidity()

uint8_t bme680_read_temperature_pressure_humidity ( bme680_handle_t * handle,
uint32_t * temperature_raw,
float * temperature_c,
uint32_t * pressure_raw,
float * pressure_pa,
uint32_t * humidity_raw,
float * humidity_percentage )

read the temperature pressure and humidity data

Parameters
[in]*handlepointer to a bme680 handle structure
[out]*temperature_rawpointer to a raw temperature buffer
[out]*temperature_cpointer to a converted temperature buffer
[out]*pressure_rawpointer to a raw pressure buffer
[out]*pressure_papointer to a converted pressure buffer
[out]*humidity_rawpointer to a raw humidity buffer
[out]*humidity_percentagepointer to a converted humidity percentage buffer
Returns
status code
  • 0 success
  • 1 read failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 compensate failed
  • 5 read timeout
Note
none

Definition at line 2750 of file driver_bme680.c.

◆ bme680_resistance_heat_convert_to_register()

uint8_t bme680_resistance_heat_convert_to_register ( bme680_handle_t * handle,
float degree_celsius,
uint8_t * reg )

convert the resistance heat to the register raw data

Parameters
[in]*handlepointer to a bme680 handle structure
[in]degree_celsiusinput degree celsius
[out]*regpointer to a register raw buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2225 of file driver_bme680.c.

◆ bme680_set_addr_pin()

uint8_t bme680_set_addr_pin ( bme680_handle_t * handle,
bme680_address_t addr_pin )

set the iic address pin

Parameters
[in]*handlepointer to a bme680 handle structure
[in]addr_piniic address pin
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 667 of file driver_bme680.c.

◆ bme680_set_convert_index()

uint8_t bme680_set_convert_index ( bme680_handle_t * handle,
uint8_t index )

set convert index

Parameters
[in]*handlepointer to a bme680 handle structure
[in]indexconvert index
Returns
status code
  • 0 success
  • 1 set convert index failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 index > 9
Note
none

Definition at line 2142 of file driver_bme680.c.

◆ bme680_set_filter()

uint8_t bme680_set_filter ( bme680_handle_t * handle,
bme680_filter_t filter )

set filter

Parameters
[in]*handlepointer to a bme680 handle structure
[in]filterinput filter
Returns
status code
  • 0 success
  • 1 set filter failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1833 of file driver_bme680.c.

◆ bme680_set_gas_wait()

uint8_t bme680_set_gas_wait ( bme680_handle_t * handle,
uint8_t index,
uint8_t reg )

set gas wait

Parameters
[in]*handlepointer to a bme680 handle structure
[in]indexinput index
[in]reginput register
Returns
status code
  • 0 success
  • 1 set gas wait failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 index > 9
Note
none

Definition at line 1122 of file driver_bme680.c.

◆ bme680_set_heat_off()

uint8_t bme680_set_heat_off ( bme680_handle_t * handle,
bme680_bool_t enable )

enable or disable heat off

Parameters
[in]*handlepointer to a bme680 handle structure
[in]enablebool value
Returns
status code
  • 0 success
  • 1 set heat off failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1987 of file driver_bme680.c.

◆ bme680_set_humidity_oversampling()

uint8_t bme680_set_humidity_oversampling ( bme680_handle_t * handle,
bme680_oversampling_t oversampling )

set humidity oversampling

Parameters
[in]*handlepointer to a bme680 handle structure
[in]oversamplinghumidity oversampling
Returns
status code
  • 0 success
  • 1 set humidity oversampling failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1525 of file driver_bme680.c.

◆ bme680_set_idac_heat()

uint8_t bme680_set_idac_heat ( bme680_handle_t * handle,
uint8_t index,
uint8_t reg )

set idac heat

Parameters
[in]*handlepointer to a bme680 handle structure
[in]indexinput index
[in]reginput register
Returns
status code
  • 0 success
  • 1 set idac heat failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 index > 9
Note
none

Definition at line 956 of file driver_bme680.c.

◆ bme680_set_interface()

uint8_t bme680_set_interface ( bme680_handle_t * handle,
bme680_interface_t interface )

set the interface

Parameters
[in]*handlepointer to a bme680 handle structure
[in]interfacechip interface
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 709 of file driver_bme680.c.

◆ bme680_set_mode()

uint8_t bme680_set_mode ( bme680_handle_t * handle,
bme680_mode_t mode )

set mode

Parameters
[in]*handlepointer to a bme680 handle structure
[in]modechip mode
Returns
status code
  • 0 success
  • 1 set mode failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1756 of file driver_bme680.c.

◆ bme680_set_pressure_oversampling()

uint8_t bme680_set_pressure_oversampling ( bme680_handle_t * handle,
bme680_oversampling_t oversampling )

set pressure oversampling

Parameters
[in]*handlepointer to a bme680 handle structure
[in]oversamplingpressure oversampling
Returns
status code
  • 0 success
  • 1 set pressure oversampling failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1679 of file driver_bme680.c.

◆ bme680_set_resistance_heat()

uint8_t bme680_set_resistance_heat ( bme680_handle_t * handle,
uint8_t index,
uint8_t reg )

set resistance heat

Parameters
[in]*handlepointer to a bme680 handle structure
[in]indexinput index
[in]reginput register
Returns
status code
  • 0 success
  • 1 set resistance heat failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 index > 9
Note
none

Definition at line 1039 of file driver_bme680.c.

◆ bme680_set_run_gas()

uint8_t bme680_set_run_gas ( bme680_handle_t * handle,
bme680_bool_t enable )

enable or disable run gas

Parameters
[in]*handlepointer to a bme680 handle structure
[in]enablebool value
Returns
status code
  • 0 success
  • 1 set run gas failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2064 of file driver_bme680.c.

◆ bme680_set_spi_wire()

uint8_t bme680_set_spi_wire ( bme680_handle_t * handle,
bme680_spi_wire_t spi )

set spi wire

Parameters
[in]*handlepointer to a bme680 handle structure
[in]spispi wire
Returns
status code
  • 0 success
  • 1 set spi wire failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1910 of file driver_bme680.c.

◆ bme680_set_spi_wire_3_data_interrupt()

uint8_t bme680_set_spi_wire_3_data_interrupt ( bme680_handle_t * handle,
bme680_bool_t enable )

enable or disable spi wire3 data interrupt

Parameters
[in]*handlepointer to a bme680 handle structure
[in]enablebool value
Returns
status code
  • 0 success
  • 1 set spi wire 3 data interrupt failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1448 of file driver_bme680.c.

◆ bme680_set_temperature_oversampling()

uint8_t bme680_set_temperature_oversampling ( bme680_handle_t * handle,
bme680_oversampling_t oversampling )

set temperature oversampling

Parameters
[in]*handlepointer to a bme680 handle structure
[in]oversamplingtemperature oversampling
Returns
status code
  • 0 success
  • 1 set temperature oversampling failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1602 of file driver_bme680.c.

◆ bme680_soft_reset()

uint8_t bme680_soft_reset ( bme680_handle_t * handle)

soft reset

Parameters
[in]*handlepointer to a bme680 handle structure
Returns
status code
  • 0 success
  • 1 soft reset failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1202 of file driver_bme680.c.