From 9bed191b4f97d98bf06d8526fd750dd0d32a8369 Mon Sep 17 00:00:00 2001 From: smlng Date: Wed, 31 May 2017 21:09:39 +0200 Subject: [PATCH] tests: adapt driver_mpl3115a2 --- drivers/mpl3115a2/include/mpl3115a2_params.h | 11 +++++ tests/driver_mpl3115a2/Makefile | 8 --- tests/driver_mpl3115a2/README.md | 8 +-- tests/driver_mpl3115a2/main.c | 52 +++++++++----------- 4 files changed, 39 insertions(+), 40 deletions(-) diff --git a/drivers/mpl3115a2/include/mpl3115a2_params.h b/drivers/mpl3115a2/include/mpl3115a2_params.h index c4e772480c..8c9da2b87a 100644 --- a/drivers/mpl3115a2/include/mpl3115a2_params.h +++ b/drivers/mpl3115a2/include/mpl3115a2_params.h @@ -56,6 +56,7 @@ extern "C" { */ static const mpl3115a2_params_t mpl3115a2_params[] = { + #ifdef MPL3115A2_PARAMS_CUSTOM MPL3115A2_PARAMS_CUSTOM #else @@ -63,6 +64,16 @@ static const mpl3115a2_params_t mpl3115a2_params[] = #endif }; +/** + * @brief Additional meta information to keep in the SAUL registry + */ +static const saul_reg_info_t mpl3115a2_saul_info[] = +{ + { + .name = "mpl3115a2" + } +}; + #ifdef __cplusplus } #endif diff --git a/tests/driver_mpl3115a2/Makefile b/tests/driver_mpl3115a2/Makefile index d38a92e71c..375934baf1 100644 --- a/tests/driver_mpl3115a2/Makefile +++ b/tests/driver_mpl3115a2/Makefile @@ -6,12 +6,4 @@ FEATURES_REQUIRED = periph_i2c USEMODULE += mpl3115a2 USEMODULE += xtimer -# set default device parameters in case they are undefined -TEST_MPL3115A2_I2C ?= I2C_DEV\(0\) -TEST_MPL3115A2_ADDR ?= 0x60 - -# export parameters -CFLAGS += -DTEST_MPL3115A2_I2C=$(TEST_MPL3115A2_I2C) -CFLAGS += -DTEST_MPL3115A2_ADDR=$(TEST_MPL3115A2_ADDR) - include $(RIOTBASE)/Makefile.include diff --git a/tests/driver_mpl3115a2/README.md b/tests/driver_mpl3115a2/README.md index 2041c445d5..0b55f68374 100644 --- a/tests/driver_mpl3115a2/README.md +++ b/tests/driver_mpl3115a2/README.md @@ -2,8 +2,8 @@ This is a manual test application for the MPL3115A2 driver. # Usage -This test application will initialize the MPL3115A2 sensor with the following parameters: - - oversample ratio 128 +This test application will initialize the MPL3115A2 sensor with parameter +oversample ratio 128 -After initialization, the sensor reads the pressure and temperature values every 1s -and prints them to STDOUT. +After initialization, the sensor reads pressure, temperature values and device +state every 1s and prints them to STDOUT. diff --git a/tests/driver_mpl3115a2/main.c b/tests/driver_mpl3115a2/main.c index 6b229ceef0..42c1823c53 100644 --- a/tests/driver_mpl3115a2/main.c +++ b/tests/driver_mpl3115a2/main.c @@ -20,49 +20,45 @@ * @} */ -#ifndef TEST_MPL3115A2_I2C -#error "TEST_MPL3115A2_I2C not defined" -#endif -#ifndef TEST_MPL3115A2_ADDR -#error "TEST_MPL3115A2_ADDR not defined" -#endif - #include +#include #include "xtimer.h" #include "mpl3115a2.h" +#include "mpl3115a2_params.h" -#define SLEEP (1000 * 1000U) +#define SLEEP (1UL * US_PER_SEC) +static mpl3115a2_t dev; int main(void) { - mpl3115a2_t dev; - uint32_t pressure; - int16_t temp; - uint8_t status; - puts("MPL3115A2 pressure sensor driver test application\n"); - printf("Initializing MPL3115A2 sensor at I2C_%i... ", TEST_MPL3115A2_I2C); - if (mpl3115a2_init(&dev, TEST_MPL3115A2_I2C, TEST_MPL3115A2_ADDR, - MPL3115A2_OS_RATIO_DEFAULT) == 0) { - puts("[OK]\n"); - } - else { - puts("[Failed]"); - return -1; + printf("Initializing MPL3115A2 sensor at I2C_%i... ", mpl3115a2_params[0].i2c); + + if (mpl3115a2_init(&dev, &mpl3115a2_params[0]) != MPL3115A2_OK) { + puts("[FAILED] init device!"); + return 1; } - if (mpl3115a2_set_active(&dev)) { - puts("Measurement start failed."); - return -1; + if (mpl3115a2_set_active(&dev) != MPL3115A2_OK) { + puts("[FAILED] activate measurement!"); + return 2; } + puts("[SUCCESS]"); while (1) { + uint32_t pressure; + int16_t temp; + uint8_t status; xtimer_usleep(SLEEP); - mpl3115a2_read_pressure(&dev, &pressure, &status); - printf("Pressure: %u Status: %#02x\n", (unsigned int)pressure, status); - mpl3115a2_read_temp(&dev, &temp); - printf("Temperature: %d\n", temp/10); + if ((mpl3115a2_read_pressure(&dev, &pressure, &status) | + mpl3115a2_read_temp(&dev, &temp)) != MPL3115A2_OK) { + puts("[FAILED] read values!"); + } + else { + printf("Pressure: %u Pa, Temperature: %3d.%d C, State: %#02x\n", + (unsigned int)pressure, temp/10, abs(temp%10), status); + } } return 0;