Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions drivers/sensor/tdk/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
add_subdirectory_ifdef(CONFIG_ICM42605 icm42605)
add_subdirectory_ifdef(CONFIG_ICM42688 icm42688)
add_subdirectory_ifdef(CONFIG_ICM42X70 icm42x70)
add_subdirectory_ifdef(CONFIG_ICM45686 icm45686)
add_subdirectory_ifdef(CONFIG_ICP101XX icp101xx)
add_subdirectory_ifdef(CONFIG_MPU6050 mpu6050)
add_subdirectory_ifdef(CONFIG_MPU9250 mpu9250)
Expand Down
1 change: 1 addition & 0 deletions drivers/sensor/tdk/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
source "drivers/sensor/tdk/icm42605/Kconfig"
source "drivers/sensor/tdk/icm42688/Kconfig"
source "drivers/sensor/tdk/icm42x70/Kconfig"
source "drivers/sensor/tdk/icm45686/Kconfig"
source "drivers/sensor/tdk/icp101xx/Kconfig"
source "drivers/sensor/tdk/mpu6050/Kconfig"
source "drivers/sensor/tdk/mpu9250/Kconfig"
Expand Down
15 changes: 15 additions & 0 deletions drivers/sensor/tdk/icm45686/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright (c) 2025 Croxel Inc.
# Copyright (c) 2025 CogniPilot Foundation
# SPDX-License-Identifier: Apache-2.0

zephyr_library()
zephyr_library_include_directories(.)
zephyr_library_sources(
icm45686.c
)
zephyr_library_sources_ifdef(CONFIG_SENSOR_ASYNC_API
icm45686_decoder.c
)
zephyr_library_sources_ifdef(CONFIG_ICM45686_TRIGGER
icm45686_trigger.c
)
57 changes: 57 additions & 0 deletions drivers/sensor/tdk/icm45686/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Copyright (c) 2025 Croxel Inc.
# Copyright (c) 2025 CogniPilot Foundation
# SPDX-License-Identifier: Apache-2.0

menuconfig ICM45686
bool "ICM45686 High-precision 6-Axis Motion Tracking Device"
default y
depends on DT_HAS_INVENSENSE_ICM45686_ENABLED
select SPI
select SPI_RTIO
help
Enable driver for ICM45686 High-precision 6-axis motion
tracking device.

if ICM45686

choice
prompt "Trigger mode"
default ICM45686_TRIGGER_GLOBAL_THREAD
help
Specify the type of triggering to be used by the driver

config ICM45686_TRIGGER_NONE
bool "No trigger"

config ICM45686_TRIGGER_GLOBAL_THREAD
bool "Use global thread"
depends on GPIO
depends on $(dt_compat_any_has_prop,$(DT_COMPAT_INVENSENSE_ICM45686),int-gpios)
select ICM45686_TRIGGER

config ICM45686_TRIGGER_OWN_THREAD
bool "Use own thread"
depends on GPIO
depends on $(dt_compat_any_has_prop,$(DT_COMPAT_INVENSENSE_ICM45686),int-gpios)
select ICM45686_TRIGGER

endchoice

config ICM45686_TRIGGER
bool

config ICM45686_THREAD_PRIORITY
int "Own thread priority"
depends on ICM45686_TRIGGER_OWN_THREAD
default 10
help
The priority of the thread used for handling triggers.

config ICM45686_THREAD_STACK_SIZE
int "Own thread stack size"
depends on ICM45686_TRIGGER_OWN_THREAD
default 1024
help
The thread stack size.

endif # ICM45686
Loading
Loading