ISSDK  1.8
IoT Sensing Software Development Kit
Data Structures | Functions
dbap_drv.h File Reference

The dbap_drv.h file describes the DBAP driver interface and structures. More...

#include <stdint.h>
#include "dbap.h"
#include "sensor_io_i2c.h"
#include "sensor_io_spi.h"
#include "register_io_i2c.h"
#include "register_io_spi.h"
Include dependency graph for dbap_drv.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dbap_i2c_sensorhandle_t
 This defines the sensor specific information for I2C. More...
 
struct  dbap_pressuredata_t
 This structure defines the dbap data buffer in Pressure Mode. More...
 

Functions

int32_t DBAP_I2C_Initialize (dbap_i2c_sensorhandle_t *pSensorHandle, ARM_DRIVER_I2C *pBus, uint8_t index, uint16_t sAddress, uint8_t whoAmi)
 The interface function to initialize the sensor. More...
 
void DBAP_I2C_SetIdleTask (dbap_i2c_sensorhandle_t *pSensorHandle, registeridlefunction_t idleTask, void *userParam)
 : The interface function to set the I2C Idle Task. More...
 
int32_t DBAP_I2C_Configure (dbap_i2c_sensorhandle_t *pSensorHandle, const registerwritelist_t *pRegWriteList)
 The interface function to configure he sensor. More...
 
int32_t DBAP_I2C_ReadData (dbap_i2c_sensorhandle_t *pSensorHandle, const registerreadlist_t *pReadList, uint8_t *pBuffer)
 The interface function to read the sensor data. More...
 

Detailed Description

The dbap_drv.h file describes the DBAP driver interface and structures.

Definition in file dbap_drv.h.

Function Documentation

◆ DBAP_I2C_Configure()

int32_t DBAP_I2C_Configure ( dbap_i2c_sensorhandle_t pSensorHandle,
const registerwritelist_t pRegWriteList 
)

The interface function to configure he sensor.

This function configure the sensor with requested ODR, Range and registers in the regsiter pair array.

Parameters
[in]pSensorHandlehandle to the sensor.
[in]pRegWriteListpointer to the register list.
Constraints:
This can be called any number of times only after DBAP_I2C_Initialize(). Application has to ensure that previous instances of these APIs have exited before invocation. No
Returns
DBAP_I2C_Configure() returns the status.

Validate for the correct handle and register write list.

Check whether sensor handle is initialized before applying configuration.

Apply the Sensor Configuration based on the Register Write List

Definition at line 59 of file dbap_drv.c.

References dbap_i2c_sensorhandle_t::deviceInfo, int32_t(), dbap_i2c_sensorhandle_t::isInitialized, dbap_i2c_sensorhandle_t::pCommDrv, SENSOR_ERROR_INIT, SENSOR_ERROR_INVALID_PARAM, SENSOR_ERROR_NONE, SENSOR_ERROR_WRITE, Sensor_I2C_Write(), dbap_i2c_sensorhandle_t::slaveAddress, and status.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DBAP_I2C_Initialize()

int32_t DBAP_I2C_Initialize ( dbap_i2c_sensorhandle_t pSensorHandle,
ARM_DRIVER_I2C *  pBus,
uint8_t  index,
uint16_t  sAddress,
uint8_t  whoAmi 
)

The interface function to initialize the sensor.

This function initialize the sensor and sensor handle.

Parameters
[in]pSensorHandlehandle to the sensor.
[in]pBuspointer to the CMSIS API compatible I2C bus object.
[in]indexthe I2C device number.
[in]sAddressslave address of the device on the bus.
[in]whoamiWHO_AM_I value of the device.
Constraints:
This should be the first API to be called. Application has to ensure that previous instances of these APIs have exited before invocation. No
Returns
DBAP_I2C_Initialize() returns the status.

Check the input parameters.

Read and store the device's WHO_AM_I.

Initialize the sensor handle.

Definition at line 21 of file dbap_drv.c.

References dbap_i2c_sensorhandle_t::deviceInfo, registerDeviceInfo_t::deviceInstance, registerDeviceInfo_t::functionParam, FXPS7250_WHO_AM_I, registerDeviceInfo_t::idleFunction, int32_t(), dbap_i2c_sensorhandle_t::isInitialized, dbap_i2c_sensorhandle_t::pCommDrv, Register_I2C_Read(), SENSOR_ERROR_INIT, SENSOR_ERROR_INVALID_PARAM, SENSOR_ERROR_NONE, dbap_i2c_sensorhandle_t::slaveAddress, and status.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DBAP_I2C_ReadData()

int32_t DBAP_I2C_ReadData ( dbap_i2c_sensorhandle_t pSensorHandle,
const registerreadlist_t pReadList,
uint8_t *  pBuffer 
)

The interface function to read the sensor data.

This function read the sensor data out from the device and returns raw data in a byte stream.

Parameters
[in]pSensorHandlehandle to the sensor.
[in]pReadListpointer to the list of device registers and values to read.
[out]pBufferbuffer which holds raw sensor data.This buffer may be back to back databuffer based command read in the list.
Constraints:
This can be called only after DBAP_I2C_Initialize(). Application has to ensure that previous instances of these APIs have exited before invocation. No
Returns
DBAP_I2C_ReadData() returns the status .

Validate for the correct handle and register read list.

Check whether sensor handle is initialized before reading sensor data.

Parse through the read list and read the data one by one.

Definition at line 86 of file dbap_drv.c.

References dbap_i2c_sensorhandle_t::deviceInfo, int32_t(), dbap_i2c_sensorhandle_t::isInitialized, dbap_i2c_sensorhandle_t::pCommDrv, SENSOR_ERROR_INIT, SENSOR_ERROR_INVALID_PARAM, SENSOR_ERROR_NONE, SENSOR_ERROR_READ, Sensor_I2C_Read(), dbap_i2c_sensorhandle_t::slaveAddress, and status.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DBAP_I2C_SetIdleTask()

void DBAP_I2C_SetIdleTask ( dbap_i2c_sensorhandle_t pSensorHandle,
registeridlefunction_t  idleTask,
void *  userParam 
)

: The interface function to set the I2C Idle Task.

Parameters
[in]dbap_i2c_sensorhandle_t *pSensorHandle, handle to the sensor handle.
[in]registeridlefunction_t idleTask, function pointer to the function to execute on I2C Idle Time.
[in]void *userParam, the pointer to the user idle ftask parameters.
Returns
void.
Constraints:
This can be called any number of times only after DBAP_I2C_Initialize(). Application has to ensure that previous instances of these APIs have exited before invocation. No

Definition at line 53 of file dbap_drv.c.

References dbap_i2c_sensorhandle_t::deviceInfo, registerDeviceInfo_t::functionParam, and registerDeviceInfo_t::idleFunction.

Referenced by main().

Here is the caller graph for this function: