modules/hal_st: Align sensor drivers to stmemsc HAL i/f v1.02
Align all sensor drivers that are using stmemsc (STdC) HAL i/f to new APIs of stmemsc v1.02. Requires https://github.com/zephyrproject-rtos/hal_st/pull/3 Signed-off-by: Armando Visconti <armando.visconti@st.com>
This commit is contained in:
parent
ac9fe11f2f
commit
dc9e297e09
29 changed files with 129 additions and 60 deletions
|
@ -296,7 +296,7 @@ static int lsm6dso_attr_set(struct device *dev, enum sensor_channel chan,
|
|||
static int lsm6dso_sample_fetch_accel(struct device *dev)
|
||||
{
|
||||
struct lsm6dso_data *data = dev->driver_data;
|
||||
axis3bit16_t buf;
|
||||
union axis3bit16_t buf;
|
||||
|
||||
if (lsm6dso_acceleration_raw_get(data->ctx, buf.u8bit) < 0) {
|
||||
LOG_DBG("Failed to read sample");
|
||||
|
@ -313,7 +313,7 @@ static int lsm6dso_sample_fetch_accel(struct device *dev)
|
|||
static int lsm6dso_sample_fetch_gyro(struct device *dev)
|
||||
{
|
||||
struct lsm6dso_data *data = dev->driver_data;
|
||||
axis3bit16_t buf;
|
||||
union axis3bit16_t buf;
|
||||
|
||||
if (lsm6dso_angular_rate_raw_get(data->ctx, buf.u8bit) < 0) {
|
||||
LOG_DBG("Failed to read sample");
|
||||
|
@ -331,7 +331,7 @@ static int lsm6dso_sample_fetch_gyro(struct device *dev)
|
|||
static int lsm6dso_sample_fetch_temp(struct device *dev)
|
||||
{
|
||||
struct lsm6dso_data *data = dev->driver_data;
|
||||
axis1bit16_t buf;
|
||||
union axis1bit16_t buf;
|
||||
|
||||
if (lsm6dso_temperature_raw_get(data->ctx, buf.u8bit) < 0) {
|
||||
LOG_DBG("Failed to read sample");
|
||||
|
|
|
@ -18,6 +18,16 @@
|
|||
#include <sys/util.h>
|
||||
#include "lsm6dso_reg.h"
|
||||
|
||||
union axis3bit16_t {
|
||||
s16_t i16bit[3];
|
||||
u8_t u8bit[6];
|
||||
};
|
||||
|
||||
union axis1bit16_t {
|
||||
s16_t i16bit;
|
||||
u8_t u8bit[2];
|
||||
};
|
||||
|
||||
#define LSM6DSO_EN_BIT 0x01
|
||||
#define LSM6DSO_DIS_BIT 0x00
|
||||
|
||||
|
@ -146,12 +156,12 @@ struct lsm6dso_data {
|
|||
} hts221;
|
||||
#endif /* CONFIG_LSM6DSO_SENSORHUB */
|
||||
|
||||
lsm6dso_ctx_t *ctx;
|
||||
stmdev_ctx_t *ctx;
|
||||
|
||||
#ifdef DT_ST_LSM6DSO_BUS_I2C
|
||||
lsm6dso_ctx_t ctx_i2c;
|
||||
stmdev_ctx_t ctx_i2c;
|
||||
#elif DT_ST_LSM6DSO_BUS_SPI
|
||||
lsm6dso_ctx_t ctx_spi;
|
||||
stmdev_ctx_t ctx_spi;
|
||||
#endif
|
||||
|
||||
u16_t accel_freq;
|
||||
|
|
|
@ -42,8 +42,8 @@ int lsm6dso_i2c_init(struct device *dev)
|
|||
{
|
||||
struct lsm6dso_data *data = dev->driver_data;
|
||||
|
||||
data->ctx_i2c.read_reg = (lsm6dso_read_ptr) lsm6dso_i2c_read,
|
||||
data->ctx_i2c.write_reg = (lsm6dso_write_ptr) lsm6dso_i2c_write,
|
||||
data->ctx_i2c.read_reg = (stmdev_read_ptr) lsm6dso_i2c_read,
|
||||
data->ctx_i2c.write_reg = (stmdev_write_ptr) lsm6dso_i2c_write,
|
||||
|
||||
data->ctx = &data->ctx_i2c;
|
||||
data->ctx->handle = dev;
|
||||
|
|
|
@ -98,8 +98,8 @@ int lsm6dso_spi_init(struct device *dev)
|
|||
{
|
||||
struct lsm6dso_data *data = dev->driver_data;
|
||||
|
||||
data->ctx_spi.read_reg = (lsm6dso_read_ptr) lsm6dso_spi_read,
|
||||
data->ctx_spi.write_reg = (lsm6dso_write_ptr) lsm6dso_spi_write,
|
||||
data->ctx_spi.read_reg = (stmdev_read_ptr) lsm6dso_spi_read,
|
||||
data->ctx_spi.write_reg = (stmdev_write_ptr) lsm6dso_spi_write,
|
||||
|
||||
data->ctx = &data->ctx_spi;
|
||||
data->ctx->handle = dev;
|
||||
|
|
|
@ -28,7 +28,7 @@ static int lsm6dso_enable_t_int(struct device *dev, int enable)
|
|||
lsm6dso_pin_int2_route_t int2_route;
|
||||
|
||||
if (enable) {
|
||||
axis1bit16_t buf;
|
||||
union axis1bit16_t buf;
|
||||
|
||||
/* dummy read: re-trigger interrupt */
|
||||
lsm6dso_temperature_raw_get(lsm6dso->ctx, buf.u8bit);
|
||||
|
@ -55,7 +55,7 @@ static int lsm6dso_enable_xl_int(struct device *dev, int enable)
|
|||
struct lsm6dso_data *lsm6dso = dev->driver_data;
|
||||
|
||||
if (enable) {
|
||||
axis3bit16_t buf;
|
||||
union axis3bit16_t buf;
|
||||
|
||||
/* dummy read: re-trigger interrupt */
|
||||
lsm6dso_acceleration_raw_get(lsm6dso->ctx, buf.u8bit);
|
||||
|
@ -91,7 +91,7 @@ static int lsm6dso_enable_g_int(struct device *dev, int enable)
|
|||
struct lsm6dso_data *lsm6dso = dev->driver_data;
|
||||
|
||||
if (enable) {
|
||||
axis3bit16_t buf;
|
||||
union axis3bit16_t buf;
|
||||
|
||||
/* dummy read: re-trigger interrupt */
|
||||
lsm6dso_angular_rate_raw_get(lsm6dso->ctx, buf.u8bit);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue