Skip to content
Snippets Groups Projects
Unverified Commit 059af139 authored by Kaspar Schleiser's avatar Kaspar Schleiser Committed by GitHub
Browse files

Merge pull request #10306 from aabadie/pr/drivers/mma8x5x_update

drivers/mma8x5x: remove useless type from initialization parameters
parents 1be4d15a 5436f844
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,7 @@ endif ...@@ -5,6 +5,7 @@ endif
ifneq (,$(filter saul_default,$(USEMODULE))) ifneq (,$(filter saul_default,$(USEMODULE)))
USEMODULE += saul_gpio USEMODULE += saul_gpio
USEMODULE += mma8x5x
endif endif
ifneq (,$(filter gnrc_netdev_default netdev_default,$(USEMODULE))) ifneq (,$(filter gnrc_netdev_default netdev_default,$(USEMODULE)))
......
...@@ -69,7 +69,6 @@ extern "C" { ...@@ -69,7 +69,6 @@ extern "C" {
*/ */
#define MMA8X5X_PARAM_I2C I2C_DEV(0) #define MMA8X5X_PARAM_I2C I2C_DEV(0)
#define MMA8X5X_PARAM_ADDR 0x1d #define MMA8X5X_PARAM_ADDR 0x1d
#define MMA8X5X_PARAM_TYPE 0x5a
/** @} */ /** @} */
/** /**
......
...@@ -95,7 +95,6 @@ enum { ...@@ -95,7 +95,6 @@ enum {
typedef struct { typedef struct {
i2c_t i2c; /**< I2C bus the device is connected to */ i2c_t i2c; /**< I2C bus the device is connected to */
uint8_t addr; /**< I2C bus address of the device */ uint8_t addr; /**< I2C bus address of the device */
uint8_t type; /**< device type */
uint8_t rate; /**< sampling rate to use */ uint8_t rate; /**< sampling rate to use */
uint8_t range; /**< scale range to use */ uint8_t range; /**< scale range to use */
uint8_t offset[3]; /**< data offset in X, Y, and Z direction */ uint8_t offset[3]; /**< data offset in X, Y, and Z direction */
......
...@@ -37,9 +37,6 @@ extern "C" { ...@@ -37,9 +37,6 @@ extern "C" {
#ifndef MMA8X5X_PARAM_ADDR #ifndef MMA8X5X_PARAM_ADDR
#define MMA8X5X_PARAM_ADDR (MMA8X5X_I2C_ADDRESS) #define MMA8X5X_PARAM_ADDR (MMA8X5X_I2C_ADDRESS)
#endif #endif
#ifndef MMA8X5X_PARAM_TYPE
#define MMA8X5X_PARAM_TYPE (MMA8X5X_TYPE_MMA8652)
#endif
#ifndef MMA8X5X_PARAM_RATE #ifndef MMA8X5X_PARAM_RATE
#define MMA8X5X_PARAM_RATE (MMA8X5X_RATE_200HZ) #define MMA8X5X_PARAM_RATE (MMA8X5X_RATE_200HZ)
#endif #endif
...@@ -53,13 +50,12 @@ extern "C" { ...@@ -53,13 +50,12 @@ extern "C" {
#ifndef MMA8X5X_PARAMS #ifndef MMA8X5X_PARAMS
#define MMA8X5X_PARAMS { .i2c = MMA8X5X_PARAM_I2C, \ #define MMA8X5X_PARAMS { .i2c = MMA8X5X_PARAM_I2C, \
.addr = MMA8X5X_PARAM_ADDR, \ .addr = MMA8X5X_PARAM_ADDR, \
.type = MMA8X5X_PARAM_TYPE, \
.rate = MMA8X5X_PARAM_RATE, \ .rate = MMA8X5X_PARAM_RATE, \
.range = MMA8X5X_PARAM_RANGE, \ .range = MMA8X5X_PARAM_RANGE, \
.offset = MMA8X5X_PARAM_OFFSET } .offset = MMA8X5X_PARAM_OFFSET }
#endif #endif
#ifndef MMA8X5X_SAUL_INFO #ifndef MMA8X5X_SAUL_INFO
#define MMA8X5X_SAUL_INFO { .name = "mma8652" } #define MMA8X5X_SAUL_INFO { .name = "mma8x5x" }
#endif #endif
/**@}*/ /**@}*/
......
...@@ -51,11 +51,18 @@ int mma8x5x_init(mma8x5x_t *dev, const mma8x5x_params_t *params) ...@@ -51,11 +51,18 @@ int mma8x5x_init(mma8x5x_t *dev, const mma8x5x_params_t *params)
/* test if the target device responds */ /* test if the target device responds */
i2c_read_reg(BUS, ADDR, MMA8X5X_WHO_AM_I, &reg, 0); i2c_read_reg(BUS, ADDR, MMA8X5X_WHO_AM_I, &reg, 0);
if (reg != dev->params.type) { switch (reg) {
i2c_release(BUS); case MMA8X5X_TYPE_MMA8451:
DEBUG("[mma8x5x] init - error: invalid WHO_AM_I value [0x%02x]\n", case MMA8X5X_TYPE_MMA8452:
(int)reg); case MMA8X5X_TYPE_MMA8453:
return MMA8X5X_NODEV; case MMA8X5X_TYPE_MMA8652:
case MMA8X5X_TYPE_MMA8653:
break;
default: /* invalid device type */
i2c_release(BUS);
DEBUG("[mma8x5x] init - error: invalid WHO_AM_I value [0x%02x]\n",
(int)reg);
return MMA8X5X_NODEV;
} }
/* reset the device */ /* reset the device */
......
include ../Makefile.tests_common include ../Makefile.tests_common
USEMODULE += mma8x5x USEMODULE += mma8x5x # will work with all variants
USEMODULE += xtimer USEMODULE += xtimer
include $(RIOTBASE)/Makefile.include include $(RIOTBASE)/Makefile.include
...@@ -3,14 +3,13 @@ This is a manual test application for the MMA8x5x accelerometer driver. ...@@ -3,14 +3,13 @@ This is a manual test application for the MMA8x5x accelerometer driver.
# Usage # Usage
This test application will initialize the MMA8x5x sensor with the following parameters: This test application will initialize the MMA8x5x sensor with the following parameters:
- default device type: MMA8652
- full scale parameter set to +/-2 g - full scale parameter set to +/-2 g
- 200 Hz output data-rate - 200 Hz output data-rate
To change these parameters, you can override them by setting their corresponding To change these parameters, you can override them by setting their corresponding
defines in your build environment, e.g. defines in your build environment, e.g.
```bash ```bash
CFLAGS=-DMMA8X5X_PARAM_TYPE=MMA8X5X_TYPE_MMA8451 make ... CFLAGS=-DMMA8X5X_PARAM_ADDR=0x1d make ...
``` ```
See RIOT/drivers/mma8x5x_params.h for the default configuration. See RIOT/drivers/mma8x5x_params.h for the default configuration.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment