# Copyright (c) 2024 Croxel, Inc.
# SPDX-License-Identifier: Apache-2.0

config UART_BT
	bool "UART over NUS Bluetooth LE"
	depends on BT_ZEPHYR_NUS
	depends on DT_HAS_ZEPHYR_NUS_UART_ENABLED
	select UART_INTERRUPT_DRIVEN
	select RING_BUFFER
	select EXPERIMENTAL
	help
	  Enable the UART over NUS Bluetooth driver, which can be used to pipe
	  serial data over Bluetooth LE GATT using NUS (Nordic UART Service).

if UART_BT

config UART_BT_WORKQUEUE_PRIORITY
	int "UART NUS Work-queue Priority"
	default MAIN_THREAD_PRIORITY
	help
	  Select UART NUS Work-queue priority based on the application context.

config UART_BT_WORKQUEUE_STACK_SIZE
	int "UART NUS Work-queue Stack Size"
	default 1024
	help
	  Set UART NUS Work-queue Stack-size based on the application context.

endif
