environment3  2.0.0.0
environment3.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2020 MikroElektronika d.o.o.
3 ** Contact: https://www.mikroe.com/contact
4 **
5 ** Permission is hereby granted, free of charge, to any person obtaining a copy
6 ** of this software and associated documentation files (the "Software"), to deal
7 ** in the Software without restriction, including without limitation the rights
8 ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 ** copies of the Software, and to permit persons to whom the Software is
10 ** furnished to do so, subject to the following conditions:
11 ** The above copyright notice and this permission notice shall be
12 ** included in all copies or substantial portions of the Software.
13 **
14 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
16 ** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18 ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
19 ** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20 ** USE OR OTHER DEALINGS IN THE SOFTWARE.
21 ****************************************************************************/
22 
28 #ifndef ENVIRONMENT3_H
29 #define ENVIRONMENT3_H
30 
31 #ifdef __cplusplus
32 extern "C"{
33 #endif
34 
35 #include "mikrosdk_version.h"
36 
37 #ifdef __GNUC__
38 #if mikroSDK_GET_VERSION < 20800ul
39 #include "rcu_delays.h"
40 #else
41 #include "delays.h"
42 #endif
43 #endif
44 
45 #include "drv_digital_out.h"
46 #include "drv_digital_in.h"
47 #include "drv_i2c_master.h"
48 #include "drv_spi_master.h"
49 
70 #define ENVIRONMENT3_REG_STATUS 0x73
71 #define ENVIRONMENT3_REG_VARIANT_ID 0xF0
72 #define ENVIRONMENT3_REG_RESET 0xE0
73 #define ENVIRONMENT3_REG_CHIP_ID 0xD0
74 #define ENVIRONMENT3_REG_CONFIG 0x75
75 #define ENVIRONMENT3_REG_CTRL_MEAS 0x74
76 #define ENVIRONMENT3_REG_CTRL_HUM 0x72
77 #define ENVIRONMENT3_REG_CTRL_GAS_1 0x71
78 #define ENVIRONMENT3_REG_CTRL_GAS_0 0x70
79 #define ENVIRONMENT3_REG_GAS_WAIT_SHARED 0x6E
80 #define ENVIRONMENT3_REG_GAS_WAIT_0 0x64
81 #define ENVIRONMENT3_REG_RES_HEAT_0 0x5A
82 #define ENVIRONMENT3_REG_IDAC_HEAT_0 0x50
83 #define ENVIRONMENT3_REG_GAS_R_LSB_FIELD_2 0x4F
84 #define ENVIRONMENT3_REG_GAS_R_MSB_FIELD_2 0x4E
85 #define ENVIRONMENT3_REG_HUM_LSB_FIELD_2 0x48
86 #define ENVIRONMENT3_REG_HUM_MSB_FIELD_2 0x47
87 #define ENVIRONMENT3_REG_TEMP_XLSB_FIELD_2 0x46
88 #define ENVIRONMENT3_REG_TEMP_LSB_FIELD_2 0x45
89 #define ENVIRONMENT3_REG_TEMP_MSB_FIELD_2 0x44
90 #define ENVIRONMENT3_REG_PRESS_XLSB_FIELD_2 0x43
91 #define ENVIRONMENT3_REG_PRESS_LSB_FIELD_2 0x42
92 #define ENVIRONMENT3_REG_PRESS_MSB_FIELD_2 0x41
93 #define ENVIRONMENT3_REG_SUB_MEAS_INDEX_FIELD_2 0x40
94 #define ENVIRONMENT3_REG_MEAS_STATUS_FIELD_2 0x3F
95 #define ENVIRONMENT3_REG_GAS_R_LSB_FIELD_1 0x3E
96 #define ENVIRONMENT3_REG_GAS_R_MSB_FIELD_1 0x3D
97 #define ENVIRONMENT3_REG_HUM_LSB_FIELD_1 0x37
98 #define ENVIRONMENT3_REG_HUM_MSB_FIELD_1 0x36
99 #define ENVIRONMENT3_REG_TEMP_XLSB_FIELD_1 0x35
100 #define ENVIRONMENT3_REG_TEMP_LSB_FIELD_1 0x34
101 #define ENVIRONMENT3_REG_TEMP_MSB_FIELD_1 0x33
102 #define ENVIRONMENT3_REG_PRESS_XLSB_FIELD_1 0x32
103 #define ENVIRONMENT3_REG_PRESS_LSB_FIELD_1 0x31
104 #define ENVIRONMENT3_REG_PRESS_MSB_FIELD_1 0x30
105 #define ENVIRONMENT3_REG_SUB_MEAS_INDEX_FIELD_1 0x2F
106 #define ENVIRONMENT3_REG_MEAS_STATUS_FIELD_1 0x2E
107 #define ENVIRONMENT3_REG_GAS_R_LSB_FIELD_0 0x2D
108 #define ENVIRONMENT3_REG_GAS_R_MSB_FIELD_0 0x2C
109 #define ENVIRONMENT3_REG_HUM_LSB_FIELD_0 0x26
110 #define ENVIRONMENT3_REG_HUM_MSB_FIELD_0 0x25
111 #define ENVIRONMENT3_REG_TEMP_XLSB_FIELD_0 0x24
112 #define ENVIRONMENT3_REG_TEMP_LSB_FIELD_0 0x23
113 #define ENVIRONMENT3_REG_TEMP_MSB_FIELD_0 0x22
114 #define ENVIRONMENT3_REG_PRESS_XLSB_FIELD_0 0x21
115 #define ENVIRONMENT3_REG_PRESS_LSB_FIELD_0 0x20
116 #define ENVIRONMENT3_REG_PRESS_MSB_FIELD_0 0x1F
117 #define ENVIRONMENT3_REG_SUB_MEAS_INDEX_FIELD_0 0x1E
118 #define ENVIRONMENT3_REG_MEAS_STATUS_FIELD_0 0x1D
119 #define ENVIRONMENT3_REG_MEM_PAGE 0xF3
120 #define ENVIRONMENT3_REG_UNIQUE_ID 0x83
121 #define ENVIRONMENT3_REG_COEFF_1 0x8A
122 #define ENVIRONMENT3_REG_COEFF_2 0xE1
123 #define ENVIRONMENT3_REG_COEFF_3 0x00
124  // environment3_reg
126 
141 #define ENVIRONMENT3_CHIP_ID 0x61
142 
147 #define ENVIRONMENT3_SOFT_RESET 0xB6
148 
153 #define ENVIRONMENT3_E_NULL_PTR -2
154 #define ENVIRONMENT3_E_COM_FAIL -3
155 #define ENVIRONMENT3_E_INVALID_LENGTH -4
156 #define ENVIRONMENT3_W_DEFINE_OP_MODE 1
157 #define ENVIRONMENT3_W_NO_NEW_DATA 2
158 
163 #define ENVIRONMENT3_NBCONV_MASK 0x0F
164 #define ENVIRONMENT3_FILTER_MASK 0x1C
165 #define ENVIRONMENT3_ODR3_MASK 0x80
166 #define ENVIRONMENT3_ODR20_MASK 0xE0
167 #define ENVIRONMENT3_OST_MASK 0xE0
168 #define ENVIRONMENT3_OSP_MASK 0x1C
169 #define ENVIRONMENT3_OSH_MASK 0x07
170 #define ENVIRONMENT3_HCTRL_MASK 0x08
171 #define ENVIRONMENT3_RUN_GAS_MASK 0x30
172 #define ENVIRONMENT3_MODE_MASK 0x03
173 #define ENVIRONMENT3_RHRANGE_MASK 0x30
174 #define ENVIRONMENT3_RSERROR_MASK 0xF0
175 #define ENVIRONMENT3_NEW_DATA_MASK 0x80
176 #define ENVIRONMENT3_GAS_INDEX_MASK 0x0F
177 #define ENVIRONMENT3_GAS_RANGE_MASK 0x0F
178 #define ENVIRONMENT3_GASM_VALID_MASK 0x20
179 #define ENVIRONMENT3_HEAT_STAB_MASK 0x10
180 #define ENVIRONMENT3_MEM_PAGE_MASK 0x10
181 #define ENVIRONMENT3_BIT_H1_DATA_MASK 0x0F
182 #define ENVIRONMENT3_HUM_REG_SHIFT_VAL_MASK 0x04
183 #define ENVIRONMENT3_SPI_READ_MASK 0x80
184 #define ENVIRONMENT3_SPI_WRITE_MASK 0x7F
185 
190 #define ENVIRONMENT3_FILTER_POS 2
191 #define ENVIRONMENT3_OST_POS 5
192 #define ENVIRONMENT3_OSP_POS 2
193 #define ENVIRONMENT3_ODR3_POS 7
194 #define ENVIRONMENT3_ODR20_POS 5
195 #define ENVIRONMENT3_RUN_GAS_POS 4
196 #define ENVIRONMENT3_HCTRL_POS 3
197 
202 #define ENVIRONMENT3_ENABLE 0x01
203 #define ENVIRONMENT3_DISABLE 0x00
204 #define ENVIRONMENT3_ENABLE_HEATER 0x00
205 #define ENVIRONMENT3_DISABLE_HEATER 0x01
206 #define ENVIRONMENT3_ENABLE_GAS_MEAS_H 0x02
207 #define ENVIRONMENT3_ENABLE_GAS_MEAS_L 0x01
208 #define ENVIRONMENT3_DISABLE_GAS_MEAS 0x00
209 
214 #define ENVIRONMENT3_VARIANT_GAS_LOW 0x00
215 #define ENVIRONMENT3_VARIANT_GAS_HIGH 0x01
216 
221 #define ENVIRONMENT3_OS_NONE 0
222 #define ENVIRONMENT3_OS_1X 1
223 #define ENVIRONMENT3_OS_2X 2
224 #define ENVIRONMENT3_OS_4X 3
225 #define ENVIRONMENT3_OS_8X 4
226 #define ENVIRONMENT3_OS_16X 5
227 
232 #define ENVIRONMENT3_FILTER_OFF 0
233 #define ENVIRONMENT3_FILTER_SIZE_1 1
234 #define ENVIRONMENT3_FILTER_SIZE_3 2
235 #define ENVIRONMENT3_FILTER_SIZE_7 3
236 #define ENVIRONMENT3_FILTER_SIZE_15 4
237 #define ENVIRONMENT3_FILTER_SIZE_31 5
238 #define ENVIRONMENT3_FILTER_SIZE_63 6
239 #define ENVIRONMENT3_FILTER_SIZE_127 7
240 
245 #define ENVIRONMENT3_ODR_0_59_MS 0
246 #define ENVIRONMENT3_ODR_62_5_MS 1
247 #define ENVIRONMENT3_ODR_125_MS 2
248 #define ENVIRONMENT3_ODR_250_MS 3
249 #define ENVIRONMENT3_ODR_500_MS 4
250 #define ENVIRONMENT3_ODR_1000_MS 5
251 #define ENVIRONMENT3_ODR_10_MS 6
252 #define ENVIRONMENT3_ODR_20_MS 7
253 #define ENVIRONMENT3_ODR_NONE 8
254 
259 #define ENVIRONMENT3_MODE_SLEEP 0
260 #define ENVIRONMENT3_MODE_FORCED 1
261 
266 #define ENVIRONMENT3_MEM_PAGE_0 0x10
267 #define ENVIRONMENT3_MEM_PAGE_1 0x00
268 
273 #define ENVIRONMENT3_LEN_COEFF_ALL 42
274 #define ENVIRONMENT3_LEN_COEFF_1 23
275 #define ENVIRONMENT3_LEN_COEFF_2 14
276 #define ENVIRONMENT3_LEN_COEFF_3 5
277 #define ENVIRONMENT3_LEN_FIELD 17
278 #define ENVIRONMENT3_LEN_CONFIG 5
279 #define ENVIRONMENT3_LEN_INTERLEAVE_BUFF 20
280 
285 #define ENVIRONMENT3_IDX_T2_LSB 0
286 #define ENVIRONMENT3_IDX_T2_MSB 1
287 #define ENVIRONMENT3_IDX_T3 2
288 #define ENVIRONMENT3_IDX_P1_LSB 4
289 #define ENVIRONMENT3_IDX_P1_MSB 5
290 #define ENVIRONMENT3_IDX_P2_LSB 6
291 #define ENVIRONMENT3_IDX_P2_MSB 7
292 #define ENVIRONMENT3_IDX_P3 8
293 #define ENVIRONMENT3_IDX_P4_LSB 10
294 #define ENVIRONMENT3_IDX_P4_MSB 11
295 #define ENVIRONMENT3_IDX_P5_LSB 12
296 #define ENVIRONMENT3_IDX_P5_MSB 13
297 #define ENVIRONMENT3_IDX_P7 14
298 #define ENVIRONMENT3_IDX_P6 15
299 #define ENVIRONMENT3_IDX_P8_LSB 18
300 #define ENVIRONMENT3_IDX_P8_MSB 19
301 #define ENVIRONMENT3_IDX_P9_LSB 20
302 #define ENVIRONMENT3_IDX_P9_MSB 21
303 #define ENVIRONMENT3_IDX_P10 22
304 #define ENVIRONMENT3_IDX_H2_MSB 23
305 #define ENVIRONMENT3_IDX_H2_LSB 24
306 #define ENVIRONMENT3_IDX_H1_LSB 24
307 #define ENVIRONMENT3_IDX_H1_MSB 25
308 #define ENVIRONMENT3_IDX_H3 26
309 #define ENVIRONMENT3_IDX_H4 27
310 #define ENVIRONMENT3_IDX_H5 28
311 #define ENVIRONMENT3_IDX_H6 29
312 #define ENVIRONMENT3_IDX_H7 30
313 #define ENVIRONMENT3_IDX_T1_LSB 31
314 #define ENVIRONMENT3_IDX_T1_MSB 32
315 #define ENVIRONMENT3_IDX_GH2_LSB 33
316 #define ENVIRONMENT3_IDX_GH2_MSB 34
317 #define ENVIRONMENT3_IDX_GH1 35
318 #define ENVIRONMENT3_IDX_GH3 36
319 #define ENVIRONMENT3_IDX_RES_HEAT_VAL 37
320 #define ENVIRONMENT3_IDX_RES_HEAT_RANGE 39
321 #define ENVIRONMENT3_IDX_RANGE_SW_ERR 41
322 
328 #define ENVIRONMENT3_DEVICE_SLAVE_ADDR_0 0x76
329 #define ENVIRONMENT3_DEVICE_SLAVE_ADDR_1 0x77
330  // environment3_set
332 
347 #define ENVIRONMENT3_MAP_MIKROBUS( cfg, mikrobus ) \
348  cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
349  cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
350  cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
351  cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
352  cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
353  cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
354 
355  // environment3_map // environment3
357 
362 typedef enum
363 {
368 
373 typedef err_t ( *environment3_master_io_t )( struct environment3_s*, uint8_t, uint8_t*, uint8_t );
379 typedef struct
380 {
381  uint8_t status;
382  uint8_t gas_index;
383  uint8_t meas_index;
384  uint8_t res_heat;
385  uint8_t idac;
386  uint8_t gas_wait;
387  float temperature;
388  float pressure;
389  float humidity;
391 
393 
398 typedef struct
399 {
400  uint16_t par_h1;
401  uint16_t par_h2;
402  int8_t par_h3;
403  int8_t par_h4;
404  int8_t par_h5;
405  uint8_t par_h6;
406  int8_t par_h7;
407  int8_t par_gh1;
408  int16_t par_gh2;
409  int8_t par_gh3;
410  uint16_t par_t1;
411  int16_t par_t2;
412  int8_t par_t3;
413  uint16_t par_p1;
414  int16_t par_p2;
415  int8_t par_p3;
416  int16_t par_p4;
417  int16_t par_p5;
418  int8_t par_p6;
419  int8_t par_p7;
420  int16_t par_p8;
421  int16_t par_p9;
422  uint8_t par_p10;
423  float t_fine;
424  uint8_t res_heat_range;
425  int8_t res_heat_val;
426  int8_t range_sw_err;
427 
429 
434 typedef struct
435 {
436  uint8_t os_hum;
437  uint8_t os_temp;
438  uint8_t os_pres;
439  uint8_t filter;
440  uint8_t odr;
441 
443 
448 typedef struct
449 {
450  uint8_t enable;
451  uint16_t heater_temp;
452  uint16_t heater_dur;
453 
455 
460 typedef struct environment3_s
461 {
462  i2c_master_t i2c;
463  spi_master_t spi;
465  uint8_t slave_address;
466  pin_name_t chip_select;
476 
479 
481 
486 typedef struct
487 {
488  pin_name_t scl;
489  pin_name_t sda;
490  pin_name_t miso;
491  pin_name_t mosi;
492  pin_name_t sck;
493  pin_name_t cs;
495  uint32_t i2c_speed;
496  uint8_t i2c_address;
498  uint32_t spi_speed;
499  spi_master_mode_t spi_mode;
500  spi_master_chip_select_polarity_t cs_polarity;
505 
510 typedef enum
511 {
513  ENVIRONMENT3_ERROR = -1
514 
516 
533 
549 
565 
580 
596 err_t environment3_generic_write ( environment3_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len );
597 
613 err_t environment3_generic_read ( environment3_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len );
614 
628 err_t environment3_write_byte ( environment3_t *ctx, uint8_t reg, uint8_t data_in );
629 
639 uint8_t environment3_read_byte ( environment3_t *ctx, uint8_t reg );
640 
651 
661 
672 
688 int8_t environment3_get_all_data ( environment3_t *ctx, float *temp, float *hum, float *pres, uint32_t *gas );
689 
701 
713 
725 
737 
752 int8_t environment3_get_regs ( environment3_t *ctx, uint8_t reg, uint8_t *data_out, uint16_t len );
753 
769 int8_t environment3_set_regs ( environment3_t *ctx, uint8_t *reg, uint8_t *data_in, uint8_t len );
770 
782 int8_t environment3_enable_heater ( environment3_t *ctx, uint8_t state );
783 
797 
811 
823 int8_t environment3_set_operating_mode ( environment3_t *ctx, uint8_t op_mode );
824 
836 
837 #ifdef __cplusplus
838 }
839 #endif
840 #endif // ENVIRONMENT3_H
841  // environment3
843 
844 // ------------------------------------------------------------------------ END
environment3_set_operating_mode
int8_t environment3_set_operating_mode(environment3_t *ctx, uint8_t op_mode)
Environment 3 set operating mode function.
environment3_calibration_data_t::par_gh2
int16_t par_gh2
Definition: environment3.h:408
environment3_field_data_t::temperature
float temperature
Definition: environment3.h:387
environment3_calibration_data_t::range_sw_err
int8_t range_sw_err
Definition: environment3.h:426
environment3_field_data_t::gas_index
uint8_t gas_index
Definition: environment3.h:382
environment3_s::slave_address
uint8_t slave_address
Definition: environment3.h:465
environment3_cfg_t::spi_mode
spi_master_mode_t spi_mode
Definition: environment3.h:499
environment3_read_byte
uint8_t environment3_read_byte(environment3_t *ctx, uint8_t reg)
Environment 3 single data reading function.
environment3_gas_settings_t::enable
uint8_t enable
Definition: environment3.h:450
environment3_calibration_data_t::par_h7
int8_t par_h7
Definition: environment3.h:406
environment3_calibration_data_t::par_p9
int16_t par_p9
Definition: environment3.h:421
environment3_field_data_t::status
uint8_t status
Definition: environment3.h:381
environment3_drv_interface_selection
void environment3_drv_interface_selection(environment3_cfg_t *cfg, environment3_drv_t drv_sel)
Environment 3 driver interface setup function.
environment3_soft_reset
int8_t environment3_soft_reset(environment3_t *ctx)
Environment 3 soft reset function.
environment3_cfg_t::miso
pin_name_t miso
Definition: environment3.h:490
environment3_tph_settings_t::filter
uint8_t filter
Definition: environment3.h:439
environment3_calibration_data_t::par_p2
int16_t par_p2
Definition: environment3.h:414
environment3_cfg_t::i2c_address
uint8_t i2c_address
Definition: environment3.h:496
environment3_calibration_data_t::par_h3
int8_t par_h3
Definition: environment3.h:402
environment3_master_io_t
err_t(* environment3_master_io_t)(struct environment3_s *, uint8_t, uint8_t *, uint8_t)
Environment 3 Click driver interface.
Definition: environment3.h:373
environment3_get_humidity
float environment3_get_humidity(environment3_t *ctx)
Environment 3 get humidity data function.
environment3_calibration_data_t::par_p10
uint8_t par_p10
Definition: environment3.h:422
environment3_s
Environment 3 Click context object.
Definition: environment3.h:461
environment3_cfg_t::cs
pin_name_t cs
Definition: environment3.h:493
environment3_calibration_data_t::par_h2
uint16_t par_h2
Definition: environment3.h:401
environment3_s::write_f
environment3_master_io_t write_f
Definition: environment3.h:469
environment3_s::i2c
i2c_master_t i2c
Definition: environment3.h:462
environment3_cfg_t::drv_sel
environment3_drv_t drv_sel
Definition: environment3.h:502
environment3_generic_write
err_t environment3_generic_write(environment3_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
Environment 3 data writing function.
environment3_cfg_t
Environment 3 Click configuration object.
Definition: environment3.h:487
environment3_field_data_t::gas_wait
uint8_t gas_wait
Definition: environment3.h:386
environment3_calibration_data_t::res_heat_range
uint8_t res_heat_range
Definition: environment3.h:424
environment3_s::spi
spi_master_t spi
Definition: environment3.h:463
environment3_cfg_t::sck
pin_name_t sck
Definition: environment3.h:492
environment3_generic_read
err_t environment3_generic_read(environment3_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Environment 3 data reading function.
environment3_field_data_t
Environment 3 field data structure.
Definition: environment3.h:380
environment3_tph_settings_t::os_temp
uint8_t os_temp
Definition: environment3.h:437
environment3_calibration_data_t::par_t3
int8_t par_t3
Definition: environment3.h:412
environment3_gas_settings_t::heater_dur
uint16_t heater_dur
Definition: environment3.h:452
environment3_calibration_data_t::par_p5
int16_t par_p5
Definition: environment3.h:417
environment3_cfg_t::mosi
pin_name_t mosi
Definition: environment3.h:491
environment3_cfg_t::scl
pin_name_t scl
Definition: environment3.h:488
environment3_get_operating_mode
int8_t environment3_get_operating_mode(environment3_t *ctx)
Environment 3 get operating mode function.
ENVIRONMENT3_OK
@ ENVIRONMENT3_OK
Definition: environment3.h:512
environment3_s::read_f
environment3_master_io_t read_f
Definition: environment3.h:470
environment3_calibration_data_t::par_h1
uint16_t par_h1
Definition: environment3.h:400
environment3_get_pressure
float environment3_get_pressure(environment3_t *ctx)
Environment 3 get pressure data function.
environment3_cfg_t::spi_speed
uint32_t spi_speed
Definition: environment3.h:498
environment3_cfg_t::cs_polarity
spi_master_chip_select_polarity_t cs_polarity
Definition: environment3.h:500
environment3_calibration_data_t::t_fine
float t_fine
Definition: environment3.h:423
environment3_s::f_data
environment3_field_data_t f_data
Definition: environment3.h:472
environment3_get_temperature
float environment3_get_temperature(environment3_t *ctx)
Environment 3 get temperature data function.
environment3_calibration_data_t::par_h5
int8_t par_h5
Definition: environment3.h:404
environment3_write_byte
err_t environment3_write_byte(environment3_t *ctx, uint8_t reg, uint8_t data_in)
Environment 3 single data writing function.
environment3_cfg_t::sda
pin_name_t sda
Definition: environment3.h:489
environment3_s::gas_sett
environment3_gas_settings_t gas_sett
Definition: environment3.h:475
environment3_calibration_data_t::res_heat_val
int8_t res_heat_val
Definition: environment3.h:425
environment3_set_heater_conf
int8_t environment3_set_heater_conf(environment3_t *ctx, environment3_gas_settings_t *conf)
Environment 3 set heater configuration function.
environment3_calibration_data_t::par_p6
int8_t par_p6
Definition: environment3.h:418
environment3_calibration_data_t::par_p4
int16_t par_p4
Definition: environment3.h:416
environment3_calibration_data_t::par_p7
int8_t par_p7
Definition: environment3.h:419
environment3_calibration_data_t::par_gh3
int8_t par_gh3
Definition: environment3.h:409
environment3_calibration_data_t::par_p3
int8_t par_p3
Definition: environment3.h:415
environment3_get_device_id
uint8_t environment3_get_device_id(environment3_t *ctx)
Environment 3 get device ID function.
ENVIRONMENT3_ERROR
@ ENVIRONMENT3_ERROR
Definition: environment3.h:513
environment3_calibration_data_t::par_h6
uint8_t par_h6
Definition: environment3.h:405
environment3_calibration_data_t::par_p1
uint16_t par_p1
Definition: environment3.h:413
environment3_get_all_data
int8_t environment3_get_all_data(environment3_t *ctx, float *temp, float *hum, float *pres, uint32_t *gas)
Environment 3 get all data function.
environment3_calibration_data_t::par_h4
int8_t par_h4
Definition: environment3.h:403
environment3_s::calib
environment3_calibration_data_t calib
Definition: environment3.h:473
environment3_default_cfg
err_t environment3_default_cfg(environment3_t *ctx)
Environment 3 default configuration function.
environment3_field_data_t::meas_index
uint8_t meas_index
Definition: environment3.h:383
environment3_cfg_t::i2c_speed
uint32_t i2c_speed
Definition: environment3.h:495
environment3_gas_settings_t::heater_temp
uint16_t heater_temp
Definition: environment3.h:451
environment3_return_value_t
environment3_return_value_t
Environment 3 Click return value data.
Definition: environment3.h:511
environment3_calibration_data_t::par_t2
int16_t par_t2
Definition: environment3.h:411
environment3_drv_t
environment3_drv_t
Environment 3 Click driver selector.
Definition: environment3.h:363
environment3_set_regs
int8_t environment3_set_regs(environment3_t *ctx, uint8_t *reg, uint8_t *data_in, uint8_t len)
Environment 3 write data to registers function.
environment3_field_data_t::gas_resistance
float gas_resistance
Definition: environment3.h:390
environment3_gas_settings_t
Environment 3 gas settings structure.
Definition: environment3.h:449
environment3_tph_settings_t::os_pres
uint8_t os_pres
Definition: environment3.h:438
environment3_field_data_t::humidity
float humidity
Definition: environment3.h:389
environment3_tph_settings_t::odr
uint8_t odr
Definition: environment3.h:440
environment3_get_gas_resistance
float environment3_get_gas_resistance(environment3_t *ctx)
Environment 3 get gas resistance data function.
environment3_get_regs
int8_t environment3_get_regs(environment3_t *ctx, uint8_t reg, uint8_t *data_out, uint16_t len)
Environment 3 read data from register address function.
environment3_s::tph_sett
environment3_tph_settings_t tph_sett
Definition: environment3.h:474
environment3_calibration_data_t
Environment 3 calibration data structure.
Definition: environment3.h:399
environment3_calibration_data_t::par_p8
int16_t par_p8
Definition: environment3.h:420
environment3_t
struct environment3_s environment3_t
Environment 3 Click context object.
environment3_tph_settings_t
Environment 3 TPH settings structure.
Definition: environment3.h:435
ENVIRONMENT3_DRV_SEL_SPI
@ ENVIRONMENT3_DRV_SEL_SPI
Definition: environment3.h:364
environment3_s::device_mem_page
uint8_t device_mem_page
Definition: environment3.h:477
ENVIRONMENT3_DRV_SEL_I2C
@ ENVIRONMENT3_DRV_SEL_I2C
Definition: environment3.h:365
environment3_field_data_t::pressure
float pressure
Definition: environment3.h:388
environment3_calibration_data_t::par_t1
uint16_t par_t1
Definition: environment3.h:410
environment3_enable_heater
int8_t environment3_enable_heater(environment3_t *ctx, uint8_t state)
Environment 3 enable heater function.
environment3_set_sensor_conf
int8_t environment3_set_sensor_conf(environment3_t *ctx, environment3_tph_settings_t *conf)
Environment 3 set sensor configuration function.
environment3_cfg_setup
void environment3_cfg_setup(environment3_cfg_t *cfg)
Environment 3 configuration object setup function.
environment3_init
err_t environment3_init(environment3_t *ctx, environment3_cfg_t *cfg)
Environment 3 initialization function.
environment3_calibration_data_t::par_gh1
int8_t par_gh1
Definition: environment3.h:407
environment3_s::chip_select
pin_name_t chip_select
Definition: environment3.h:466
environment3_s::device_variant_id
uint8_t device_variant_id
Definition: environment3.h:478
environment3_field_data_t::res_heat
uint8_t res_heat
Definition: environment3.h:384
environment3_check_id
int8_t environment3_check_id(environment3_t *ctx)
Environment 3 check device ID function.
environment3_field_data_t::idac
uint8_t idac
Definition: environment3.h:385
environment3_s::drv_sel
environment3_drv_t drv_sel
Definition: environment3.h:467
environment3_tph_settings_t::os_hum
uint8_t os_hum
Definition: environment3.h:436