Loading...
Searching...
No Matches
seesaw_soil.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2020 Viktor Gal
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
24
25#include <stdint.h>
26
27#include "periph/i2c.h"
28#include "seesaw_soil_regs.h"
29
30#ifdef __cplusplus
31extern "C"
32{
33#endif
34
45#ifndef CONFIG_SEESAW_SOIL_I2C_ADDRESS
46#define CONFIG_SEESAW_SOIL_I2C_ADDRESS (0x36)
47#endif
49
53enum {
58};
59
63typedef struct {
65 uint8_t addr;
67
74
86
96int seesaw_soil_temperature(const seesaw_soil_t *dev, int16_t *temp);
97
108int seesaw_soil_moisture(const seesaw_soil_t *dev, uint16_t *moist);
109
110#ifdef __cplusplus
111}
112#endif
113
uint_fast8_t i2c_t
Default i2c_t type definition.
Definition i2c.h:155
int seesaw_soil_temperature(const seesaw_soil_t *dev, int16_t *temp)
Convenience function for reading temperature.
int seesaw_soil_init(seesaw_soil_t *dev, const seesaw_soil_params_t *params)
Initialize the given Seesaw Soil device.
int seesaw_soil_moisture(const seesaw_soil_t *dev, uint16_t *moist)
Convenience function for reading ca.
@ SEESAW_SOIL_OK
everything went as expected
Definition seesaw_soil.h:54
@ SEESAW_SOIL_NODEV
no SEESAW_SOIL device found on the bus
Definition seesaw_soil.h:55
@ SEESAW_SOIL_BUSERR
error during I2C communication
Definition seesaw_soil.h:57
@ SEESAW_SOIL_NOBUS
errors while initializing the I2C bus
Definition seesaw_soil.h:56
Low-level I2C peripheral driver interface definition.
Register definitions for Seesaw Soil devices.
Parameters needed for device initialization.
Definition seesaw_soil.h:63
uint8_t addr
address on that bus
Definition seesaw_soil.h:65
i2c_t i2c
bus the device is connected to
Definition seesaw_soil.h:64
Device descriptor for Seesaw Soil sensors.
Definition seesaw_soil.h:71
seesaw_soil_params_t params
Configuration parameters.
Definition seesaw_soil.h:72