Added Zephyr settings and basic device in subsys. (#697)

* Added Zephyr settings subsys to enable storing of BACnet values according to BACnet object property value path.

* Added BACnet Basic features to enable basic samples. Refactored the zephyr BACnet profile B-SS sample to use BACnet basic subsys.
This commit is contained in:
Steve Karg
2024-07-19 17:12:20 -05:00
committed by GitHub
parent 90714c094c
commit 1e889b633c
33 changed files with 3400 additions and 213 deletions
+101 -54
View File
@@ -1,83 +1,130 @@
# General config
#CONFIG_ASSERT=y
#CONFIG_ASSERT_LEVEL=2
#CONFIG_ASSERT_VERBOSE=y
# Compiler library config
#CONFIG_PICOLIBC=y
#CONFIG_PICOLIBC_USE_MODULE=y
#CONFIG_REQUIRES_FULL_LIBC=y
#CONFIG_MINIMAL_LIBC=y
# system
# some heap is needed for the shell
CONFIG_HEAP_MEM_POOL_SIZE=2048
CONFIG_KERNEL_MEM_POOL=y
CONFIG_MAIN_THREAD_PRIORITY=7
#CONFIG_PICOLIBC=y
CONFIG_ISR_STACK_SIZE=8192
CONFIG_MAIN_STACK_SIZE=8192
CONFIG_IDLE_STACK_SIZE=2048
CONFIG_INIT_STACKS=y
# BACnet Library
CONFIG_BACNETSTACK=y
CONFIG_BACNETSTACK_BACNET_BASIC=y
# BACnet Library - options
CONFIG_BACNET_MAX_CHARACTER_STRING_BYTES=128
CONFIG_BACAPP_MINIMAL=y
CONFIG_BACNET_PROPERTY_ARRAY_LISTS=y
# BACnet Library - objects
CONFIG_BACNET_BASIC_OBJECT_NETWORK_PORT=y
CONFIG_BACNET_BASIC_OBJECT_ANALOG_INPUT=y
# BACnet Library - shell
CONFIG_BACNET_BASIC_DEVICE_SHELL=y
# BACnet settings subsystem
#CONFIG_BACNETSTACK_BACNET_SETTINGS=y
#CONFIG_BACNET_SETTINGS=y
#CONFIG_BACNET_SETTINGS_SHELL=y
# BIP Options
CONFIG_BACDL_BIP=y
CONFIG_BACDL_BIP_PORT=47808
CONFIG_BACDL_BIP_ADDRESS_INDEX=0
CONFIG_NET_IPV4=y
CONFIG_NET_DHCPV4=y
CONFIG_NET_IPV4_AUTO=y
#CONFIG_NET_CONFIG_SETTINGS=y
#CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.168.1.80"
#CONFIG_NET_CONFIG_MY_IPV4_NETMASK="255.255.255.0"
#CONFIG_NET_CONFIG_MY_IPV4_GW="192.168.1.1"
#CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.168.1.1"
CONFIG_NET_IF_UNICAST_IPV4_ADDR_COUNT=4
# BIP6 Options
#CONFIG_BACDL_BIP6=y
CONFIG_BACDL_BIP6_PORT=47808
CONFIG_BACDL_BIP6_ADDRESS_INDEX=1
CONFIG_NET_IPV6_MLD=y
CONFIG_NET_IPV4=n
CONFIG_NET_ARP=n
CONFIG_BACDL_BIP6_ADDRESS_INDEX=0
CONFIG_BACDL_BIP6_MCAST_ADDRESS="FE80::0020" # YABE unicast workaround
CONFIG_NEWLIB_LIBC=y
# pthreads
CONFIG_POSIX_API=y
CONFIG_PTHREAD_IPC=y
CONFIG_POSIX_MQUEUE=y
#CONFIG_BACDL_BIP6_PORT=47808
#CONFIG_BACDL_BIP6_ADDRESS_INDEX=0
#CONFIG_BACDL_BIP6_MCAST_ADDRESS="FE80::0020"
#CONFIG_NET_IPV6=y
#CONFIG_NET_IPV6_MLD=y
#CONFIG_NET_CONFIG_MY_IPV6_ADDR="FE80::0010"
#CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=4
#CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=4
# networking
CONFIG_NETWORKING=y
CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=y
CONFIG_NET_ARP=y
CONFIG_NET_TCP=y
#CONFIG_NET_ARP=y
#CONFIG_NET_TCP=y
CONFIG_NET_UDP=y
#CONFIG_NET_DHCPV4=y
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y
CONFIG_NET_SHELL=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_CONFIG_SETTINGS=y
CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.168.10.80"
CONFIG_NET_CONFIG_MY_IPV4_NETMASK="255.255.255.0"
CONFIG_NET_CONFIG_MY_IPV4_GW="192.168.10.1"
CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.168.10.1"
CONFIG_NET_LLDP=y
CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=4
CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=4
CONFIG_NET_CONFIG_MY_IPV6_ADDR="FE80::0010"
# Promiscuous mode on layer 2 is required to receive IPv6 multicasts.
# Ethernet hardware will not respond to MAC 33:33:x:x:x:x without this:
CONFIG_ETH_MCUX_PROMISCUOUS_MODE=y
#CONFIG_LOG_STRDUP_BUF_COUNT=4
#CONFIG_LOG_STRDUP_MAX_STRING=96
CONFIG_DNS_RESOLVER=y
CONFIG_SLIP_STATISTICS=n
CONFIG_NET_SHELL=y
#CONFIG_DNS_RESOLVER=y
#CONFIG_SLIP_STATISTICS=n
CONFIG_NET_TX_STACK_SIZE=8192
CONFIG_NET_RX_STACK_SIZE=8192
CONFIG_NET_IF_UNICAST_IPV4_ADDR_COUNT=4
# logging
# Enable Shell, Console, and Logging features
CONFIG_CONSOLE=y
CONFIG_PRINTK=y
CONFIG_SHELL=y
CONFIG_KERNEL_SHELL=y
CONFIG_THREAD_MONITOR=y
#CONFIG_BOOT_BANNER=n
CONFIG_THREAD_NAME=y
CONFIG_DEVICE_SHELL=y
#CONFIG_POSIX_CLOCK=y
#CONFIG_DATE_SHELL=y
CONFIG_LOG=y
#CONFIG_LOG_STRDUP_BUF_COUNT=4
#CONFIG_LOG_STRDUP_MAX_STRING=96
#CONFIG_NET_CONN_LOG_LEVEL_DEFAULT=n
#CONFIG_NET_CONN_LOG_LEVEL_DBG=y
#CONFIG_NET_IF_LOG_LEVEL_DEFAULT=n
CONFIG_NET_IF_LOG_LEVEL_DBG=y
CONFIG_NET_LOG=y
CONFIG_LOG=y
CONFIG_BACNETSTACK_LOG_LEVEL_DBG=y
# system
CONFIG_ISR_STACK_SIZE=8192
CONFIG_MAIN_STACK_SIZE=8192
CONFIG_IDLE_STACK_SIZE=2048
# enable the thread, stack, and runtime stats
#CONFIG_THREAD_ANALYZER=y
#CONFIG_THREAD_STACK_INFO=y
#CONFIG_THREAD_RUNTIME_STATS=y
#CONFIG_THREAD_RUNTIME_STATS_USE_TIMING_FUNCTIONS=n
#CONFIG_SCHED_THREAD_USAGE=y
#CONFIG_SCHED_THREAD_USAGE_ANALYSIS=y
#CONFIG_STATS=y
#CONFIG_STATS_SHELL=y
#
# Storage
#
#CONFIG_FLASH=y
#CONFIG_FLASH_MAP=y
#CONFIG_FLASH_PAGE_LAYOUT=y
# native_posix uses a simulated flash
#CONFIG_FLASH_SIMULATOR=y
#CONFIG_DISK_ACCESS=y.
#CONFIG_FILE_SYSTEM=y
#CONFIG_FILE_SYSTEM_LITTLEFS=y
#CONFIG_FILE_SYSTEM_SHELL=y
#CONFIG_NVS=y
#CONFIG_SETTINGS=y
#CONFIG_SETTINGS_NVS=y
#CONFIG_SETTINGS_RUNTIME=y
#CONFIG_SETTINGS_FILE=y
#CONFIG_SETTINGS_SHELL=y
CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_INIT_STACKS=y
CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=131072