tests/driver_lsm303dlhc: update with new API

This commit is contained in:
Alexandre Abadie 2018-02-28 18:21:48 +01:00 committed by dylad
parent dd055f3b32
commit b5750c5671
2 changed files with 7 additions and 47 deletions

View File

@ -5,24 +5,4 @@ FEATURES_REQUIRED = periph_i2c
USEMODULE += lsm303dlhc
USEMODULE += xtimer
# define parameters for selected boards
ifneq (,$(filter iotlab-m3,$(BOARD)))
TEST_LSM303DLHC_ACC_PIN ?= GPIO_PIN\(PORT_B,1\)
TEST_LSM303DLHC_MAG_PIN ?= GPIO_PIN\(PORT_B,2\)
endif
# set default device parameters in case they are undefined
TEST_LSM303DLHC_I2C ?= I2C_DEV\(0\)
TEST_LSM303DLHC_ACC_ADDR ?= 25
TEST_LSM303DLHC_MAG_ADDR ?= 30
TEST_LSM303DLHC_ACC_PIN ?= GPIO_PIN\(0,0\)
TEST_LSM303DLHC_MAG_PIN ?= GPIO_PIN\(0,1\)
# export parameters
CFLAGS += -DTEST_LSM303DLHC_I2C=$(TEST_LSM303DLHC_I2C)
CFLAGS += -DTEST_LSM303DLHC_ACC_ADDR=$(TEST_LSM303DLHC_ACC_ADDR)
CFLAGS += -DTEST_LSM303DLHC_MAG_ADDR=$(TEST_LSM303DLHC_MAG_ADDR)
CFLAGS += -DTEST_LSM303DLHC_ACC_PIN=$(TEST_LSM303DLHC_ACC_PIN)
CFLAGS += -DTEST_LSM303DLHC_MAG_PIN=$(TEST_LSM303DLHC_MAG_PIN)
include $(RIOTBASE)/Makefile.include

View File

@ -18,46 +18,22 @@
* @}
*/
#ifndef TEST_LSM303DLHC_I2C
#error "TEST_LSM303DLHC_I2C not defined"
#endif
#ifndef TEST_LSM303DLHC_MAG_ADDR
#error "TEST_LSM303DLHC_MAG_ADDR not defined"
#endif
#ifndef TEST_LSM303DLHC_ACC_ADDR
#error "TEST_LSM303DLHC_ACC_ADDR not defined"
#endif
#ifndef TEST_LSM303DLHC_ACC_PIN
#error "TEST_LSM303DLHC_ACC_PIN not defined"
#endif
#ifndef TEST_LSM303DLHC_MAG_PIN
#error "TEST_LSM303DLHC_MAG_PIN not defined"
#endif
#include <stdio.h>
#include "xtimer.h"
#include "lsm303dlhc.h"
#include "lsm303dlhc_params.h"
#define SLEEP (100 * 1000U)
#define ACC_S_RATE LSM303DLHC_ACC_SAMPLE_RATE_10HZ
#define ACC_SCALE LSM303DLHC_ACC_SCALE_2G
#define MAG_S_RATE LSM303DLHC_MAG_SAMPLE_RATE_75HZ
#define MAG_GAIN LSM303DLHC_MAG_GAIN_400_355_GAUSS
int main(void)
{
lsm303dlhc_t dev;
int16_t temp_value;
lsm303dlhc_3d_data_t mag_value;
lsm303dlhc_3d_data_t acc_value;
puts("LSM303DLHC temperature test application\n");
printf("Initializing LSM303DLHC sensor at I2C_%i... ", TEST_LSM303DLHC_I2C);
puts("Initializing LSM303DLHC sensor");
if (lsm303dlhc_init(&dev, TEST_LSM303DLHC_I2C, TEST_LSM303DLHC_ACC_PIN, TEST_LSM303DLHC_MAG_PIN,
TEST_LSM303DLHC_ACC_ADDR, ACC_S_RATE, ACC_SCALE,
TEST_LSM303DLHC_MAG_ADDR, MAG_S_RATE, MAG_GAIN) == 0) {
if (lsm303dlhc_init(&dev, &lsm303dlhc_params[0]) == 0) {
puts("[OK]\n");
}
else {
@ -66,6 +42,10 @@ int main(void)
}
while (1) {
int16_t temp_value;
lsm303dlhc_3d_data_t mag_value;
lsm303dlhc_3d_data_t acc_value;
if (lsm303dlhc_read_acc(&dev, &acc_value) == 0) {
printf("Accelerometer x: %i y: %i z: %i\n", acc_value.x_axis,
acc_value.y_axis,