Skip to content

Commit 731a9a4

Browse files
committed
drivers: sensor: Add driver for MAX32664C
- Add DTS for MAX32664C - Add driver for MAX32664C - Add example for MAX32664C Heart rate measurement with Bluetooth - Add private attributes and channels for health measurement Closes: #93473 Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke.de>
1 parent 1f69b91 commit 731a9a4

File tree

19 files changed

+3140
-0
lines changed

19 files changed

+3140
-0
lines changed

drivers/sensor/adi/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ add_subdirectory_ifdef(CONFIG_ADXL345 adxl345)
1010
add_subdirectory_ifdef(CONFIG_ADXL362 adxl362)
1111
add_subdirectory_ifdef(CONFIG_ADXL367 adxl367)
1212
add_subdirectory_ifdef(CONFIG_ADXL372 adxl372)
13+
add_subdirectory_ifdef(CONFIG_SENSOR_MAX32664C max32664c)
1314
# zephyr-keep-sorted-stop

drivers/sensor/adi/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ source "drivers/sensor/adi/adxl345/Kconfig"
1010
source "drivers/sensor/adi/adxl362/Kconfig"
1111
source "drivers/sensor/adi/adxl367/Kconfig"
1212
source "drivers/sensor/adi/adxl372/Kconfig"
13+
source "drivers/sensor/adi/max32664c/Kconfig"
1314
# zephyr-keep-sorted-stop
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
zephyr_library()
4+
5+
zephyr_sources_ifdef(CONFIG_MAX32664C_USE_FIRMWARE_LOADER max32664c_bl.c)
6+
7+
zephyr_sources_ifdef(CONFIG_MAX32664C_USE_INTERRUPT max32664c_interrupt.c)
8+
9+
zephyr_sources_ifdef(CONFIG_SENSOR_MAX32664C max32664c.c
10+
max32664c_worker.c
11+
max32664c_init.c
12+
max32664c_acc.c
13+
)

drivers/sensor/adi/max32664c/Kconfig

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Copyright(c) 2025, Daniel Kampert
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SENSOR_MAX32664C
5+
bool "MAX32664C Driver"
6+
default y
7+
depends on DT_HAS_MAXIM_MAX32664C_ENABLED
8+
select I2C
9+
help
10+
Enable the driver for the MAX32664C biometric sensor hub.
11+
12+
if SENSOR_MAX32664C
13+
config MAX32664C_USE_FIRMWARE_LOADER
14+
bool "Use this option if you want to flash the sensor hub over the I2C firmware loader"
15+
16+
config MAX32664C_USE_EXTERNAL_ACC
17+
bool "Use this option if you want to use an external accelerometer"
18+
19+
config MAX32664C_USE_EXTENDED_REPORTS
20+
bool "Use this option if you want to use extended reports instead of the default reports"
21+
22+
config MAX32664C_USE_STATIC_MEMORY
23+
bool "Disable this option if the driver should use dynamic memory"
24+
default y
25+
26+
config MAX32664C_QUEUE_SIZE
27+
int "Length of the message queue"
28+
default 32
29+
30+
config MAX32664C_SAMPLE_BUFFER_SIZE
31+
depends on MAX32664C_USE_STATIC_MEMORY
32+
int "Length of the sample buffer for the I2C reading thread"
33+
default 64
34+
help
35+
This is the number of samples that will be read from the sensor hub in one go.
36+
The maximum value is 64, but you can set it lower if you want to reduce memory usage.
37+
38+
config MAX32664C_THREAD_STACK_SIZE
39+
int "MAX32664C sample thread stack size"
40+
default 4096
41+
42+
config MAX32664C_USE_INTERRUPT
43+
bool "Use this option if you want to use the MFIO interrupt support"
44+
depends on GPIO
45+
endif
46+

0 commit comments

Comments
 (0)