From 4ddc79903f33ace3cde308e9b4ebdcf2807feba7 Mon Sep 17 00:00:00 2001 From: Rocco Marco Guglielmi Date: Mon, 7 Feb 2022 19:00:30 +0000 Subject: [PATCH] Updated LSM6DSL demos in testex demos to be close to the pattern used in testhal demos. Minor changes to field names in LSM6DSL. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15440 27425a3e-05d8-49a3-a47f-9c15f0e5edd8 --- os/ex/devices/ST/lsm6dsl.c | 12 ++--- os/ex/devices/ST/lsm6dsl.h | 54 +++++++++++------------ testex/STM32/STM32F4xx/I2C-IKS01A2/main.c | 22 ++++----- testex/STM32/STM32F4xx/I2C-LSM6DSL/main.c | 34 +++++++------- 4 files changed, 60 insertions(+), 62 deletions(-) diff --git a/os/ex/devices/ST/lsm6dsl.c b/os/ex/devices/ST/lsm6dsl.c index 56bc10ce2..471c25032 100644 --- a/os/ex/devices/ST/lsm6dsl.c +++ b/os/ex/devices/ST/lsm6dsl.c @@ -885,26 +885,26 @@ void lsm6dslStart(LSM6DSLDriver *devp, const LSM6DSLConfig *config) { cr[0] = LSM6DSL_AD_CTRL1_XL; /* Control register 1 configuration block.*/ { - cr[1] = devp->config->accoutdatarate | + cr[1] = devp->config->accodr | devp->config->accfullscale; } /* Control register 2 configuration block.*/ { - cr[2] = devp->config->gyrooutdatarate | + cr[2] = devp->config->gyroodr | devp->config->gyrofullscale; } /* Control register 3 configuration block.*/ { cr[3] = LSMDSL_CTRL3_C_IF_INC; #if LSM6DSL_USE_ADVANCED || defined(__DOXYGEN__) - cr[3] |= devp->config->endianness | devp->config->blockdataupdate; + cr[3] |= devp->config->endianness | devp->config->bdu; #endif } /* Control register 4 configuration block.*/ { cr[4] = 0; #if LSM6DSL_USE_ADVANCED || defined(__DOXYGEN__) - if(devp->config->gyrolowpassfilter != LSM6DSL_GYRO_LPF_DISABLED) { + if(devp->config->gyrolpfilter != LSM6DSL_GYRO_LPF_DISABLED) { cr[4] |= LSMDSL_CTRL4_C_LPF1_SEL_G; } else { @@ -924,8 +924,8 @@ void lsm6dslStart(LSM6DSLDriver *devp, const LSM6DSLConfig *config) { #endif #if LSM6DSL_USE_ADVANCED || defined(__DOXYGEN__) - if(devp->config->gyrolowpassfilter != LSM6DSL_GYRO_LPF_DISABLED) { - cr[6] |= devp->config->gyrolowpassfilter; + if(devp->config->gyrolpfilter != LSM6DSL_GYRO_LPF_DISABLED) { + cr[6] |= devp->config->gyrolpfilter; } else { /* Nothing to do. */ diff --git a/os/ex/devices/ST/lsm6dsl.h b/os/ex/devices/ST/lsm6dsl.h index 4cffd786b..cc4899407 100644 --- a/os/ex/devices/ST/lsm6dsl.h +++ b/os/ex/devices/ST/lsm6dsl.h @@ -43,7 +43,7 @@ /** * @brief LSM6DSL driver version string. */ -#define EX_LSM6DSL_VERSION "1.0.1" +#define EX_LSM6DSL_VERSION "1.0.2" /** * @brief LSM6DSL driver version major number. @@ -58,7 +58,7 @@ /** * @brief LSM6DSL driver version patch number. */ -#define EX_LSM6DSL_PATCH 1 +#define EX_LSM6DSL_PATCH 2 /** @} */ /** @@ -492,17 +492,17 @@ typedef enum { */ typedef enum { LSM6DSL_ACC_ODR_PD = 0x00, /**< Power down */ - LSM6DSL_ACC_ODR_1P6Hz = 0xB0, /**< ODR 1.6 Hz (Low Power only) */ - LSM6DSL_ACC_ODR_12P5Hz = 0x10, /**< ODR 12.5 Hz */ - LSM6DSL_ACC_ODR_26Hz = 0x20, /**< ODR 26 Hz */ - LSM6DSL_ACC_ODR_52Hz = 0x30, /**< ODR 52 Hz */ - LSM6DSL_ACC_ODR_104Hz = 0x40, /**< ODR 104 Hz */ - LSM6DSL_ACC_ODR_208Hz = 0x50, /**< ODR 208 Hz */ - LSM6DSL_ACC_ODR_416Hz = 0x60, /**< ODR 416 Hz */ - LSM6DSL_ACC_ODR_833Hz = 0x70, /**< ODR 833 Hz */ - LSM6DSL_ACC_ODR_1P66Hz = 0x80, /**< ODR 1.66 kHz */ - LSM6DSL_ACC_ODR_3P33Hz = 0x90, /**< ODR 3.33 kHz */ - LSM6DSL_ACC_ODR_6P66Hz = 0xA0 /**< ODR 6.66 kHz */ + LSM6DSL_ACC_ODR_1P6HZ = 0xB0, /**< ODR 1.6 Hz (Low Power only) */ + LSM6DSL_ACC_ODR_12P5HZ = 0x10, /**< ODR 12.5 Hz */ + LSM6DSL_ACC_ODR_26HZ = 0x20, /**< ODR 26 Hz */ + LSM6DSL_ACC_ODR_52HZ = 0x30, /**< ODR 52 Hz */ + LSM6DSL_ACC_ODR_104HZ = 0x40, /**< ODR 104 Hz */ + LSM6DSL_ACC_ODR_208HZ = 0x50, /**< ODR 208 Hz */ + LSM6DSL_ACC_ODR_416HZ = 0x60, /**< ODR 416 Hz */ + LSM6DSL_ACC_ODR_833HZ = 0x70, /**< ODR 833 Hz */ + LSM6DSL_ACC_ODR_1P66HZ = 0x80, /**< ODR 1.66 kHz */ + LSM6DSL_ACC_ODR_3P33HZ = 0x90, /**< ODR 3.33 kHz */ + LSM6DSL_ACC_ODR_6P66HZ = 0xA0 /**< ODR 6.66 kHz */ } lsm6dsl_acc_odr_t; /** @@ -529,16 +529,16 @@ typedef enum { */ typedef enum { LSM6DSL_GYRO_ODR_PD = 0x00, /**< Power down */ - LSM6DSL_GYRO_ODR_12P5Hz = 0x10, /**< ODR 12.5 Hz */ - LSM6DSL_GYRO_ODR_26Hz = 0x20, /**< ODR 26 Hz */ - LSM6DSL_GYRO_ODR_52Hz = 0x30, /**< ODR 52 Hz */ - LSM6DSL_GYRO_ODR_104Hz = 0x40, /**< ODR 104 Hz */ - LSM6DSL_GYRO_ODR_208Hz = 0x50, /**< ODR 208 Hz */ - LSM6DSL_GYRO_ODR_416Hz = 0x60, /**< ODR 416 Hz */ - LSM6DSL_GYRO_ODR_833Hz = 0x70, /**< ODR 833 Hz */ - LSM6DSL_GYRO_ODR_1P66Hz = 0x80, /**< ODR 1.66 kHz */ - LSM6DSL_GYRO_ODR_3P33Hz = 0x90, /**< ODR 3.33 kHz */ - LSM6DSL_GYRO_ODR_6P66Hz = 0xA0 /**< ODR 6.66 kHz */ + LSM6DSL_GYRO_ODR_12P5HZ = 0x10, /**< ODR 12.5 HZ */ + LSM6DSL_GYRO_ODR_26HZ = 0x20, /**< ODR 26 Hz */ + LSM6DSL_GYRO_ODR_52HZ = 0x30, /**< ODR 52 Hz */ + LSM6DSL_GYRO_ODR_104HZ = 0x40, /**< ODR 104 Hz */ + LSM6DSL_GYRO_ODR_208HZ = 0x50, /**< ODR 208 Hz */ + LSM6DSL_GYRO_ODR_416HZ = 0x60, /**< ODR 416 Hz */ + LSM6DSL_GYRO_ODR_833HZ = 0x70, /**< ODR 833 Hz */ + LSM6DSL_GYRO_ODR_1P66KHZ = 0x80, /**< ODR 1.66 kHz */ + LSM6DSL_GYRO_ODR_3P33KHZ = 0x90, /**< ODR 3.33 kHz */ + LSM6DSL_GYRO_ODR_6P66KHZ = 0xA0 /**< ODR 6.66 kHz */ } lsm6dsl_gyro_odr_t; /** @@ -630,7 +630,7 @@ typedef struct { /** * @brief LSM6DSL accelerometer subsystem output data rate. */ - lsm6dsl_acc_odr_t accoutdatarate; + lsm6dsl_acc_odr_t accodr; #if LSM6DSL_USE_ADVANCED || defined(__DOXYGEN__) /** * @brief LSM6DSL accelerometer subsystem low power mode. @@ -652,7 +652,7 @@ typedef struct { /** * @brief LSM6DSL gyroscope subsystem output data rate. */ - lsm6dsl_gyro_odr_t gyrooutdatarate; + lsm6dsl_gyro_odr_t gyroodr; #if LSM6DSL_USE_ADVANCED || defined(__DOXYGEN__) /** * @brief LSM6DSL gyroscope subsystem low mode configuration. @@ -661,11 +661,11 @@ typedef struct { /** * @brief LSM6DSL gyroscope subsystem low pass filter configuration. */ - lsm6dsl_gyro_lpf_t gyrolowpassfilter; + lsm6dsl_gyro_lpf_t gyrolpfilter; /** * @brief LSM6DSL block data update */ - lsm6dsl_bdu_t blockdataupdate; + lsm6dsl_bdu_t bdu; /** * @brief LSM6DSL endianness */ diff --git a/testex/STM32/STM32F4xx/I2C-IKS01A2/main.c b/testex/STM32/STM32F4xx/I2C-IKS01A2/main.c index 01c862816..94dda6b7b 100644 --- a/testex/STM32/STM32F4xx/I2C-IKS01A2/main.c +++ b/testex/STM32/STM32F4xx/I2C-IKS01A2/main.c @@ -102,17 +102,17 @@ static const LSM303AGRConfig lsm303agrcfg = { static LSM6DSLDriver LSM6DSLD1; static const LSM6DSLConfig lsm6dslcfg = { - &I2CD1, - &i2ccfg, - LSM6DSL_SAD_VCC, - NULL, - NULL, - LSM6DSL_ACC_FS_2G, - LSM6DSL_ACC_ODR_52Hz, - NULL, - NULL, - LSM6DSL_GYRO_FS_250DPS, - LSM6DSL_GYRO_ODR_104Hz + .i2cp = &I2CD1, + .i2ccfg = &i2ccfg, + .slaveaddress = LSM6DSL_SAD_VCC, + .accsensitivity = NULL, + .accbias = NULL, + .accfullscale = LSM6DSL_ACC_FS_2G, + .accodr = LSM6DSL_ACC_ODR_52HZ, + .gyrosensitivity = NULL, + .gyrobias = NULL, + .gyrofullscale = LSM6DSL_GYRO_FS_250DPS, + .gyroodr = LSM6DSL_GYRO_ODR_104HZ, }; /*===========================================================================*/ diff --git a/testex/STM32/STM32F4xx/I2C-LSM6DSL/main.c b/testex/STM32/STM32F4xx/I2C-LSM6DSL/main.c index 850fe113a..52a8a736b 100644 --- a/testex/STM32/STM32F4xx/I2C-LSM6DSL/main.c +++ b/testex/STM32/STM32F4xx/I2C-LSM6DSL/main.c @@ -43,27 +43,25 @@ static const I2CConfig i2ccfg = { }; static const LSM6DSLConfig lsm6dslcfg = { - &I2CD1, - &i2ccfg, - LSM6DSL_SAD_VCC, - NULL, - NULL, - LSM6DSL_ACC_FS_2G, - LSM6DSL_ACC_ODR_52Hz, + .i2cp = &I2CD1, + .i2ccfg = &i2ccfg, + .slaveaddress = LSM6DSL_SAD_VCC, + .accsensitivity = NULL, + .accbias = NULL, + .accfullscale = LSM6DSL_ACC_FS_2G, + .accodr = LSM6DSL_ACC_ODR_52HZ, #if LSM6DSL_USE_ADVANCED - LSM6DSL_ACC_LP_ENABLED, + .acclpmode = LSM6DSL_ACC_LP_ENABLED, #endif - NULL, - NULL, - LSM6DSL_GYRO_FS_250DPS, - LSM6DSL_GYRO_ODR_104Hz, + .gyrosensitivity = NULL, + .gyrobias = NULL, + .gyrofullscale = LSM6DSL_GYRO_FS_250DPS, + .gyroodr = LSM6DSL_GYRO_ODR_104HZ, #if LSM6DSL_USE_ADVANCED - LSM6DSL_GYRO_LP_ENABLED, - LSM6DSL_GYRO_LPF_FTYPE1, -#endif -#if LSM6DSL_USE_ADVANCED - LSM6DSL_BDU_BLOCKED, - LSM6DSL_END_LITTLE + .gyrolpmode = LSM6DSL_GYRO_LP_ENABLED, + .gyrolpfilter = LSM6DSL_GYRO_LPF_FTYPE1, + .bdu = LSM6DSL_BDU_BLOCKED, + .endianness = LSM6DSL_END_LITTLE #endif };