Merge pull request #8669 from aabadie/pr/drivers/params/adcxx1c

drivers/adcxx1c: apply unified params definition scheme
This commit is contained in:
Martine Lenders 2018-03-07 15:24:59 +01:00 committed by GitHub
commit 90356143fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 19 deletions

View File

@ -56,14 +56,19 @@ extern "C" {
#define ADCXX1C_PARAM_HYSTERESIS (0) #define ADCXX1C_PARAM_HYSTERESIS (0)
#endif #endif
#define ADCXX1C_PARAMS_DEFAULT { .i2c = ADCXX1C_PARAM_I2C, \ #ifndef ADCXX1C_PARAMS
.addr = ADCXX1C_PARAM_ADDR, \ #define ADCXX1C_PARAMS { .i2c = ADCXX1C_PARAM_I2C, \
.bits = ADCXX1C_PARAM_BITS, \ .addr = ADCXX1C_PARAM_ADDR, \
.cycle = ADCXX1C_PARAM_CYCLE, \ .bits = ADCXX1C_PARAM_BITS, \
.alert_pin = ADCXX1C_PARAM_ALERT_PIN, \ .cycle = ADCXX1C_PARAM_CYCLE, \
.low_limit = ADCXX1C_PARAM_LOW_LIMIT, \ .alert_pin = ADCXX1C_PARAM_ALERT_PIN, \
.low_limit = ADCXX1C_PARAM_LOW_LIMIT, \
.high_limit = ADCXX1C_PARAM_HIGH_LIMIT, \ .high_limit = ADCXX1C_PARAM_HIGH_LIMIT, \
.hysteresis = ADCXX1C_PARAM_HYSTERESIS } .hysteresis = ADCXX1C_PARAM_HYSTERESIS }
#endif
#ifndef ADCXX1C_SAUL_INFO
#define ADCXX1C_SAUL_INFO { .name = "adcxx1c" }
#endif
/** @} */ /** @} */
/** /**
@ -71,11 +76,7 @@ extern "C" {
*/ */
static const adcxx1c_params_t adcxx1c_params[] = static const adcxx1c_params_t adcxx1c_params[] =
{ {
#ifdef ADCXX1C_PARAMS_BOARD ADCXX1C_PARAMS
ADCXX1C_PARAMS_BOARD,
#else
ADCXX1C_PARAMS_DEFAULT,
#endif
}; };
@ -84,9 +85,7 @@ static const adcxx1c_params_t adcxx1c_params[] =
*/ */
static const saul_reg_info_t adcxx1c_saul_info[] = static const saul_reg_info_t adcxx1c_saul_info[] =
{ {
{ ADCXX1C_SAUL_INFO
.name = "adcxx1c",
},
}; };
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -30,7 +30,7 @@
/** /**
* @brief Define the number of configured sensors * @brief Define the number of configured sensors
*/ */
#define ADCXX1C_NUM (sizeof(adcxx1c_params)/sizeof(adcxx1c_params[0])) #define ADCXX1C_NUM (sizeof(adcxx1c_params) / sizeof(adcxx1c_params[0]))
/** /**
* @brief Allocate memory for the device descriptors * @brief Allocate memory for the device descriptors
@ -42,19 +42,23 @@ static adcxx1c_t adcxx1c_devs[ADCXX1C_NUM];
*/ */
static saul_reg_t saul_entries[ADCXX1C_NUM]; static saul_reg_t saul_entries[ADCXX1C_NUM];
/**
* @brief Define the number of saul info
*/
#define ADCXX1C_INFO_NUM (sizeof(adcxx1c_saul_info) / sizeof(adcxx1c_saul_info[0]))
/** /**
* @brief Reference the driver struct * @brief Reference the driver struct
*/ */
extern saul_driver_t adcxx1c_saul_driver; extern saul_driver_t adcxx1c_saul_driver;
void auto_init_adcxx1c(void) void auto_init_adcxx1c(void)
{ {
for (unsigned i = 0; i < ADCXX1C_NUM; i++) { assert(ADCXX1C_INFO_NUM == ADCXX1C_NUM);
const adcxx1c_params_t *p = &adcxx1c_params[i];
for (unsigned i = 0; i < ADCXX1C_NUM; i++) {
LOG_DEBUG("[auto_init_saul] initializing adcxx1c #%d\n", i); LOG_DEBUG("[auto_init_saul] initializing adcxx1c #%d\n", i);
if (adcxx1c_init(&adcxx1c_devs[i], p) < 0) { if (adcxx1c_init(&adcxx1c_devs[i], &adcxx1c_params[i]) < 0) {
LOG_ERROR("[auto_init_saul] error initializing adcxx1c #%d\n", i); LOG_ERROR("[auto_init_saul] error initializing adcxx1c #%d\n", i);
continue; continue;
} }