Bmp280 Driver TivaC
Driver for weather sensor BMP280 for TivaC MCU
Functions
BMP280_Ware.c File Reference

Contain API adapted from Bosch official source code. More...

#include "include/BMP280_Ware.h"
#include <stdint.h>
Include dependency graph for BMP280_Ware.c:

Functions

float bmp280_compensate_T_int32 (int32_t adc_T, Bmp280CalibParam *calData)
 calculate the temperature from BMP280 raw data More...
 
float bmp280_compensate_P_int64 (int32_t adc_P, Bmp280CalibParam *calData)
 calculate pressure from BMP280 raw data More...
 
int8_t bmp280_get_calib_param (uint8_t *rawCalibData, Bmp280CalibParam *outputParam)
 obtain factory calibration data from BMP280 More...
 

Detailed Description

Contain API adapted from Bosch official source code.

Date
2018-08-25

Function Documentation

float bmp280_compensate_P_int64 ( int32_t  adc_P,
Bmp280CalibParam *  calData 
)

calculate pressure from BMP280 raw data

Parameters
adc_Praw pressure data from BMP280
calDataBMP280 calibration data, should be specific to each sensor due to factory manufacturing
Returns
Returns pressure in Pa as unsigned 32 bit integer in Q24.8 format (24 integer bits and 8 fractional bits). Output value of “24674867” represents 24674867/256 = 96386.2 Pa = 963.862 hPa
float bmp280_compensate_T_int32 ( int32_t  adc_T,
Bmp280CalibParam *  calData 
)

calculate the temperature from BMP280 raw data

Copyright (C) 2017 - 2018 Bosch Sensortec GmbH

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of the copyright holder nor the names of the contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE

The information provided is believed to be accurate and reliable. The copyright holder assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of the copyright holder.

Parameters
adc_Traw BMP280 reaiding
calDataBMP280 calibration data, should be specific to each sensor due to factory manufacturing
Returns
Returns rawCalibDataerature in DegC, resolution is 0.01 DegC. Output value of “5123” equals 51.23 DegC. calData->t_fine carries fine rawCalibDataerature as global value
int8_t bmp280_get_calib_param ( uint8_t *  rawCalibData,
Bmp280CalibParam *  outputParam 
)

obtain factory calibration data from BMP280

Parameters
rawCalibDatacalibration data read from BMP280 registers
outputParampointer to output calibration data