Loading...
Searching...
No Matches
sht2x_params.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2016-2018 Kees Bakker, SODAQ
3 * SPDX-FileCopyrightText: 2017 George Psimenos
4 * SPDX-FileCopyrightText: 2018 Steffen Robertz
5 * SPDX-License-Identifier: LGPL-2.1-only
6 */
7
8#pragma once
9
21
22#include "kernel_defines.h"
23#include "sht2x.h"
24#include "saul_reg.h"
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30#if !DOXYGEN
31/* Mapping of Kconfig defines to the respective driver enumeration values */
32
33#if CONFIG_SHT2X_RES_12_14BIT
34#define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_12_14BIT)
35#elif CONFIG_SHT2X_RES_11_11BIT
36#define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_11_11BIT)
37#elif CONFIG_SHT2X_RES_10_13BIT
38#define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_10_13BIT)
39#elif CONFIG_SHT2X_RES_8_12BIT
40#define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_8_12BIT)
41#else
42#define CONFIG_SHT2X_RESOLUTION (SHT2X_RES_12_14BIT)
43#endif
44
45#if CONFIG_SHT2X_MEASURE_MODE_HOLD
46#define CONFIG_SHT2X_MEASURE_MODE (SHT2X_MEASURE_MODE_HOLD)
47#elif CONFIG_SHT2X_MEASURE_MODE_NO_HOLD
48#define CONFIG_SHT2X_MEASURE_MODE (SHT2X_MEASURE_MODE_NO_HOLD)
49#else
50#define CONFIG_SHT2X_MEASURE_MODE (SHT2X_MEASURE_MODE_NO_HOLD)
51#endif
52
53#ifndef CONFIG_SHT2X_CRC_MODE
54#define CONFIG_SHT2X_CRC_MODE (1)
55#endif
56
57#endif /* !DOXYGEN */
58
63#ifndef SHT2X_PARAM_I2C_DEV
65#define SHT2X_PARAM_I2C_DEV (I2C_DEV(0))
66#endif
67
68#ifndef SHT2X_PARAM_I2C_ADDR
70#define SHT2X_PARAM_I2C_ADDR (0x40)
71#endif
73
78#ifndef SHT2X_PARAM_RESOLUTION
80#define SHT2X_PARAM_RESOLUTION (CONFIG_SHT2X_RESOLUTION)
81#endif
82
83#ifndef SHT2X_PARAM_MEASURE_MODE
85#define SHT2X_PARAM_MEASURE_MODE (CONFIG_SHT2X_MEASURE_MODE)
86#endif
87
88#ifndef SHT2X_PARAM_CRC_MODE
90#define SHT2X_PARAM_CRC_MODE (CONFIG_SHT2X_CRC_MODE)
91#endif
92
94#define SHT2X_PARAMS_DEFAULT {.i2c_dev = SHT2X_PARAM_I2C_DEV, \
95 .i2c_addr = SHT2X_PARAM_I2C_ADDR, \
96 .resolution = SHT2X_PARAM_RESOLUTION, \
97 .measure_mode = SHT2X_PARAM_MEASURE_MODE, \
98 .is_crc_enabled = SHT2X_PARAM_CRC_MODE, \
99 }
100
101#ifndef SHT2X_SAUL_INFO
103#define SHT2X_SAUL_INFO { .name = "sht2x" }
104#endif
106
111{
112#ifdef SHT2X_PARAMS_BOARD
113 SHT2X_PARAMS_BOARD,
114#else
116#endif
117};
118
122#define SHT2X_NUMOF ARRAY_SIZE(sht2x_params)
123
135
136#ifdef __cplusplus
137}
138#endif
139
Common macros and compiler attributes/pragmas configuration.
SAUL registry interface definition.
Device driver implementation for the SHT2x humidity and temperature humidity sensor.
#define SHT2X_PARAMS_DEFAULT
Default SHT2x parameter set.
static const sht2x_params_t sht2x_params[]
Configure SHT2X.
#define SHT2X_SAUL_INFO
Default SAUL device info.
#define SHT2X_NUMOF
Get the number of configured SHT2X devices.
static const saul_reg_info_t sht2x_saul_reg_info[SHT2X_NUMOF]
Configuration details of SAUL registry entries.
Additional data to collect for each entry.
Definition saul_reg.h:48
Device initialization parameters.
Definition sht2x.h:88