sht2x_params.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016,2017,2018 Kees Bakker, SODAQ
3  * Copyright (C) 2017 George Psimenos
4  * Copyright (C) 2018 Steffen Robertz
5  *
6  * This file is subject to the terms and conditions of the GNU Lesser
7  * General Public License v2.1. See the file LICENSE in the top level
8  * directory for more details.
9  */
10 
11 #pragma once
12 
25 #include "sht2x.h"
26 #include "saul_reg.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #if !DOXYGEN
33 /* Mapping of Kconfig defines to the respective driver enumeration values */
34 
35 #if CONFIG_SHT2X_RES_12_14BIT
36 #define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_12_14BIT)
37 #elif CONFIG_SHT2X_RES_11_11BIT
38 #define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_11_11BIT)
39 #elif CONFIG_SHT2X_RES_10_13BIT
40 #define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_10_13BIT)
41 #elif CONFIG_SHT2X_RES_8_12BIT
42 #define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_8_12BIT)
43 #else
44 #define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_12_14BIT)
45 #endif
46 
47 #if CONFIG_SHT2X_MEASURE_MODE_HOLD
48 #define CONFIG_SHT2X_MEASURE_MODE (SHT2X_MEASURE_MODE_HOLD)
49 #elif CONFIG_SHT2X_MEASURE_MODE_NO_HOLD
50 #define CONFIG_SHT2X_MEASURE_MODE (SHT2X_MEASURE_MODE_NO_HOLD)
51 #else
52 #define CONFIG_SHT2X_MEASURE_MODE (SHT2X_MEASURE_MODE_NO_HOLD)
53 #endif
54 
55 #ifndef CONFIG_SHT2X_CRC_MODE
56 #define CONFIG_SHT2X_CRC_MODE (1)
57 #endif
58 
59 #endif /* !DOXYGEN */
60 
65 #ifndef SHT2X_PARAM_I2C_DEV
67 #define SHT2X_PARAM_I2C_DEV (I2C_DEV(0))
68 #endif
69 
70 #ifndef SHT2X_PARAM_I2C_ADDR
72 #define SHT2X_PARAM_I2C_ADDR (0x40)
73 #endif
80 #ifndef SHT2X_PARAM_RESOLUTION
82 #define SHT2X_PARAM_RESOLUTION (CONFIG_SHT2X_RESOLUTION)
83 #endif
84 
85 #ifndef SHT2X_PARAM_MEASURE_MODE
87 #define SHT2X_PARAM_MEASURE_MODE (CONFIG_SHT2X_MEASURE_MODE)
88 #endif
89 
90 #ifndef SHT2X_PARAM_CRC_MODE
92 #define SHT2X_PARAM_CRC_MODE (CONFIG_SHT2X_CRC_MODE)
93 #endif
94 
96 #define SHT2X_PARAMS_DEFAULT {.i2c_dev = SHT2X_PARAM_I2C_DEV, \
97  .i2c_addr = SHT2X_PARAM_I2C_ADDR, \
98  .resolution = SHT2X_PARAM_RESOLUTION, \
99  .measure_mode = SHT2X_PARAM_MEASURE_MODE, \
100  .is_crc_enabled = SHT2X_PARAM_CRC_MODE, \
101  }
102 
103 #ifndef SHT2X_SAUL_INFO
105 #define SHT2X_SAUL_INFO { .name = "sht2x" }
106 #endif
112 static const sht2x_params_t sht2x_params[] =
113 {
114 #ifdef SHT2X_PARAMS_BOARD
115  SHT2X_PARAMS_BOARD,
116 #else
118 #endif
119 };
120 
124 #define SHT2X_NUMOF ARRAY_SIZE(sht2x_params)
125 
134 {
136 };
137 
138 #ifdef __cplusplus
139 }
140 #endif
141 
SAUL registry interface definition.
Device driver implementation for the SHT2x humidity and temperature humidity sensor.
#define SHT2X_PARAMS_DEFAULT
Default SHT2x parameter set.
Definition: sht2x_params.h:96
static const sht2x_params_t sht2x_params[]
Configure SHT2X.
Definition: sht2x_params.h:112
#define SHT2X_SAUL_INFO
Default SAUL device info.
Definition: sht2x_params.h:105
#define SHT2X_NUMOF
Get the number of configured SHT2X devices.
Definition: sht2x_params.h:124
static const saul_reg_info_t sht2x_saul_reg_info[SHT2X_NUMOF]
Configuration details of SAUL registry entries.
Definition: sht2x_params.h:133
Additional data to collect for each entry.
Definition: saul_reg.h:48
Device initialization parameters.
Definition: sht2x.h:88