Loading...
Searching...
No Matches
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
24
25#include "sht2x.h"
26#include "saul_reg.h"
27
28#ifdef __cplusplus
29extern "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
75
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
108
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
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.
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