manifest: hal_wurthelektronik: update to sensors sdk v2.7.0
Update the hal to have the latest Sensors SDK
version 2.7.0
Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
diff --git a/drivers/sensor/wsen/wsen_hids_2525020210002/wsen_hids_2525020210002.h b/drivers/sensor/wsen/wsen_hids_2525020210002/wsen_hids_2525020210002.h
index 64fba2d..c61bf20 100644
--- a/drivers/sensor/wsen/wsen_hids_2525020210002/wsen_hids_2525020210002.h
+++ b/drivers/sensor/wsen/wsen_hids_2525020210002/wsen_hids_2525020210002.h
@@ -10,9 +10,9 @@
#include <zephyr/drivers/gpio.h>
#include <zephyr/drivers/sensor.h>
-#include <weplatform.h>
+#include <platform.h>
-#include "WSEN_HIDS_2525020210002_hal.h"
+#include <WSEN_HIDS_2525020210002.h>
#include <zephyr/drivers/i2c.h>
#include <zephyr/drivers/sensor/wsen_hids_2525020210002.h>
diff --git a/drivers/sensor/wsen/wsen_isds_2536030320001/wsen_isds_2536030320001.h b/drivers/sensor/wsen/wsen_isds_2536030320001/wsen_isds_2536030320001.h
index baf3fd1..34bbebb 100644
--- a/drivers/sensor/wsen/wsen_isds_2536030320001/wsen_isds_2536030320001.h
+++ b/drivers/sensor/wsen/wsen_isds_2536030320001/wsen_isds_2536030320001.h
@@ -10,9 +10,9 @@
#include <zephyr/drivers/gpio.h>
#include <zephyr/drivers/sensor.h>
-#include <weplatform.h>
+#include <platform.h>
-#include "WSEN_ISDS_2536030320001_hal.h"
+#include <WSEN_ISDS_2536030320001.h>
#if DT_ANY_INST_ON_BUS_STATUS_OKAY(spi)
#include <zephyr/drivers/spi.h>
diff --git a/drivers/sensor/wsen/wsen_itds_2533020201601/CMakeLists.txt b/drivers/sensor/wsen/wsen_itds_2533020201601/CMakeLists.txt
index 0a8ccb7..6272855 100644
--- a/drivers/sensor/wsen/wsen_itds_2533020201601/CMakeLists.txt
+++ b/drivers/sensor/wsen/wsen_itds_2533020201601/CMakeLists.txt
@@ -5,3 +5,5 @@
zephyr_library_sources(wsen_itds_2533020201601.c)
zephyr_library_sources_ifdef(CONFIG_WSEN_ITDS_2533020201601_TRIGGER wsen_itds_2533020201601_trigger.c)
+
+zephyr_include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
diff --git a/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.c b/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.c
index 6de0107..af7da6e 100644
--- a/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.c
+++ b/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.c
@@ -12,6 +12,7 @@
#include <zephyr/sys/byteorder.h>
#include <zephyr/logging/log.h>
+#include <wsen_sensors_common.h>
#include "wsen_itds_2533020201601.h"
LOG_MODULE_REGISTER(WSEN_ITDS_2533020201601, CONFIG_SENSOR_LOG_LEVEL);
@@ -40,7 +41,11 @@
16,
};
-#define MAX_POLL_STEP_COUNT 10
+/* Map of dts binding power mode to enum power mode*/
+static const ITDS_powerMode_t power_mode_map[] = {
+ [0] = ITDS_lowPower,
+ [1] = ITDS_normalMode,
+};
/* convert raw temperature to celsius */
static inline int16_t itds_2533020201601_raw_temp_to_celsius(int16_t raw_temp)
@@ -67,6 +72,8 @@
return -ENOTSUP;
}
+ uint32_t step_sleep_duration = 0;
+
if (cfg->op_mode == ITDS_singleConversion) {
if (ITDS_startSingleDataConversion(&data->sensor_interface, ITDS_enable) !=
WE_SUCCESS) {
@@ -75,6 +82,12 @@
}
k_sleep(K_MSEC(5));
+ } else {
+ if (!wsen_sensor_step_sleep_duration_milli_from_odr_hz(
+ &itds_2533020201601_odr_list[data->sensor_odr], &step_sleep_duration)) {
+ LOG_ERR("Accelerometer is disabled.");
+ return -ENOTSUP;
+ }
}
ITDS_state_t acceleration_data_ready, temp_data_ready;
@@ -83,10 +96,6 @@
bool data_ready = false;
int step_count = 0;
- uint32_t step_sleep_duration =
- ((uint32_t)1000000000 /
- (uint32_t)sensor_value_to_milli(&itds_2533020201601_odr_list[data->sensor_odr]) /
- MAX_POLL_STEP_COUNT);
while (1) {
@@ -594,68 +603,80 @@
return 0;
}
+/* clang-format off */
+
#ifdef CONFIG_WSEN_ITDS_2533020201601_TRIGGER
-#define ITDS_2533020201601_CFG_EVENTS_IRQ(inst) \
- .events_interrupt_gpio = GPIO_DT_SPEC_INST_GET(inst, events_interrupt_gpios),
-#define ITDS_2533020201601_CFG_DRDY_IRQ(inst) \
- .drdy_interrupt_gpio = GPIO_DT_SPEC_INST_GET(inst, drdy_interrupt_gpios),
+#define ITDS_2533020201601_CFG_EVENTS_IRQ(inst) \
+ .events_interrupt_gpio = \
+ GPIO_DT_SPEC_INST_GET(inst, events_interrupt_gpios),
+
+#define ITDS_2533020201601_CFG_DRDY_IRQ(inst) \
+ .drdy_interrupt_gpio = \
+ GPIO_DT_SPEC_INST_GET(inst, drdy_interrupt_gpios),
#else
#define ITDS_2533020201601_CFG_EVENTS_IRQ(inst)
#define ITDS_2533020201601_CFG_DRDY_IRQ(inst)
#endif /* CONFIG_WSEN_ITDS_2533020201601_TRIGGER */
#ifdef CONFIG_WSEN_ITDS_2533020201601_TAP
-#define ITDS_2533020201601_CONFIG_TAP(inst) \
- .tap_mode = DT_INST_PROP(inst, tap_mode), \
- .tap_threshold = DT_INST_PROP(inst, tap_threshold), \
- .tap_shock = DT_INST_PROP(inst, tap_shock), \
- .tap_latency = DT_INST_PROP(inst, tap_latency), \
+#define ITDS_2533020201601_CONFIG_TAP(inst) \
+ .tap_mode = DT_INST_PROP(inst, tap_mode), \
+ .tap_threshold = DT_INST_PROP(inst, tap_threshold), \
+ .tap_shock = DT_INST_PROP(inst, tap_shock), \
+ .tap_latency = DT_INST_PROP(inst, tap_latency), \
.tap_quiet = DT_INST_PROP(inst, tap_quiet),
#else
#define ITDS_2533020201601_CONFIG_TAP(inst)
#endif /* CONFIG_WSEN_ITDS_2533020201601_TAP */
#ifdef CONFIG_WSEN_ITDS_2533020201601_FREEFALL
-#define ITDS_2533020201601_CONFIG_FREEFALL(inst) \
- .freefall_duration = DT_INST_PROP(inst, freefall_duration), \
- .freefall_threshold = \
+#define ITDS_2533020201601_CONFIG_FREEFALL(inst) \
+ .freefall_duration = DT_INST_PROP(inst, freefall_duration), \
+ .freefall_threshold = \
(ITDS_FreeFallThreshold_t)DT_INST_ENUM_IDX(inst, freefall_threshold),
#else
#define ITDS_2533020201601_CONFIG_FREEFALL(inst)
#endif /* CONFIG_WSEN_ITDS_2533020201601_FREEFALL */
#ifdef CONFIG_WSEN_ITDS_2533020201601_DELTA
-#define ITDS_2533020201601_CONFIG_DELTA(inst) \
- .delta_threshold = DT_INST_PROP(inst, delta_threshold), \
- .delta_duration = DT_INST_PROP(inst, delta_duration), \
- .delta_offsets = DT_INST_PROP(inst, delta_offsets), \
+#define ITDS_2533020201601_CONFIG_DELTA(inst) \
+ .delta_threshold = DT_INST_PROP(inst, delta_threshold), \
+ .delta_duration = DT_INST_PROP(inst, delta_duration), \
+ .delta_offsets = DT_INST_PROP(inst, delta_offsets), \
.delta_offset_weight = DT_INST_PROP(inst, delta_offset_weight),
#else
#define ITDS_2533020201601_CONFIG_DELTA(inst)
#endif /* CONFIG_WSEN_ITDS_2533020201601_DELTA */
-#define ITDS_2533020201601_CONFIG_LN(inst) \
- .low_noise = COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, low_noise), \
- ((ITDS_state_t)ITDS_enable), ((ITDS_state_t)ITDS_disable)),
+#define ITDS_2533020201601_CONFIG_LN(inst) \
+ .low_noise = COND_CODE_1( \
+ DT_INST_NODE_HAS_PROP(inst, low_noise), \
+ ((ITDS_state_t)ITDS_enable), \
+ ((ITDS_state_t)ITDS_disable) \
+ ),
-#define ITDS_2533020201601_CONFIG_COMMON(inst) \
- .odr = (ITDS_outputDataRate_t)(DT_INST_ENUM_IDX(inst, odr) + 1), \
- .op_mode = (ITDS_operatingMode_t)DT_INST_ENUM_IDX(inst, op_mode), \
- .power_mode = (ITDS_powerMode_t)DT_INST_ENUM_IDX(inst, power_mode), \
- .range = DT_INST_PROP(inst, range), \
- ITDS_2533020201601_CONFIG_LN(inst) \
- ITDS_2533020201601_CONFIG_TAP(inst) \
- ITDS_2533020201601_CONFIG_FREEFALL(inst) \
- ITDS_2533020201601_CONFIG_DELTA(inst) \
- COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, events_interrupt_gpios), \
- (ITDS_2533020201601_CFG_EVENTS_IRQ(inst)), ()) \
- COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, drdy_interrupt_gpios), \
- (ITDS_2533020201601_CFG_DRDY_IRQ(inst)), ())
-/*
- * Instantiation macros used when device is on SPI bus.
- */
+#define ITDS_2533020201601_CONFIG_COMMON(inst) \
+ .odr = (ITDS_outputDataRate_t)(DT_INST_ENUM_IDX(inst, odr) + 1), \
+ .op_mode = (ITDS_operatingMode_t)DT_INST_ENUM_IDX(inst, op_mode), \
+ .power_mode = power_mode_map[DT_INST_ENUM_IDX(inst, power_mode)], \
+ .range = DT_INST_PROP(inst, range), \
+ ITDS_2533020201601_CONFIG_LN(inst) \
+ ITDS_2533020201601_CONFIG_TAP(inst) \
+ ITDS_2533020201601_CONFIG_FREEFALL(inst) \
+ ITDS_2533020201601_CONFIG_DELTA(inst) \
+ COND_CODE_1( \
+ DT_INST_NODE_HAS_PROP(inst, events_interrupt_gpios), \
+ (ITDS_2533020201601_CFG_EVENTS_IRQ(inst)), \
+ () \
+ ) \
+ COND_CODE_1( \
+ DT_INST_NODE_HAS_PROP(inst, drdy_interrupt_gpios), \
+ (ITDS_2533020201601_CFG_DRDY_IRQ(inst)), \
+ () \
+ )
-#define ITDS_2533020201601_SPI_OPERATION \
+/* SPI configuration */
+#define ITDS_2533020201601_SPI_OPERATION \
(SPI_WORD_SET(8) | SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA)
#define ITDS_2533020201601_CONFIG_SPI(inst) \
@@ -665,38 +686,55 @@
}, \
ITDS_2533020201601_CONFIG_COMMON(inst)}
-/*
- * Instantiation macros used when device is on I2C bus.
- */
+/* I2C configuration */
+#define ITDS_2533020201601_CONFIG_I2C(inst) \
+ { \
+ .bus_cfg = { \
+ .i2c = I2C_DT_SPEC_INST_GET(inst), \
+ }, \
+ ITDS_2533020201601_CONFIG_COMMON(inst) \
+ }
-#define ITDS_2533020201601_CONFIG_I2C(inst) \
- {.bus_cfg = \
- { \
- .i2c = I2C_DT_SPEC_INST_GET(inst), \
- }, \
- ITDS_2533020201601_CONFIG_COMMON(inst)}
+#define ITDS_2533020201601_CONFIG_WE_INTERFACE(inst) \
+ { \
+ COND_CODE_1( \
+ DT_INST_ON_BUS(inst, i2c), \
+ (.sensor_interface = {.interfaceType = WE_i2c}), \
+ () \
+ ) \
+ COND_CODE_1( \
+ DT_INST_ON_BUS(inst, spi), \
+ (.sensor_interface = {.interfaceType = WE_spi}), \
+ () \
+ ) \
+ }
-#define ITDS_2533020201601_CONFIG_WE_INTERFACE(inst) \
- {COND_CODE_1(DT_INST_ON_BUS(inst, i2c), \
- (.sensor_interface = {.interfaceType = WE_i2c}), \
- ()) COND_CODE_1(DT_INST_ON_BUS(inst, spi), \
- (.sensor_interface = {.interfaceType = WE_spi}), \
- ()) }
-
-/*
- * Main instantiation macro. Use of COND_CODE_1() selects the right
- * bus-specific macro at preprocessor time.
- */
-#define ITDS_2533020201601_DEFINE(inst) \
- static struct itds_2533020201601_data itds_2533020201601_data_##inst = \
- ITDS_2533020201601_CONFIG_WE_INTERFACE(inst); \
- static const struct itds_2533020201601_config itds_2533020201601_config_##inst = \
- COND_CODE_1(DT_INST_ON_BUS(inst, i2c), (ITDS_2533020201601_CONFIG_I2C(inst)), ()) \
- COND_CODE_1(DT_INST_ON_BUS(inst, spi), \
- (ITDS_2533020201601_CONFIG_SPI(inst)), ()); \
- SENSOR_DEVICE_DT_INST_DEFINE(inst, itds_2533020201601_init, NULL, \
- &itds_2533020201601_data_##inst, \
- &itds_2533020201601_config_##inst, POST_KERNEL, \
- CONFIG_SENSOR_INIT_PRIORITY, &itds_2533020201601_driver_api);
+/* Main instantiation macro */
+#define ITDS_2533020201601_DEFINE(inst) \
+ static struct itds_2533020201601_data itds_2533020201601_data_##inst = \
+ ITDS_2533020201601_CONFIG_WE_INTERFACE(inst); \
+ static const struct itds_2533020201601_config itds_2533020201601_config_##inst = \
+ COND_CODE_1( \
+ DT_INST_ON_BUS(inst, i2c), \
+ (ITDS_2533020201601_CONFIG_I2C(inst)), \
+ () \
+ ) \
+ COND_CODE_1( \
+ DT_INST_ON_BUS(inst, spi), \
+ (ITDS_2533020201601_CONFIG_SPI(inst)), \
+ () \
+ ); \
+ SENSOR_DEVICE_DT_INST_DEFINE( \
+ inst, \
+ itds_2533020201601_init, \
+ NULL, \
+ &itds_2533020201601_data_##inst, \
+ &itds_2533020201601_config_##inst, \
+ POST_KERNEL, \
+ CONFIG_SENSOR_INIT_PRIORITY, \
+ &itds_2533020201601_driver_api \
+ );
DT_INST_FOREACH_STATUS_OKAY(ITDS_2533020201601_DEFINE)
+
+/* clang-format on */
diff --git a/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.h b/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.h
index 793bb39..6b87e81 100644
--- a/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.h
+++ b/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.h
@@ -10,9 +10,9 @@
#include <zephyr/drivers/gpio.h>
#include <zephyr/drivers/sensor.h>
-#include <weplatform.h>
+#include <platform.h>
-#include "WSEN_ITDS_2533020201601_hal.h"
+#include <WSEN_ITDS_2533020201601.h>
#if DT_ANY_INST_ON_BUS_STATUS_OKAY(spi)
#include <zephyr/drivers/spi.h>
diff --git a/drivers/sensor/wsen/wsen_pads_2511020213301/wsen_pads_2511020213301.h b/drivers/sensor/wsen/wsen_pads_2511020213301/wsen_pads_2511020213301.h
index 8fb335e..e4c8b98 100644
--- a/drivers/sensor/wsen/wsen_pads_2511020213301/wsen_pads_2511020213301.h
+++ b/drivers/sensor/wsen/wsen_pads_2511020213301/wsen_pads_2511020213301.h
@@ -10,9 +10,9 @@
#include <zephyr/drivers/gpio.h>
#include <zephyr/drivers/sensor.h>
-#include <weplatform.h>
+#include <platform.h>
-#include "WSEN_PADS_2511020213301_hal.h"
+#include <WSEN_PADS_2511020213301.h>
#include <zephyr/drivers/sensor/wsen_pads_2511020213301.h>
#if DT_ANY_INST_ON_BUS_STATUS_OKAY(spi)
diff --git a/drivers/sensor/wsen/wsen_pdus_25131308XXXXX/wsen_pdus_25131308XXXXX.c b/drivers/sensor/wsen/wsen_pdus_25131308XXXXX/wsen_pdus_25131308XXXXX.c
index 9b85f40..d659263 100644
--- a/drivers/sensor/wsen/wsen_pdus_25131308XXXXX/wsen_pdus_25131308XXXXX.c
+++ b/drivers/sensor/wsen/wsen_pdus_25131308XXXXX/wsen_pdus_25131308XXXXX.c
@@ -61,14 +61,15 @@
switch (chan) {
case SENSOR_CHAN_AMBIENT_TEMP: {
- int32_t temperature_mega = ((int32_t)(data->temperature - T_MIN_VAL_PDUS)) * 4272;
+ int32_t temperature_mega =
+ ((int32_t)(data->temperature - T_MIN_TYP_VAL_PDUS)) * 4272;
value->val1 = temperature_mega / 1000000;
value->val2 = temperature_mega % 1000000;
break;
}
case SENSOR_CHAN_PRESS: {
- int32_t pressure_temp = ((int32_t)(data->pressure - P_MIN_VAL_PDUS));
+ int32_t pressure_temp = ((int32_t)(data->pressure - P_MIN_TYP_VAL_PDUS));
/*
* these values are conversion factors based on the sensor type defined in the user
@@ -114,10 +115,9 @@
return 0;
}
-static DEVICE_API(sensor, pdus_25131308XXXXX_driver_api) = {
- .sample_fetch = pdus_25131308XXXXX_sample_fetch,
- .channel_get = pdus_25131308XXXXX_channel_get
-};
+static DEVICE_API(sensor,
+ pdus_25131308XXXXX_driver_api) = {.sample_fetch = pdus_25131308XXXXX_sample_fetch,
+ .channel_get = pdus_25131308XXXXX_channel_get};
static int pdus_25131308XXXXX_init(const struct device *dev)
{
diff --git a/drivers/sensor/wsen/wsen_pdus_25131308XXXXX/wsen_pdus_25131308XXXXX.h b/drivers/sensor/wsen/wsen_pdus_25131308XXXXX/wsen_pdus_25131308XXXXX.h
index ee065f0..c7a5314 100644
--- a/drivers/sensor/wsen/wsen_pdus_25131308XXXXX/wsen_pdus_25131308XXXXX.h
+++ b/drivers/sensor/wsen/wsen_pdus_25131308XXXXX/wsen_pdus_25131308XXXXX.h
@@ -10,9 +10,9 @@
#include <zephyr/drivers/gpio.h>
#include <zephyr/drivers/sensor.h>
-#include <weplatform.h>
+#include <platform.h>
-#include "WSEN_PDUS_25131308XXX01_hal.h"
+#include <WSEN_PDUS_25131308XXX01.h>
#include <zephyr/drivers/i2c.h>
struct pdus_25131308XXXXX_data {
diff --git a/drivers/sensor/wsen/wsen_tids_2521020222501/wsen_tids_2521020222501.h b/drivers/sensor/wsen/wsen_tids_2521020222501/wsen_tids_2521020222501.h
index 46051ac..cec6571 100644
--- a/drivers/sensor/wsen/wsen_tids_2521020222501/wsen_tids_2521020222501.h
+++ b/drivers/sensor/wsen/wsen_tids_2521020222501/wsen_tids_2521020222501.h
@@ -10,10 +10,9 @@
#include <zephyr/drivers/gpio.h>
#include <zephyr/drivers/sensor.h>
-#include <weplatform.h>
+#include <platform.h>
-#include "WSEN_TIDS_2521020222501_hal.h"
-#include <zephyr/drivers/sensor/wsen_tids_2521020222501.h>
+#include <WSEN_TIDS_2521020222501.h>
#include <zephyr/drivers/i2c.h>
diff --git a/drivers/sensor/wsen/wsen_tids_2521020222501/wsen_tids_2521020222501_trigger.c b/drivers/sensor/wsen/wsen_tids_2521020222501/wsen_tids_2521020222501_trigger.c
index 62fd442..a14f611 100644
--- a/drivers/sensor/wsen/wsen_tids_2521020222501/wsen_tids_2521020222501_trigger.c
+++ b/drivers/sensor/wsen/wsen_tids_2521020222501/wsen_tids_2521020222501_trigger.c
@@ -11,6 +11,7 @@
#include <zephyr/logging/log.h>
#include "wsen_tids_2521020222501.h"
+#include <zephyr/drivers/sensor/wsen_tids_2521020222501.h>
LOG_MODULE_DECLARE(WSEN_TIDS_2521020222501, CONFIG_SENSOR_LOG_LEVEL);
diff --git a/west.yml b/west.yml
index e65d01d..ff19064 100644
--- a/west.yml
+++ b/west.yml
@@ -275,7 +275,7 @@
groups:
- hal
- name: hal_wurthelektronik
- revision: e3e2797b224fc48fdef1bc3e5a12a7c73108bba2
+ revision: 7c1297ea071d03289112eb24e789c89c7095c0a2
path: modules/hal/wurthelektronik
groups:
- hal