Loading...
Searching...
No Matches
si70xx.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 Bas Stottelaar <basstottelaar@gmail.com>
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
33#ifndef SI70XX_H
34#define SI70XX_H
35
36#include "periph/i2c.h"
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
45#if MODULE_SI7050 || MODULE_SI7051 || MODULE_SI7053 || MODULE_SI7054 || \
46 MODULE_SI7055
47/* Si705x sensors don't have a humidity sensor hardware, only temperature. */
48#define SI70XX_HAS_HUMIDITY_SENSOR 0
49#else
50#define SI70XX_HAS_HUMIDITY_SENSOR 1
51#endif
52
56enum {
60};
61
65typedef struct {
67 uint8_t address;
69
73typedef struct {
75} si70xx_t;
76
88int si70xx_init(si70xx_t *dev, const si70xx_params_t *params);
89
90#if SI70XX_HAS_HUMIDITY_SENSOR || DOXYGEN
100#endif /* SI70XX_HAS_HUMIDITY_SENSOR || DOXYGEN */
101
110
111#if SI70XX_HAS_HUMIDITY_SENSOR || DOXYGEN
122void si70xx_get_both(const si70xx_t *dev, uint16_t *humidity, int16_t *temperature);
123#endif /* SI70XX_HAS_HUMIDITY_SENSOR || DOXYGEN */
124
131uint64_t si70xx_get_serial(const si70xx_t *dev);
132
139uint8_t si70xx_get_id(const si70xx_t *dev);
140
147uint8_t si70xx_get_revision(const si70xx_t *dev);
148
149#ifdef __cplusplus
150}
151#endif
152
153#endif /* SI70XX_H */
uint_fast8_t i2c_t
Default i2c_t type definition.
Definition i2c.h:151
uint8_t si70xx_get_revision(const si70xx_t *dev)
Read the firmware revision of the sensor.
void si70xx_get_both(const si70xx_t *dev, uint16_t *humidity, int16_t *temperature)
Read the relative humidity and temperature from the sensor.
int16_t si70xx_get_temperature(const si70xx_t *dev)
Read the current temperature from the sensor.
int si70xx_init(si70xx_t *dev, const si70xx_params_t *params)
Initialize and reset the sensor.
uint8_t si70xx_get_id(const si70xx_t *dev)
Read the sensor id, to identifier the sensor variant.
uint16_t si70xx_get_relative_humidity(const si70xx_t *dev)
Read the relative humidity from the sensor.
uint64_t si70xx_get_serial(const si70xx_t *dev)
Read the sensor serial number.
@ SI70XX_ERR_NODEV
No valid device found on I2C bus.
Definition si70xx.h:58
@ SI70XX_ERR_I2C
An error occurred when reading/writing on I2C bus.
Definition si70xx.h:59
@ SI70XX_OK
All OK.
Definition si70xx.h:57
Low-level I2C peripheral driver interface definition.
Device initialization parameters.
Definition si70xx.h:65
i2c_t i2c_dev
I2C bus the sensor is connected to.
Definition si70xx.h:66
uint8_t address
sensor address
Definition si70xx.h:67
Si70xx device descriptor.
Definition si70xx.h:73
si70xx_params_t params
Device parameters.
Definition si70xx.h:74