Go to the documentation of this file.
45 #ifndef __KETCUBE_BMEX80_H
46 #define __KETCUBE_BMEX80_H
51 #define KETCUBE_BMEX80_SENSOR_TYPE_BME280
110 #ifdef KETCUBE_BMEX80_SENSOR_TYPE_BME280
137 #ifdef KETCUBE_BMEX80_SENSOR_TYPE_BME680
172 #define BME_CONCAT_BYTES(msb, lsb) (((uint16_t)msb << 8) | (uint16_t)lsb)
177 #define BME680_T2_LSB_REG 1
178 #define BME680_T2_MSB_REG 2
179 #define BME680_T3_REG 3
180 #define BME680_P1_LSB_REG 5
181 #define BME680_P1_MSB_REG 6
182 #define BME680_P2_LSB_REG 7
183 #define BME680_P2_MSB_REG 8
184 #define BME680_P3_REG 9
185 #define BME680_P4_LSB_REG 11
186 #define BME680_P4_MSB_REG 12
187 #define BME680_P5_LSB_REG 13
188 #define BME680_P5_MSB_REG 14
189 #define BME680_P7_REG 15
190 #define BME680_P6_REG 16
191 #define BME680_P8_LSB_REG 19
192 #define BME680_P8_MSB_REG 20
193 #define BME680_P9_LSB_REG 21
194 #define BME680_P9_MSB_REG 22
195 #define BME680_P10_REG 23
196 #define BME680_H2_MSB_REG 25
197 #define BME680_H2_LSB_REG 26
198 #define BME680_H1_LSB_REG 26
199 #define BME680_H1_MSB_REG 27
200 #define BME680_H3_REG 28
201 #define BME680_H4_REG 29
202 #define BME680_H5_REG 30
203 #define BME680_H6_REG 31
204 #define BME680_H7_REG 32
205 #define BME680_T1_LSB_REG 33
206 #define BME680_T1_MSB_REG 34
207 #define BME680_GH2_LSB_REG 35
208 #define BME680_GH2_MSB_REG 36
209 #define BME680_GH1_REG 37
210 #define BME680_GH3_REG 38
216 #define KETCUBE_BMEX80_I2C_ADDRESS (uint8_t) (0x76 << 1)
218 #define KETCUBE_BMEX80_CALIB_2_LENGTH 16
220 #ifdef KETCUBE_BMEX80_SENSOR_TYPE_BME280
221 #define KETCUBE_BMEX80_CHIP_ID 0x60
222 #define KETCUBE_BMEX80_CALIB_1_LENGTH 26
223 #define KETCUBE_BMEX80_MEASURING_SHIFT 3
226 #ifdef KETCUBE_BMEX80_SENSOR_TYPE_BME680
227 #define KETCUBE_BMEX80_CHIP_ID 0x61
228 #define KETCUBE_BMEX80_CALIB_1_LENGTH 25
229 #define KETCUBE_BMEX80_MEASURING_SHIFT 5
240 #define KETCUBE_BMEX80_CHIP_ID_REG 0xD0
241 #define KETCUBE_BMEX80_CALIB_2_FIRST_REG 0xE1
243 #ifdef KETCUBE_BMEX80_SENSOR_TYPE_BME280
244 #define KETCUBE_BMEX80_HUMIDITY_REG 0XFD
245 #define KETCUBE_BMEX80_TEMPERATURE_REG 0XFA
246 #define KETCUBE_BMEX80_PRESSURE_REG 0XF7
247 #define KETCUBE_BMEX80_CTRL_MEAS_REG 0XF4
248 #define KETCUBE_BMEX80_STATUS_REG 0XF3
249 #define KETCUBE_BMEX80_CTRL_HUM_REG 0XF2
250 #define KETCUBE_BMEX80_CALIB_1_FIRST_REG 0x88
253 #ifdef KETCUBE_BMEX80_SENSOR_TYPE_BME680
254 #define KETCUBE_BMEX80_HUMIDITY_REG 0X25
255 #define KETCUBE_BMEX80_TEMPERATURE_REG 0X22
256 #define KETCUBE_BMEX80_PRESSURE_REG 0X1F
257 #define KETCUBE_BMEX80_CTRL_MEAS_REG 0X74
258 #define KETCUBE_BMEX80_CTRL_HUM_REG 0X72
259 #define KETCUBE_BMEX80_CALIB_1_FIRST_REG 0x89
260 #define KETCUBE_BMEX80_STATUS_REG 0X1D
@ KETCUBE_BMEX80_OS_H_X0
Definition: ketCube_bmeX80.h:78
KETCube inter-module message.
Definition: ketCube_cfg.h:116
int32_t t_fine
Definition: ketCube_bmeX80.h:133
@ KETCUBE_BMEX80_OS_P_X1
Definition: ketCube_bmeX80.h:103
int16_t dig_P2
Definition: ketCube_bmeX80.h:119
KETCube module configuration byte.
Definition: ketCube_cfg.h:147
@ KETCUBE_BMEX80_OS_P_X8
Definition: ketCube_bmeX80.h:106
@ KETCUBE_BMEX80_OS_T_X2
Definition: ketCube_bmeX80.h:92
ketCube_bmeX80_moduleCfg_t ketCube_bmeX80_moduleCfg
int16_t dig_T2
Definition: ketCube_bmeX80.h:116
ketCube_cfg_ModError_t ketCube_bmeX80_UnInit(void)
@ KETCUBE_BMEX80_OS_P_X4
Definition: ketCube_bmeX80.h:105
ketCube_cfg_ModuleCfgByte_t coreCfg
Definition: ketCube_bmeX80.h:64
uint16_t dig_P1
Definition: ketCube_bmeX80.h:118
ketCube_bmeX80_OS_T_t
Temperature oversampling.
Definition: ketCube_bmeX80.h:89
@ KETCUBE_BMEX80_OS_T_X4
Definition: ketCube_bmeX80.h:93
ketCube_bmeX80_OS_P_t
Pressure oversampling.
Definition: ketCube_bmeX80.h:101
@ KETCUBE_BMEX80_OS_H_X2
Definition: ketCube_bmeX80.h:80
uint16_t dig_T1
Definition: ketCube_bmeX80.h:115
int16_t dig_H5
Definition: ketCube_bmeX80.h:131
struct ketCube_bmeX80_moduleCfg_t ketCube_bmeX80_moduleCfg_t
KETCube module configuration.
int16_t dig_P5
Definition: ketCube_bmeX80.h:122
uint8_t dig_H1
Definition: ketCube_bmeX80.h:127
Calibration data structure.
Definition: ketCube_bmeX80.h:114
@ KETCUBE_BMEX80_OS_T_X8
Definition: ketCube_bmeX80.h:94
int8_t dig_H6
Definition: ketCube_bmeX80.h:132
int16_t dig_P6
Definition: ketCube_bmeX80.h:123
ketCube_bmeX80_OS_H_t
Relative humidity oversampling.
Definition: ketCube_bmeX80.h:77
@ KETCUBE_BMEX80_OS_P_X16
Definition: ketCube_bmeX80.h:107
@ KETCUBE_BMEX80_OS_T_X1
Definition: ketCube_bmeX80.h:91
KETCube common definitions.
uint8_t dig_H3
Definition: ketCube_bmeX80.h:129
@ KETCUBE_BMEX80_OS_H_X4
Definition: ketCube_bmeX80.h:81
@ KETCUBE_BMEX80_OS_P_X0
Definition: ketCube_bmeX80.h:102
int16_t dig_P8
Definition: ketCube_bmeX80.h:125
@ KETCUBE_BMEX80_OS_T_X0
Definition: ketCube_bmeX80.h:90
int16_t dig_H4
Definition: ketCube_bmeX80.h:130
int16_t dig_P3
Definition: ketCube_bmeX80.h:120
ketCube_cfg_ModError_t ketCube_bmeX80_ReadData(uint8_t *buffer, uint8_t *len)
@ KETCUBE_BMEX80_OS_P_X2
Definition: ketCube_bmeX80.h:104
int16_t dig_T3
Definition: ketCube_bmeX80.h:117
int16_t dig_H2
Definition: ketCube_bmeX80.h:128
int16_t dig_P9
Definition: ketCube_bmeX80.h:126
This file contains definitions for the KETCube configuration.
KETCube module configuration.
Definition: ketCube_bmeX80.h:63
int16_t dig_P4
Definition: ketCube_bmeX80.h:121
int16_t dig_P7
Definition: ketCube_bmeX80.h:124
ketCube_cfg_ModError_t ketCube_bmeX80_Init(ketCube_InterModMsg_t ***msg)
@ KETCUBE_BMEX80_OS_H_X8
Definition: ketCube_bmeX80.h:82
@ KETCUBE_BMEX80_OS_H_X16
Definition: ketCube_bmeX80.h:83
ketCube_cfg_ModError_t
Error code type.
Definition: ketCube_cfg.h:100
@ KETCUBE_BMEX80_OS_T_X16
Definition: ketCube_bmeX80.h:95
@ KETCUBE_BMEX80_OS_H_X1
Definition: ketCube_bmeX80.h:79