# SM351LT Magnetoresitive Sensor configuration options

# Copyright (c) 2020, Laird Connectivity
# SPDX-License-Identifier: Apache-2.0

menuconfig SM351LT
	bool "SM351LT Magnetoresistive Sensor"
	depends on (GPIO)
	help
	  Enable GPIO-based driver for SM351LT magnetoresistive
	  sensor.

if SM351LT

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

config SM351LT_TRIGGER_NONE
	bool "No trigger"

config SM351LT_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	select SM351LT_TRIGGER

config SM351LT_TRIGGER_OWN_THREAD
	bool "Use own thread"
	select SM351LT_TRIGGER

endchoice

config SM351LT_TRIGGER
	bool

config SM351LT_THREAD_PRIORITY
	int "Thread priority"
	depends on SM351LT_TRIGGER_OWN_THREAD
	default 10
	help
	  Priority of thread used by the driver to handle interrupts.

config SM351LT_THREAD_STACK_SIZE
	int "Thread stack size"
	depends on SM351LT_TRIGGER_OWN_THREAD
	default 512
	help
	  Stack size of thread used by the driver to handle interrupts.

endif # SM351LT
