LibDriver BMP388
Loading...
Searching...
No Matches
bmp388 base driver function

bmp388 base driver modules More...

Collaboration diagram for bmp388 base driver function:

Data Structures

struct  bmp388_frame_s
 bmp388 frame structure definition More...
struct  bmp388_handle_s
 bmp388 handle structure definition More...
struct  bmp388_info_s
 bmp388 information structure definition More...

Typedefs

typedef struct bmp388_frame_s bmp388_frame_t
 bmp388 frame structure definition
typedef struct bmp388_handle_s bmp388_handle_t
 bmp388 handle structure definition
typedef struct bmp388_info_s bmp388_info_t
 bmp388 information structure definition

Enumerations

enum  bmp388_interface_t { BMP388_INTERFACE_IIC = 0x00 , BMP388_INTERFACE_SPI = 0x01 }
 bmp388 interface enumeration definition More...
enum  bmp388_address_t { BMP388_ADDRESS_ADO_LOW = (0x76 << 1) , BMP388_ADDRESS_ADO_HIGH = (0x77 << 1) }
 bmp388 address enumeration definition More...
enum  bmp388_bool_t { BMP388_BOOL_FALSE = 0x00 , BMP388_BOOL_TRUE = 0x01 }
 bmp388 bool enumeration definition More...
enum  bmp388_error_t { BMP388_ERROR_FATAL = (1 << 0) , BMP388_ERROR_CMD = (1 << 1) , BMP388_ERROR_CONF = (1 << 2) }
 bmp388 error enumeration definition More...
enum  bmp388_status_t { BMP388_STATUS_COMMAND_READY = (1 << 4) , BMP388_STATUS_PRESS_READY = (1 << 5) , BMP388_STATUS_TEMP_READY = (1 << 6) }
 bmp388 status enumeration definition More...
enum  bmp388_event_t { BMP388_EVENT_NONE = (0 << 0) , BMP388_EVENT_POWER_UP_OR_SOFTRESET = (1 << 0) }
 bmp388 event enumeration definition More...
enum  bmp388_fifo_data_source_t { BMP388_FIFO_DATA_SOURCE_UNFILTERED = 0 , BMP388_FIFO_DATA_SOURCE_FILTERED = 1 }
 bmp388 fifo data source enumeration definition More...
enum  bmp388_interrupt_status_t { BMP388_INTERRUPT_STATUS_FIFO_WATERMARK = (1 << 0) , BMP388_INTERRUPT_STATUS_FIFO_FULL = (1 << 1) , BMP388_INTERRUPT_STATUS_DATA_READY = (1 << 3) }
 bmp388 interrupt status enumeration definition More...
enum  bmp388_interrupt_active_level_t { BMP388_INTERRUPT_ACTIVE_LEVEL_LOWER = 0x00 , BMP388_INTERRUPT_ACTIVE_LEVEL_HIGHER = 0x01 }
 bmp388 interrupt active level enumeration definition More...
enum  bmp388_interrupt_pin_type_t { BMP388_INTERRUPT_PIN_TYPE_PUSH_PULL = 0x00 , BMP388_INTERRUPT_PIN_TYPE_OPEN_DRAIN = 0x01 }
 bmp388 interrupt pin type enumeration definition More...
enum  bmp388_spi_wire_t { BMP388_SPI_WIRE_4 = 0x00 , BMP388_SPI_WIRE_3 = 0x01 }
 bmp388 spi wire enumeration definition More...
enum  bmp388_iic_watchdog_period_t { BMP388_IIC_WATCHDOG_PERIOD_1P25_MS = 0x00 , BMP388_IIC_WATCHDOG_PERIOD_40_MS = 0x01 }
 bmp388 iic watchdog period enumeration definition More...
enum  bmp388_mode_t { BMP388_MODE_SLEEP_MODE = 0x00 , BMP388_MODE_FORCED_MODE = 0x01 , BMP388_MODE_NORMAL_MODE = 0x03 }
 bmp388 mode enumeration definition More...
enum  bmp388_oversampling_t {
  BMP388_OVERSAMPLING_x1 = 0x00 , BMP388_OVERSAMPLING_x2 = 0x01 , BMP388_OVERSAMPLING_x4 = 0x02 , BMP388_OVERSAMPLING_x8 = 0x03 ,
  BMP388_OVERSAMPLING_x16 = 0x04 , BMP388_OVERSAMPLING_x32 = 0x05
}
 bmp388 oversampling enumeration definition More...
enum  bmp388_odr_t {
  BMP388_ODR_200_HZ = 0x00 , BMP388_ODR_100_HZ = 0x01 , BMP388_ODR_50_HZ = 0x02 , BMP388_ODR_25_HZ = 0x03 ,
  BMP388_ODR_12P5_HZ = 0x04 , BMP388_ODR_6P25_HZ = 0x05 , BMP388_ODR_3P1_HZ = 0x06 , BMP388_ODR_1P5_HZ = 0x07 ,
  BMP388_ODR_0P78_HZ = 0x08 , BMP388_ODR_0P39_HZ = 0x09 , BMP388_ODR_0P2_HZ = 0x0A , BMP388_ODR_0P1_HZ = 0x0B ,
  BMP388_ODR_0P05_HZ = 0x0C , BMP388_ODR_0P02_HZ = 0x0D , BMP388_ODR_0P01_HZ = 0x0E , BMP388_ODR_0P006_HZ = 0x0F ,
  BMP388_ODR_0P003_HZ = 0x10 , BMP388_ODR_0P0015_HZ = 0x11
}
 bmp388 output data rate enumeration definition More...
enum  bmp388_filter_coefficient_t {
  BMP388_FILTER_COEFFICIENT_0 = 0x00 , BMP388_FILTER_COEFFICIENT_1 = 0x01 , BMP388_FILTER_COEFFICIENT_3 = 0x02 , BMP388_FILTER_COEFFICIENT_7 = 0x03 ,
  BMP388_FILTER_COEFFICIENT_15 = 0x04 , BMP388_FILTER_COEFFICIENT_31 = 0x05 , BMP388_FILTER_COEFFICIENT_63 = 0x06 , BMP388_FILTER_COEFFICIENT_127 = 0x07
}
 bmp388 filter coefficient enumeration definition More...
enum  bmp388_frame_type_t { BMP388_FRAME_TYPE_TEMPERATURE = 0x01 , BMP388_FRAME_TYPE_PRESSURE = 0x02 , BMP388_FRAME_TYPE_SENSORTIME = 0x03 }
 bmp388 frame type enumeration definition More...

Functions

uint8_t bmp388_info (bmp388_info_t *info)
 get chip's information
uint8_t bmp388_set_addr_pin (bmp388_handle_t *handle, bmp388_address_t addr_pin)
 set the iic address pin
uint8_t bmp388_get_addr_pin (bmp388_handle_t *handle, bmp388_address_t *addr_pin)
 get the iic address pin
uint8_t bmp388_set_interface (bmp388_handle_t *handle, bmp388_interface_t interface)
 set the interface
uint8_t bmp388_get_interface (bmp388_handle_t *handle, bmp388_interface_t *interface)
 get the interface
uint8_t bmp388_irq_handler (bmp388_handle_t *handle)
 irq handler
uint8_t bmp388_init (bmp388_handle_t *handle)
 initialize the chip
uint8_t bmp388_deinit (bmp388_handle_t *handle)
 close the chip
uint8_t bmp388_read_temperature_pressure (bmp388_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_pa)
 read the temperature and pressure
uint8_t bmp388_read_temperature (bmp388_handle_t *handle, uint32_t *raw, float *c)
 read the temperature
uint8_t bmp388_read_pressure (bmp388_handle_t *handle, uint32_t *raw, float *pa)
 read the pressure
uint8_t bmp388_get_error (bmp388_handle_t *handle, uint8_t *err)
 get the error
uint8_t bmp388_get_status (bmp388_handle_t *handle, uint8_t *status)
 get the status
uint8_t bmp388_get_sensortime (bmp388_handle_t *handle, uint32_t *t)
 get the sensor time
uint8_t bmp388_get_event (bmp388_handle_t *handle, bmp388_event_t *event)
 get the event
uint8_t bmp388_set_spi_wire (bmp388_handle_t *handle, bmp388_spi_wire_t wire)
 set the spi wire
uint8_t bmp388_get_spi_wire (bmp388_handle_t *handle, bmp388_spi_wire_t *wire)
 get the spi wire
uint8_t bmp388_set_iic_watchdog_timer (bmp388_handle_t *handle, bmp388_bool_t enable)
 enable or disable the iic watchdog timer
uint8_t bmp388_get_iic_watchdog_timer (bmp388_handle_t *handle, bmp388_bool_t *enable)
 get the iic watchdog timer status
uint8_t bmp388_set_iic_watchdog_period (bmp388_handle_t *handle, bmp388_iic_watchdog_period_t period)
 set the iic watchdog period
uint8_t bmp388_get_iic_watchdog_period (bmp388_handle_t *handle, bmp388_iic_watchdog_period_t *period)
 get the iic watchdog period
uint8_t bmp388_set_pressure (bmp388_handle_t *handle, bmp388_bool_t enable)
 enable or disable the pressure
uint8_t bmp388_get_pressure (bmp388_handle_t *handle, bmp388_bool_t *enable)
 get the pressure status
uint8_t bmp388_set_temperature (bmp388_handle_t *handle, bmp388_bool_t enable)
 enable or disable the temperature
uint8_t bmp388_get_temperature (bmp388_handle_t *handle, bmp388_bool_t *enable)
 get the temperature status
uint8_t bmp388_set_mode (bmp388_handle_t *handle, bmp388_mode_t mode)
 set the chip mode
uint8_t bmp388_get_mode (bmp388_handle_t *handle, bmp388_mode_t *mode)
 get the chip mode
uint8_t bmp388_set_pressure_oversampling (bmp388_handle_t *handle, bmp388_oversampling_t oversampling)
 set the pressure oversampling
uint8_t bmp388_get_pressure_oversampling (bmp388_handle_t *handle, bmp388_oversampling_t *oversampling)
 get the pressure oversampling
uint8_t bmp388_set_temperature_oversampling (bmp388_handle_t *handle, bmp388_oversampling_t oversampling)
 set the temperature oversampling
uint8_t bmp388_get_temperature_oversampling (bmp388_handle_t *handle, bmp388_oversampling_t *oversampling)
 get the temperature oversampling
uint8_t bmp388_set_odr (bmp388_handle_t *handle, bmp388_odr_t odr)
 set the output data rate
uint8_t bmp388_get_odr (bmp388_handle_t *handle, bmp388_odr_t *odr)
 get the output data rate
uint8_t bmp388_set_filter_coefficient (bmp388_handle_t *handle, bmp388_filter_coefficient_t coefficient)
 set the filter coefficient
uint8_t bmp388_get_filter_coefficient (bmp388_handle_t *handle, bmp388_filter_coefficient_t *coefficient)
 get the filter coefficient
uint8_t bmp388_softreset (bmp388_handle_t *handle)
 soft reset
uint8_t bmp388_extmode_en_middle (bmp388_handle_t *handle)
 extmode enable middle

Detailed Description

bmp388 base driver modules

Typedef Documentation

◆ bmp388_frame_t

bmp388 frame structure definition

◆ bmp388_handle_t

bmp388 handle structure definition

◆ bmp388_info_t

typedef struct bmp388_info_s bmp388_info_t

bmp388 information structure definition

Enumeration Type Documentation

◆ bmp388_address_t

bmp388 address enumeration definition

Enumerator
BMP388_ADDRESS_ADO_LOW 

ADO is low

BMP388_ADDRESS_ADO_HIGH 

ADO is HIGH

Definition at line 72 of file driver_bmp388.h.

◆ bmp388_bool_t

bmp388 bool enumeration definition

Enumerator
BMP388_BOOL_FALSE 

false

BMP388_BOOL_TRUE 

true

Definition at line 81 of file driver_bmp388.h.

◆ bmp388_error_t

bmp388 error enumeration definition

Enumerator
BMP388_ERROR_FATAL 

fatal error

BMP388_ERROR_CMD 

command error

BMP388_ERROR_CONF 

conf error

Definition at line 90 of file driver_bmp388.h.

◆ bmp388_event_t

bmp388 event enumeration definition

Enumerator
BMP388_EVENT_NONE 

event none

BMP388_EVENT_POWER_UP_OR_SOFTRESET 

event power up or soft reset

Definition at line 110 of file driver_bmp388.h.

◆ bmp388_fifo_data_source_t

bmp388 fifo data source enumeration definition

Enumerator
BMP388_FIFO_DATA_SOURCE_UNFILTERED 

fifo data source unfiltered

BMP388_FIFO_DATA_SOURCE_FILTERED 

fifo data source filtered

Definition at line 119 of file driver_bmp388.h.

◆ bmp388_filter_coefficient_t

bmp388 filter coefficient enumeration definition

Enumerator
BMP388_FILTER_COEFFICIENT_0 

coefficient 0

BMP388_FILTER_COEFFICIENT_1 

coefficient 1

BMP388_FILTER_COEFFICIENT_3 

coefficient 3

BMP388_FILTER_COEFFICIENT_7 

coefficient 7

BMP388_FILTER_COEFFICIENT_15 

coefficient 15

BMP388_FILTER_COEFFICIENT_31 

coefficient 31

BMP388_FILTER_COEFFICIENT_63 

coefficient 63

BMP388_FILTER_COEFFICIENT_127 

coefficient 127

Definition at line 222 of file driver_bmp388.h.

◆ bmp388_frame_type_t

bmp388 frame type enumeration definition

Enumerator
BMP388_FRAME_TYPE_TEMPERATURE 

temperature frame type

BMP388_FRAME_TYPE_PRESSURE 

pressure frame type

BMP388_FRAME_TYPE_SENSORTIME 

sensor time frame type

Definition at line 237 of file driver_bmp388.h.

◆ bmp388_iic_watchdog_period_t

bmp388 iic watchdog period enumeration definition

Enumerator
BMP388_IIC_WATCHDOG_PERIOD_1P25_MS 

iic watchdog period 1.25 ms

BMP388_IIC_WATCHDOG_PERIOD_40_MS 

iic watchdog period 40 ms

Definition at line 165 of file driver_bmp388.h.

◆ bmp388_interface_t

bmp388 interface enumeration definition

Enumerator
BMP388_INTERFACE_IIC 

iic interface

BMP388_INTERFACE_SPI 

spi interface

Definition at line 63 of file driver_bmp388.h.

◆ bmp388_interrupt_active_level_t

bmp388 interrupt active level enumeration definition

Enumerator
BMP388_INTERRUPT_ACTIVE_LEVEL_LOWER 

active level lower

BMP388_INTERRUPT_ACTIVE_LEVEL_HIGHER 

active level higher

Definition at line 138 of file driver_bmp388.h.

◆ bmp388_interrupt_pin_type_t

bmp388 interrupt pin type enumeration definition

Enumerator
BMP388_INTERRUPT_PIN_TYPE_PUSH_PULL 

push pull pin type

BMP388_INTERRUPT_PIN_TYPE_OPEN_DRAIN 

open drain pin type

Definition at line 147 of file driver_bmp388.h.

◆ bmp388_interrupt_status_t

bmp388 interrupt status enumeration definition

Enumerator
BMP388_INTERRUPT_STATUS_FIFO_WATERMARK 

fifo watermark interrupt status

BMP388_INTERRUPT_STATUS_FIFO_FULL 

fifo full interrupt status

BMP388_INTERRUPT_STATUS_DATA_READY 

data ready interrupt status

Definition at line 128 of file driver_bmp388.h.

◆ bmp388_mode_t

bmp388 mode enumeration definition

Enumerator
BMP388_MODE_SLEEP_MODE 

sleep mode

BMP388_MODE_FORCED_MODE 

forced mode

BMP388_MODE_NORMAL_MODE 

normal mode

Definition at line 174 of file driver_bmp388.h.

◆ bmp388_odr_t

bmp388 output data rate enumeration definition

Enumerator
BMP388_ODR_200_HZ 

200Hz

BMP388_ODR_100_HZ 

100Hz

BMP388_ODR_50_HZ 

50Hz

BMP388_ODR_25_HZ 

25Hz

BMP388_ODR_12P5_HZ 

12.5Hz

BMP388_ODR_6P25_HZ 

6.25Hz

BMP388_ODR_3P1_HZ 

3.1Hz

BMP388_ODR_1P5_HZ 

1.5Hz

BMP388_ODR_0P78_HZ 

0.78Hz

BMP388_ODR_0P39_HZ 

0.39Hz

BMP388_ODR_0P2_HZ 

0.2Hz

BMP388_ODR_0P1_HZ 

0.1Hz

BMP388_ODR_0P05_HZ 

0.05Hz

BMP388_ODR_0P02_HZ 

0.02Hz

BMP388_ODR_0P01_HZ 

0.01Hz

BMP388_ODR_0P006_HZ 

0.006Hz

BMP388_ODR_0P003_HZ 

0.003Hz

BMP388_ODR_0P0015_HZ 

0.0015Hz

Definition at line 197 of file driver_bmp388.h.

◆ bmp388_oversampling_t

bmp388 oversampling enumeration definition

Enumerator
BMP388_OVERSAMPLING_x1 

oversampling x1

BMP388_OVERSAMPLING_x2 

oversampling x2

BMP388_OVERSAMPLING_x4 

oversampling x4

BMP388_OVERSAMPLING_x8 

oversampling x8

BMP388_OVERSAMPLING_x16 

oversampling x16

BMP388_OVERSAMPLING_x32 

oversampling x32

Definition at line 184 of file driver_bmp388.h.

◆ bmp388_spi_wire_t

bmp388 spi wire enumeration definition

Enumerator
BMP388_SPI_WIRE_4 

4 wire

BMP388_SPI_WIRE_3 

3 wire

Definition at line 156 of file driver_bmp388.h.

◆ bmp388_status_t

bmp388 status enumeration definition

Enumerator
BMP388_STATUS_COMMAND_READY 

command ready status

BMP388_STATUS_PRESS_READY 

press ready status

BMP388_STATUS_TEMP_READY 

temp ready status

Definition at line 100 of file driver_bmp388.h.

Function Documentation

◆ bmp388_deinit()

uint8_t bmp388_deinit ( bmp388_handle_t * handle)

close the chip

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

Definition at line 2905 of file driver_bmp388.c.

◆ bmp388_extmode_en_middle()

uint8_t bmp388_extmode_en_middle ( bmp388_handle_t * handle)

extmode enable middle

Parameters
[in]*handlepointer to a bmp388 handle structure
Returns
status code
  • 0 success
  • 1 extmode enable middle failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2680 of file driver_bmp388.c.

◆ bmp388_get_addr_pin()

uint8_t bmp388_get_addr_pin ( bmp388_handle_t * handle,
bmp388_address_t * addr_pin )

get the iic address pin

Parameters
[in]*handlepointer to a bmp388 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 3594 of file driver_bmp388.c.

◆ bmp388_get_error()

uint8_t bmp388_get_error ( bmp388_handle_t * handle,
uint8_t * err )

get the error

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

Definition at line 388 of file driver_bmp388.c.

◆ bmp388_get_event()

uint8_t bmp388_get_event ( bmp388_handle_t * handle,
bmp388_event_t * event )

get the event

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

Definition at line 495 of file driver_bmp388.c.

◆ bmp388_get_filter_coefficient()

uint8_t bmp388_get_filter_coefficient ( bmp388_handle_t * handle,
bmp388_filter_coefficient_t * coefficient )

get the filter coefficient

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

Definition at line 2572 of file driver_bmp388.c.

◆ bmp388_get_iic_watchdog_period()

uint8_t bmp388_get_iic_watchdog_period ( bmp388_handle_t * handle,
bmp388_iic_watchdog_period_t * period )

get the iic watchdog period

Parameters
[in]*handlepointer to a bmp388 handle structure
[out]*periodpointer to an iic watchdog period buffer
Returns
status code
  • 0 success
  • 1 get iic watchdog period failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1996 of file driver_bmp388.c.

◆ bmp388_get_iic_watchdog_timer()

uint8_t bmp388_get_iic_watchdog_timer ( bmp388_handle_t * handle,
bmp388_bool_t * enable )

get the iic watchdog timer status

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

Definition at line 1914 of file driver_bmp388.c.

◆ bmp388_get_interface()

uint8_t bmp388_get_interface ( bmp388_handle_t * handle,
bmp388_interface_t * interface )

get the interface

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

Definition at line 3636 of file driver_bmp388.c.

◆ bmp388_get_mode()

uint8_t bmp388_get_mode ( bmp388_handle_t * handle,
bmp388_mode_t * mode )

get the chip mode

Parameters
[in]*handlepointer to a bmp388 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 2242 of file driver_bmp388.c.

◆ bmp388_get_odr()

uint8_t bmp388_get_odr ( bmp388_handle_t * handle,
bmp388_odr_t * odr )

get the output data rate

Parameters
[in]*handlepointer to a bmp388 handle structure
[out]*odrpointer to an output data rate buffer
Returns
status code
  • 0 success
  • 1 get odr failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2489 of file driver_bmp388.c.

◆ bmp388_get_pressure()

uint8_t bmp388_get_pressure ( bmp388_handle_t * handle,
bmp388_bool_t * enable )

get the pressure status

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

Definition at line 2078 of file driver_bmp388.c.

◆ bmp388_get_pressure_oversampling()

uint8_t bmp388_get_pressure_oversampling ( bmp388_handle_t * handle,
bmp388_oversampling_t * oversampling )

get the pressure oversampling

Parameters
[in]*handlepointer to a bmp388 handle structure
[out]*oversamplingpointer to an 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 2324 of file driver_bmp388.c.

◆ bmp388_get_sensortime()

uint8_t bmp388_get_sensortime ( bmp388_handle_t * handle,
uint32_t * t )

get the sensor time

Parameters
[in]*handlepointer to a bmp388 handle structure
[out]*tpointer to a timestamp buffer
Returns
status code
  • 0 success
  • 1 get sensor time failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 458 of file driver_bmp388.c.

◆ bmp388_get_spi_wire()

uint8_t bmp388_get_spi_wire ( bmp388_handle_t * handle,
bmp388_spi_wire_t * wire )

get the spi wire

Parameters
[in]*handlepointer to a bmp388 handle structure
[out]*wirepointer 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 1832 of file driver_bmp388.c.

◆ bmp388_get_status()

uint8_t bmp388_get_status ( bmp388_handle_t * handle,
uint8_t * status )

get the status

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

Definition at line 423 of file driver_bmp388.c.

◆ bmp388_get_temperature()

uint8_t bmp388_get_temperature ( bmp388_handle_t * handle,
bmp388_bool_t * enable )

get the temperature status

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

Definition at line 2160 of file driver_bmp388.c.

◆ bmp388_get_temperature_oversampling()

uint8_t bmp388_get_temperature_oversampling ( bmp388_handle_t * handle,
bmp388_oversampling_t * oversampling )

get the temperature oversampling

Parameters
[in]*handlepointer to a bmp388 handle structure
[out]*oversamplingpointer to an 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 2406 of file driver_bmp388.c.

◆ bmp388_info()

uint8_t bmp388_info ( bmp388_info_t * info)

get chip's information

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

Definition at line 3904 of file driver_bmp388.c.

◆ bmp388_init()

uint8_t bmp388_init ( bmp388_handle_t * handle)

initialize the chip

Parameters
[in]*handlepointer to a bmp388 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 invalid
  • 5 reset failed
  • 6 get calibration failed
Note
none

Definition at line 2759 of file driver_bmp388.c.

◆ bmp388_irq_handler()

uint8_t bmp388_irq_handler ( bmp388_handle_t * handle)

irq handler

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

Definition at line 3518 of file driver_bmp388.c.

◆ bmp388_read_pressure()

uint8_t bmp388_read_pressure ( bmp388_handle_t * handle,
uint32_t * raw,
float * pa )

read the pressure

Parameters
[in]*handlepointer to a bmp388 handle structure
[out]*rawpointer to a raw pressure buffer
[out]*papointer to a converted pressure buffer
Returns
status code
  • 0 success
  • 1 read pressure failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 3111 of file driver_bmp388.c.

◆ bmp388_read_temperature()

uint8_t bmp388_read_temperature ( bmp388_handle_t * handle,
uint32_t * raw,
float * c )

read the temperature

Parameters
[in]*handlepointer to a bmp388 handle structure
[out]*rawpointer to a raw temperature buffer
[out]*cpointer to a converted temperature buffer
Returns
status code
  • 0 success
  • 1 read temperature failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2959 of file driver_bmp388.c.

◆ bmp388_read_temperature_pressure()

uint8_t bmp388_read_temperature_pressure ( bmp388_handle_t * handle,
uint32_t * temperature_raw,
float * temperature_c,
uint32_t * pressure_raw,
float * pressure_pa )

read the temperature and pressure

Parameters
[in]*handlepointer to a bmp388 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
Returns
status code
  • 0 success
  • 1 read temperature pressure failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 3313 of file driver_bmp388.c.

◆ bmp388_set_addr_pin()

uint8_t bmp388_set_addr_pin ( bmp388_handle_t * handle,
bmp388_address_t addr_pin )

set the iic address pin

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

Definition at line 3573 of file driver_bmp388.c.

◆ bmp388_set_filter_coefficient()

uint8_t bmp388_set_filter_coefficient ( bmp388_handle_t * handle,
bmp388_filter_coefficient_t coefficient )

set the filter coefficient

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

Definition at line 2526 of file driver_bmp388.c.

◆ bmp388_set_iic_watchdog_period()

uint8_t bmp388_set_iic_watchdog_period ( bmp388_handle_t * handle,
bmp388_iic_watchdog_period_t period )

set the iic watchdog period

Parameters
[in]*handlepointer to a bmp388 handle structure
[in]periodiic watchdog period
Returns
status code
  • 0 success
  • 1 set iic watchdog period failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1951 of file driver_bmp388.c.

◆ bmp388_set_iic_watchdog_timer()

uint8_t bmp388_set_iic_watchdog_timer ( bmp388_handle_t * handle,
bmp388_bool_t enable )

enable or disable the iic watchdog timer

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

Definition at line 1869 of file driver_bmp388.c.

◆ bmp388_set_interface()

uint8_t bmp388_set_interface ( bmp388_handle_t * handle,
bmp388_interface_t interface )

set the interface

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

Definition at line 3615 of file driver_bmp388.c.

◆ bmp388_set_mode()

uint8_t bmp388_set_mode ( bmp388_handle_t * handle,
bmp388_mode_t mode )

set the chip mode

Parameters
[in]*handlepointer to a bmp388 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 2197 of file driver_bmp388.c.

◆ bmp388_set_odr()

uint8_t bmp388_set_odr ( bmp388_handle_t * handle,
bmp388_odr_t odr )

set the output data rate

Parameters
[in]*handlepointer to a bmp388 handle structure
[in]odroutput data rate
Returns
status code
  • 0 success
  • 1 set odr failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2443 of file driver_bmp388.c.

◆ bmp388_set_pressure()

uint8_t bmp388_set_pressure ( bmp388_handle_t * handle,
bmp388_bool_t enable )

enable or disable the pressure

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

Definition at line 2033 of file driver_bmp388.c.

◆ bmp388_set_pressure_oversampling()

uint8_t bmp388_set_pressure_oversampling ( bmp388_handle_t * handle,
bmp388_oversampling_t oversampling )

set the pressure oversampling

Parameters
[in]*handlepointer to a bmp388 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 2279 of file driver_bmp388.c.

◆ bmp388_set_spi_wire()

uint8_t bmp388_set_spi_wire ( bmp388_handle_t * handle,
bmp388_spi_wire_t wire )

set the spi wire

Parameters
[in]*handlepointer to a bmp388 handle structure
[in]wirespi 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 1787 of file driver_bmp388.c.

◆ bmp388_set_temperature()

uint8_t bmp388_set_temperature ( bmp388_handle_t * handle,
bmp388_bool_t enable )

enable or disable the temperature

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

Definition at line 2115 of file driver_bmp388.c.

◆ bmp388_set_temperature_oversampling()

uint8_t bmp388_set_temperature_oversampling ( bmp388_handle_t * handle,
bmp388_oversampling_t oversampling )

set the temperature oversampling

Parameters
[in]*handlepointer to a bmp388 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 2361 of file driver_bmp388.c.

◆ bmp388_softreset()

uint8_t bmp388_softreset ( bmp388_handle_t * handle)

soft reset

Parameters
[in]*handlepointer to a bmp388 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 2644 of file driver_bmp388.c.