1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/tsl4531x/include/tsl4531x_params.h
danpetry a1a834a726 drivers/tsl4531x: Add power modes; redesign
Changes include:
- Implementation of two power modes for the driver: low and high
- Redesign and API change to the description in tsl4531x.h
- Full documentation
- Changing file structure and implementation to fit best practices as
  described in
  https://github.com/RIOT-OS/RIOT/wiki/Guide%3A-Writing-a-device-driver-in-RIOT
- Including I2C addresses for the rest of the range
2018-10-23 17:26:28 +02:00

88 lines
2.1 KiB
C

/*
* Copyright (C) 2017 Inria
* Copyright (C) 2018 Freie Universität Berlin
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup drivers_tsl4531x
*
* @{
* @file
* @brief Default configuration for tsl4531x light sensor.
*
* @author Alexandre Abadie <alexandre.abadie@inria.fr>
* @author Daniel Petry <danielpetry@cantab.net>
*
* Derived from the default configuration for the tsl2561 driver.
*/
#ifndef TSL4531X_PARAMS_H
#define TSL4531X_PARAMS_H
#include "board.h"
#include "saul_reg.h"
#include "tsl4531x.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @name Set default configuration parameters for the TSL4531x
* @{
*/
#ifndef TSL4531X_PARAM_I2C_DEV
#define TSL4531X_PARAM_I2C_DEV I2C_DEV(0)
#endif
#ifndef TSL4531X_PARAM_I2C_ADDR
#define TSL4531X_PARAM_I2C_ADDR TSL45315_ADDR
#endif
#ifndef TSL4531X_PARAM_INTEGRATION
#define TSL4531X_PARAM_INTEGRATION TSL4531X_INTEGRATE_400MS
#endif
#ifndef TSL4531X_LOW_POWER_MODE
#define TSL4531X_LOW_POWER_MODE (false)
#endif
#ifndef TSL4531X_PARAM_PARTNO
#define TSL4531X_PARAM_PARTNO TSL45315_PARTNO
#endif
#ifndef TSL4531X_PARAMS
#define TSL4531X_PARAMS { .i2c_dev = TSL4531X_PARAM_I2C_DEV, \
.i2c_addr = TSL4531X_PARAM_I2C_ADDR, \
.integration_time = TSL4531X_PARAM_INTEGRATION, \
.low_power_mode = TSL4531X_LOW_POWER_MODE, \
.part_number = TSL4531X_PARAM_PARTNO }
#endif
#ifndef TSL4531X_SAUL_INFO
#define TSL4531X_SAUL_INFO { .name = "tsl4531x" }
#endif
/**@}*/
/**
* @brief Configure TSL4531x
*/
static const tsl4531x_params_t tsl4531x_params[] =
{
TSL4531X_PARAMS
};
/**
* @brief Allocate and configure entries to the SAUL registry
*/
saul_reg_info_t tsl4531x_saul_info[] =
{
TSL4531X_SAUL_INFO
};
#ifdef __cplusplus
}
#endif
#endif /* TSL4531X_PARAMS_H */
/** @} */