# Feature configuration options for BACnet-Stack

# Copyright (c) 2020 Legrand North America, LLC.
# SPDX-License-Identifier: MIT

menuconfig BACNETSTACK
	bool "BACnet-Stack Support"
	select REQUIRES_FULL_LIBC
	help
	  This option enables the BACnet-Stack BACnet library.

if BACNETSTACK

module = BACNETSTACK
module-str = Log level for BACnet
module-help = Enable BACnet library to output debug messages
source "$(ZEPHYR_BASE)/subsys/logging/Kconfig.template.log_config"

config BAC_ROUTING
	bool "BACnet Routing"
	help
	  Enable BACnet routing

config BACNET_PROPERTY_LISTS
	bool "BACnet Property Lists"
	help
	  Enable BACnet Property Lists

config BACDL_ETHERNET
	bool "BACnet Ethernet datalink"
	help
	  Enable BACnet Ethernet datalink

config BACDL_MSTP
	bool "BACnet MSTP datalink"
	help
	  Enable BACnet MSTP datalink

config BACDL_ARCNET
	bool "BACnet ARCNET datalink"
	help
	  Enable BACnet ARCNET datalink

config BACDL_BIP
	bool "BACnet BIP datalink"
	help
	  Enable BACnet BIP datalink

config BACDL_NONE
	bool "BACnet without datalink"
	help
	  Enable BACnet without datalink

config BACAPP_PRINT_ENABLED
	bool "BACnet app print"
	help
		Enable BACnet app print

config BACAPP_SNPRINTF_ENABLED
	bool "BACnet app snprintf"
	help
		Enable BACnet app snprintf

config BACDL_BIP_PORT
	int "BACnet IPv4 UDP port"
	default 47808
	depends on BACDL_BIP
	help
		UDP port to listen on (default=47808)

config BACDL_BIP_ADDRESS_INDEX
	int "Address index"
	depends on BACDL_BIP
	default 0
	help
		Select IPv4 address

config BACDL_BIP6
	bool "BACnet BIP6"
	help
	  Enable BACnet BIP6

config BACDL_BIP6_ADDRESS_INDEX
	int "Unicast address index"
	depends on BACDL_BIP6
	default 0
	help
		Select IPv6 unicast address

config BACDL_BIP6_MCAST_ADDRESS
	string "IPv6 multicast destination"
	default "FF0E::BAC0"
	depends on BACDL_BIP6
	help
		IPv6 multicast group address for BACNET.

config BACDL_BIP6_PORT
	int "BACnet IPv6 UDP port"
	default 47808
	depends on BACDL_BIP6
	help
		UDP port to listen on (default=47808)

config BACNET_ADDRESS_CACHE_FILE
	bool "BACnet Address Cache file functionality"
	help
		BACnet Address Cache file functionality

config BACNET_USE_SECTION_ITERABLE_OBJECT_TABLE
	bool "Use the Section Iterable for the Object Table"
	default true
	help
		Use the Section Iterable for the Object Table

rsource "subsys/Kconfig"

endif # BACNETSTACK
