ATY_LIB V2_102_230218
ATY_LIB for general devices or ALGO
 
Loading...
Searching...
No Matches
BMP280_ATY.h File Reference

Familiar functions of BMP280 for all embedded device. More...

#include "INCLUDE_ATY.h"
#include "HW_I2C_ATY.h"

Go to the source code of this file.

Data Structures

struct  _BMP280_CC
 
struct  BMP280_OVERSAMPLE_MODE
 
struct  BMP280_CONFIG
 

Macros

#define BP280_SDO   1
 
#define BMP280_ADDRESS   (0x76 | BP280_SDO)
 
#define BMP280_RESET_VALUE   0xB6
 
#define BMP280_CHIPID_REG   0xD0
 
#define BMP280_RESET_REG   0xE0
 
#define BMP280_STATUS_REG   0xF3
 
#define BMP280_CTRLMEAS_REG   0xF4
 
#define BMP280_CONFIG_REG   0xF5
 
#define BMP280_PRESSURE_MSB_REG   0xF7
 
#define BMP280_PRESSURE_LSB_REG   0xF8
 
#define BMP280_PRESSURE_XLSB_REG   0xF9
 
#define BMP280_TEMPERATURE_MSB_REG   0xFA
 
#define BMP280_TEMPERATURE_LSB_REG   0xFB
 
#define BMP280_TEMPERATURE_XLSB_REG   0xFC
 
#define BMP280_MEASURING   0x01
 
#define BMP280_IM_UPDATE   0x08
 
#define BMP280_DIG_T1_LSB_REG   0x88
 
#define BMP280_DIG_T1_MSB_REG   0x89
 
#define BMP280_DIG_T2_LSB_REG   0x8A
 
#define BMP280_DIG_T2_MSB_REG   0x8B
 
#define BMP280_DIG_T3_LSB_REG   0x8C
 
#define BMP280_DIG_T3_MSB_REG   0x8D
 
#define BMP280_DIG_P1_LSB_REG   0x8E
 
#define BMP280_DIG_P1_MSB_REG   0x8F
 
#define BMP280_DIG_P2_LSB_REG   0x90
 
#define BMP280_DIG_P2_MSB_REG   0x91
 
#define BMP280_DIG_P3_LSB_REG   0x92
 
#define BMP280_DIG_P3_MSB_REG   0x93
 
#define BMP280_DIG_P4_LSB_REG   0x94
 
#define BMP280_DIG_P4_MSB_REG   0x95
 
#define BMP280_DIG_P5_LSB_REG   0x96
 
#define BMP280_DIG_P5_MSB_REG   0x97
 
#define BMP280_DIG_P6_LSB_REG   0x98
 
#define BMP280_DIG_P6_MSB_REG   0x99
 
#define BMP280_DIG_P7_LSB_REG   0x9A
 
#define BMP280_DIG_P7_MSB_REG   0x9B
 
#define BMP280_DIG_P8_LSB_REG   0x9C
 
#define BMP280_DIG_P8_MSB_REG   0x9D
 
#define BMP280_DIG_P9_LSB_REG   0x9E
 
#define BMP280_DIG_P9_MSB_REG   0x9F
 

Typedefs

typedef long signed int BMP280_S32_t
 
typedef long unsigned int BMP280_U32_t
 
typedef long long signed int BMP280_S64_t
 
typedef struct _BMP280_CC BMP280_CC
 

Enumerations

enum  BMP280_WORK_MODE { BMP280_SLEEP_MODE = 0x00 , BMP280_FORCED_MODE = 0x01 , BMP280_NORMAL_MODE = 0x03 }
 
enum  BMP280_P_OVERSAMPLING {
  BMP280_P_MODE_SKIP = 0x0 , BMP280_P_MODE_1 , BMP280_P_MODE_2 , BMP280_P_MODE_3 ,
  BMP280_P_MODE_4 , BMP280_P_MODE_5
}
 
enum  BMP280_T_OVERSAMPLING {
  BMP280_T_MODE_SKIP = 0x0 , BMP280_T_MODE_1 , BMP280_T_MODE_2 , BMP280_T_MODE_3 ,
  BMP280_T_MODE_4 , BMP280_T_MODE_5
}
 
enum  BMP280_FILTER_COEFFICIENT {
  BMP280_FILTER_OFF = 0x0 , BMP280_FILTER_MODE_1 , BMP280_FILTER_MODE_2 , BMP280_FILTER_MODE_3 ,
  BMP280_FILTER_MODE_4
}
 
enum  BMP280_T_SB {
  BMP280_T_SB1 = 0x0 , BMP280_T_SB2 , BMP280_T_SB3 , BMP280_T_SB4 ,
  BMP280_T_SB5 , BMP280_T_SB6 , BMP280_T_SB7 , BMP280_T_SB8
}
 

Functions

uint8_t BMP280_TempPreGet (uint16_t *tp)
 BMP280 get data flow path.
 

Variables

struct _BMP280_CC bmp280Cc
 
uint8_t bmp280Id
 
uint8_t bmp280InitFlag
 

Detailed Description

Familiar functions of BMP280 for all embedded device.

Parameters
ProjectDEVICE_GENERAL_ATY_LIB
Author
ATY
Version
  • 1_01_220831 > ATY
    1. Preliminary version, first Release

Definition in file BMP280_ATY.h.

Macro Definition Documentation

◆ BMP280_ADDRESS

#define BMP280_ADDRESS   (0x76 | BP280_SDO)

Definition at line 47 of file BMP280_ATY.h.

◆ BMP280_CHIPID_REG

#define BMP280_CHIPID_REG   0xD0

Definition at line 51 of file BMP280_ATY.h.

◆ BMP280_CONFIG_REG

#define BMP280_CONFIG_REG   0xF5

Definition at line 55 of file BMP280_ATY.h.

◆ BMP280_CTRLMEAS_REG

#define BMP280_CTRLMEAS_REG   0xF4

Definition at line 54 of file BMP280_ATY.h.

◆ BMP280_DIG_P1_LSB_REG

#define BMP280_DIG_P1_LSB_REG   0x8E

Definition at line 138 of file BMP280_ATY.h.

◆ BMP280_DIG_P1_MSB_REG

#define BMP280_DIG_P1_MSB_REG   0x8F

Definition at line 139 of file BMP280_ATY.h.

◆ BMP280_DIG_P2_LSB_REG

#define BMP280_DIG_P2_LSB_REG   0x90

Definition at line 140 of file BMP280_ATY.h.

◆ BMP280_DIG_P2_MSB_REG

#define BMP280_DIG_P2_MSB_REG   0x91

Definition at line 141 of file BMP280_ATY.h.

◆ BMP280_DIG_P3_LSB_REG

#define BMP280_DIG_P3_LSB_REG   0x92

Definition at line 142 of file BMP280_ATY.h.

◆ BMP280_DIG_P3_MSB_REG

#define BMP280_DIG_P3_MSB_REG   0x93

Definition at line 143 of file BMP280_ATY.h.

◆ BMP280_DIG_P4_LSB_REG

#define BMP280_DIG_P4_LSB_REG   0x94

Definition at line 144 of file BMP280_ATY.h.

◆ BMP280_DIG_P4_MSB_REG

#define BMP280_DIG_P4_MSB_REG   0x95

Definition at line 145 of file BMP280_ATY.h.

◆ BMP280_DIG_P5_LSB_REG

#define BMP280_DIG_P5_LSB_REG   0x96

Definition at line 146 of file BMP280_ATY.h.

◆ BMP280_DIG_P5_MSB_REG

#define BMP280_DIG_P5_MSB_REG   0x97

Definition at line 147 of file BMP280_ATY.h.

◆ BMP280_DIG_P6_LSB_REG

#define BMP280_DIG_P6_LSB_REG   0x98

Definition at line 148 of file BMP280_ATY.h.

◆ BMP280_DIG_P6_MSB_REG

#define BMP280_DIG_P6_MSB_REG   0x99

Definition at line 149 of file BMP280_ATY.h.

◆ BMP280_DIG_P7_LSB_REG

#define BMP280_DIG_P7_LSB_REG   0x9A

Definition at line 150 of file BMP280_ATY.h.

◆ BMP280_DIG_P7_MSB_REG

#define BMP280_DIG_P7_MSB_REG   0x9B

Definition at line 151 of file BMP280_ATY.h.

◆ BMP280_DIG_P8_LSB_REG

#define BMP280_DIG_P8_LSB_REG   0x9C

Definition at line 152 of file BMP280_ATY.h.

◆ BMP280_DIG_P8_MSB_REG

#define BMP280_DIG_P8_MSB_REG   0x9D

Definition at line 153 of file BMP280_ATY.h.

◆ BMP280_DIG_P9_LSB_REG

#define BMP280_DIG_P9_LSB_REG   0x9E

Definition at line 154 of file BMP280_ATY.h.

◆ BMP280_DIG_P9_MSB_REG

#define BMP280_DIG_P9_MSB_REG   0x9F

Definition at line 155 of file BMP280_ATY.h.

◆ BMP280_DIG_T1_LSB_REG

#define BMP280_DIG_T1_LSB_REG   0x88

Definition at line 132 of file BMP280_ATY.h.

◆ BMP280_DIG_T1_MSB_REG

#define BMP280_DIG_T1_MSB_REG   0x89

Definition at line 133 of file BMP280_ATY.h.

◆ BMP280_DIG_T2_LSB_REG

#define BMP280_DIG_T2_LSB_REG   0x8A

Definition at line 134 of file BMP280_ATY.h.

◆ BMP280_DIG_T2_MSB_REG

#define BMP280_DIG_T2_MSB_REG   0x8B

Definition at line 135 of file BMP280_ATY.h.

◆ BMP280_DIG_T3_LSB_REG

#define BMP280_DIG_T3_LSB_REG   0x8C

Definition at line 136 of file BMP280_ATY.h.

◆ BMP280_DIG_T3_MSB_REG

#define BMP280_DIG_T3_MSB_REG   0x8D

Definition at line 137 of file BMP280_ATY.h.

◆ BMP280_IM_UPDATE

#define BMP280_IM_UPDATE   0x08

Definition at line 64 of file BMP280_ATY.h.

◆ BMP280_MEASURING

#define BMP280_MEASURING   0x01

Definition at line 63 of file BMP280_ATY.h.

◆ BMP280_PRESSURE_LSB_REG

#define BMP280_PRESSURE_LSB_REG   0xF8

Definition at line 57 of file BMP280_ATY.h.

◆ BMP280_PRESSURE_MSB_REG

#define BMP280_PRESSURE_MSB_REG   0xF7

Definition at line 56 of file BMP280_ATY.h.

◆ BMP280_PRESSURE_XLSB_REG

#define BMP280_PRESSURE_XLSB_REG   0xF9

Definition at line 58 of file BMP280_ATY.h.

◆ BMP280_RESET_REG

#define BMP280_RESET_REG   0xE0

Definition at line 52 of file BMP280_ATY.h.

◆ BMP280_RESET_VALUE

#define BMP280_RESET_VALUE   0xB6

Definition at line 49 of file BMP280_ATY.h.

◆ BMP280_STATUS_REG

#define BMP280_STATUS_REG   0xF3

Definition at line 53 of file BMP280_ATY.h.

◆ BMP280_TEMPERATURE_LSB_REG

#define BMP280_TEMPERATURE_LSB_REG   0xFB

Definition at line 60 of file BMP280_ATY.h.

◆ BMP280_TEMPERATURE_MSB_REG

#define BMP280_TEMPERATURE_MSB_REG   0xFA

Definition at line 59 of file BMP280_ATY.h.

◆ BMP280_TEMPERATURE_XLSB_REG

#define BMP280_TEMPERATURE_XLSB_REG   0xFC

Definition at line 61 of file BMP280_ATY.h.

◆ BP280_SDO

#define BP280_SDO   1

Definition at line 35 of file BMP280_ATY.h.

Typedef Documentation

◆ BMP280_CC

typedef struct _BMP280_CC BMP280_CC

◆ BMP280_S32_t

typedef long signed int BMP280_S32_t

Definition at line 43 of file BMP280_ATY.h.

◆ BMP280_S64_t

typedef long long signed int BMP280_S64_t

Definition at line 45 of file BMP280_ATY.h.

◆ BMP280_U32_t

typedef long unsigned int BMP280_U32_t

Definition at line 44 of file BMP280_ATY.h.

Enumeration Type Documentation

◆ BMP280_FILTER_COEFFICIENT

Enumerator
BMP280_FILTER_OFF 
BMP280_FILTER_MODE_1 
BMP280_FILTER_MODE_2 
BMP280_FILTER_MODE_3 
BMP280_FILTER_MODE_4 

Definition at line 95 of file BMP280_ATY.h.

95 {
96 BMP280_FILTER_OFF = 0x0, // filter off
97 BMP280_FILTER_MODE_1, // x2 0.223*ODR
98 BMP280_FILTER_MODE_2, // x4 0.092*ODR
99 BMP280_FILTER_MODE_3, // x8 0.042*ODR
100 BMP280_FILTER_MODE_4 // x16 0.021*ODR
BMP280_FILTER_COEFFICIENT
Definition: BMP280_ATY.h:95
@ BMP280_FILTER_MODE_1
Definition: BMP280_ATY.h:97
@ BMP280_FILTER_OFF
Definition: BMP280_ATY.h:96
@ BMP280_FILTER_MODE_4
Definition: BMP280_ATY.h:100
@ BMP280_FILTER_MODE_2
Definition: BMP280_ATY.h:98
@ BMP280_FILTER_MODE_3
Definition: BMP280_ATY.h:99

◆ BMP280_P_OVERSAMPLING

Enumerator
BMP280_P_MODE_SKIP 
BMP280_P_MODE_1 
BMP280_P_MODE_2 
BMP280_P_MODE_3 
BMP280_P_MODE_4 
BMP280_P_MODE_5 

Definition at line 74 of file BMP280_ATY.h.

75{
76 BMP280_P_MODE_SKIP = 0x0, // skipped
77 BMP280_P_MODE_1, // x1
78 BMP280_P_MODE_2, // x2
79 BMP280_P_MODE_3, // x4
80 BMP280_P_MODE_4, // x8
81 BMP280_P_MODE_5 // x16
BMP280_P_OVERSAMPLING
Definition: BMP280_ATY.h:75
@ BMP280_P_MODE_4
Definition: BMP280_ATY.h:80
@ BMP280_P_MODE_SKIP
Definition: BMP280_ATY.h:76
@ BMP280_P_MODE_3
Definition: BMP280_ATY.h:79
@ BMP280_P_MODE_2
Definition: BMP280_ATY.h:78
@ BMP280_P_MODE_5
Definition: BMP280_ATY.h:81
@ BMP280_P_MODE_1
Definition: BMP280_ATY.h:77

◆ BMP280_T_OVERSAMPLING

Enumerator
BMP280_T_MODE_SKIP 
BMP280_T_MODE_1 
BMP280_T_MODE_2 
BMP280_T_MODE_3 
BMP280_T_MODE_4 
BMP280_T_MODE_5 

Definition at line 85 of file BMP280_ATY.h.

85 {
86 BMP280_T_MODE_SKIP = 0x0, // skipped
87 BMP280_T_MODE_1, // x1
88 BMP280_T_MODE_2, // x2
89 BMP280_T_MODE_3, // x4
90 BMP280_T_MODE_4, // x8
91 BMP280_T_MODE_5 // x16
BMP280_T_OVERSAMPLING
Definition: BMP280_ATY.h:85
@ BMP280_T_MODE_3
Definition: BMP280_ATY.h:89
@ BMP280_T_MODE_1
Definition: BMP280_ATY.h:87
@ BMP280_T_MODE_5
Definition: BMP280_ATY.h:91
@ BMP280_T_MODE_SKIP
Definition: BMP280_ATY.h:86
@ BMP280_T_MODE_2
Definition: BMP280_ATY.h:88
@ BMP280_T_MODE_4
Definition: BMP280_ATY.h:90

◆ BMP280_T_SB

Enumerator
BMP280_T_SB1 
BMP280_T_SB2 
BMP280_T_SB3 
BMP280_T_SB4 
BMP280_T_SB5 
BMP280_T_SB6 
BMP280_T_SB7 
BMP280_T_SB8 

Definition at line 104 of file BMP280_ATY.h.

104 {
105 BMP280_T_SB1 = 0x0, // 0.5ms
106 BMP280_T_SB2, // 62.5ms
107 BMP280_T_SB3, // 125ms
108 BMP280_T_SB4, // 250ms
109 BMP280_T_SB5, // 500ms
110 BMP280_T_SB6, // 1000ms
111 BMP280_T_SB7, // 2000ms
112 BMP280_T_SB8 // 4000ms
BMP280_T_SB
Definition: BMP280_ATY.h:104
@ BMP280_T_SB5
Definition: BMP280_ATY.h:109
@ BMP280_T_SB2
Definition: BMP280_ATY.h:106
@ BMP280_T_SB3
Definition: BMP280_ATY.h:107
@ BMP280_T_SB4
Definition: BMP280_ATY.h:108
@ BMP280_T_SB7
Definition: BMP280_ATY.h:111
@ BMP280_T_SB1
Definition: BMP280_ATY.h:105
@ BMP280_T_SB8
Definition: BMP280_ATY.h:112
@ BMP280_T_SB6
Definition: BMP280_ATY.h:110

◆ BMP280_WORK_MODE

Enumerator
BMP280_SLEEP_MODE 
BMP280_FORCED_MODE 
BMP280_NORMAL_MODE 

Definition at line 67 of file BMP280_ATY.h.

67 {
68 BMP280_SLEEP_MODE = 0x00,
69 BMP280_FORCED_MODE = 0x01, // and 0x02
BMP280_WORK_MODE
Definition: BMP280_ATY.h:67
@ BMP280_NORMAL_MODE
Definition: BMP280_ATY.h:70
@ BMP280_FORCED_MODE
Definition: BMP280_ATY.h:69
@ BMP280_SLEEP_MODE
Definition: BMP280_ATY.h:68

Function Documentation

◆ BMP280_TempPreGet()

uint8_t BMP280_TempPreGet ( uint16_t tp)

BMP280 get data flow path.

Parameters
tpdata group to save tp value
Returns
errCode, 0: success, !0: error

Definition at line 396 of file BMP280_ATY.c.

397{
398 double bmp280Value[2];
399
400 if(bmp280InitFlag == 0)
401 {
403 {
404 bmp280InitFlag = 2;
405 }
406 else
407 {
408 bmp280InitFlag = 1;
409 }
410 }
411 if(bmp280InitFlag == 2)
412 {
413#ifdef __DEBUG_BMP280_ATY
414 printf("\r\nDevice wrong!");
415#endif /* __DEBUG_BMP280_ATY */
416 return 0xFF;
417 }
418 else if(bmp280InitFlag == 1)
419 {
420 uint8_t errValue = 0;
421 errValue = BMP280_ReadTP(bmp280Value);
422 if(errValue == 0)
423 {
424 if(bmp280Value[1] != 0)
425 {
426 tp[0] = ((bmp280Value[0] * 1000) + 5) / 10;
427 tp[1] = (((bmp280Value[1] - 90000) * 10) + 5) / 10;
428#ifdef __DEBUG_BMP280_ATY
429 printf("\r\nTemperature %f C Pressure %f Pa", bmp280Value[0], bmp280Value[1]);
430#endif /* __DEBUG_BMP280_ATY */
431 }
432 else
433 {
434#ifdef __DEBUG_BMP280_ATY
435 printf("\r\nData get wrong!");
436#endif /* __DEBUG_AHT20_ATY */
437 return 0xFD;
438 }
439 }
440 else
441 {
442#ifdef __DEBUG_BMP280_ATY
443 printf("\r\nBMP280 timeout! Err: %d", errValue);
444#endif /* __DEBUG_BMP280_ATY */
445 return 0xFE;
446 }
447 }
448
449 return 0;
450}
uint8_t bmp280InitFlag
Definition: BMP280_ATY.c:389
uint8_t BMP280_ReadTP(double *tp)
BMP280 read temperature and pressure.
Definition: BMP280_ATY.c:363
uint8_t BMP280_InitAndCheck(void)
BMP280 check whether the device exists.
Definition: BMP280_ATY.c:339
__WEAK_ATY void printf(uint8_t *,...)
unsigned char uint8_t
Definition: fw_types.h:18

Variable Documentation

◆ bmp280Cc

struct _BMP280_CC bmp280Cc
extern

Definition at line 269 of file BMP280_ATY.c.

◆ bmp280Id

uint8_t bmp280Id
extern

◆ bmp280InitFlag

uint8_t bmp280InitFlag
extern

Definition at line 389 of file BMP280_ATY.c.