Loading...
Searching...
No Matches
tcs37727.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015 PHYTEC Messtechnik GmbH
3 * 2017 Freie Universität Berlin
4 *
5 * This file is subject to the terms and conditions of the GNU Lesser
6 * General Public License v2.1. See the file LICENSE in the top level
7 * directory for more details.
8 */
9
10#pragma once
11
28
29#include <stdint.h>
30
31#include "periph/i2c.h"
32
33#ifdef __cplusplus
34extern "C"
35{
36#endif
37
41#define TCS37727_I2C_ADDRESS 0x29
42
55#ifndef CONFIG_TCS37727_ATIME_DEFAULT
56#define CONFIG_TCS37727_ATIME_DEFAULT 200000
57#endif
59
63typedef struct {
64 uint32_t red;
65 uint32_t green;
66 uint32_t blue;
67 uint32_t clear;
68 uint32_t lux;
69 uint32_t ct;
71
75typedef struct {
77 uint8_t addr;
78 uint32_t atime;
80
84typedef struct {
86 int again;
88
92enum {
96};
97
117
124
133
145
146#ifdef __cplusplus
147}
148#endif
149
uint_fast8_t i2c_t
Default i2c_t type definition.
Definition i2c.h:144
void tcs37727_set_rgbc_standby(const tcs37727_t *dev)
Set RGBC disable, this deactivates periodic RGBC measurements.
void tcs37727_set_rgbc_active(const tcs37727_t *dev)
Set RGBC enable, this activates periodic RGBC measurements.
void tcs37727_read(const tcs37727_t *dev, tcs37727_data_t *data)
Read sensor's data.
int tcs37727_init(tcs37727_t *dev, const tcs37727_params_t *params)
Initialize the given TCS37727 sensor.
@ TCS37727_NODEV
no TCS37727 device found on the bus
Definition tcs37727.h:95
@ TCS37727_NOBUS
access to the configured I2C bus failed
Definition tcs37727.h:94
@ TCS37727_OK
everything worked as expected
Definition tcs37727.h:93
Low-level I2C peripheral driver interface definition.
Struct for storing TCS37727 sensor data.
Definition tcs37727.h:63
uint32_t green
IR compensated channels green.
Definition tcs37727.h:65
uint32_t red
IR compensated channels red.
Definition tcs37727.h:64
uint32_t clear
channels clear
Definition tcs37727.h:67
uint32_t blue
IR compensated channels blue.
Definition tcs37727.h:66
uint32_t ct
Color temperature.
Definition tcs37727.h:69
uint32_t lux
Lux.
Definition tcs37727.h:68
TCS37727 configuration parameters.
Definition tcs37727.h:75
uint8_t addr
the sensors address on the I2C bus
Definition tcs37727.h:77
uint32_t atime
conversion time in microseconds
Definition tcs37727.h:78
i2c_t i2c
I2C bus the sensor is connected to.
Definition tcs37727.h:76
Device descriptor for TCS37727 sensors.
Definition tcs37727.h:84
tcs37727_params_t p
device configuration
Definition tcs37727.h:85
int again
amount of gain
Definition tcs37727.h:86