diff --git a/zephyr/CMakeLists.txt b/zephyr/CMakeLists.txt index 5364f17e..0114d381 100644 --- a/zephyr/CMakeLists.txt +++ b/zephyr/CMakeLists.txt @@ -28,6 +28,9 @@ message(STATUS "BACNETSTACK: BACDL_ARCNET \"${CONFIG_BACDL_ARCNET}\"") message(STATUS "BACNETSTACK: BACDL_MSTP \"${CONFIG_BACDL_MSTP}\"") message(STATUS "BACNETSTACK: BACDL_ETHERNET \"${CONFIG_BACDL_ETHERNET}\"") message(STATUS "BACNETSTACK: BACDL_NONE \"${CONFIG_BACDL_NONE}\"") +message(STATUS "BACNETSTACK: BACAPP_ALL \"${CONFIG_BACAPP_ALL}\"") +message(STATUS "BACNETSTACK: BACAPP_MINIMAL \"${CONFIG_BACAPP_MINIMAL}\"") +message(STATUS "BACNETSTACK: BACAPP_TYPES_EXTRA \"${CONFIG_BACAPP_TYPES_EXTRA}\"") message(STATUS "BACNETSTACK: BACNET_ADDRESS_CACHE_FILE \"${CONFIG_BACNET_ADDRESS_CACHE_FILE}\"") message(STATUS "BACNETSTACK: MAX_TSM_TRANSACTIONS \"${CONFIG_BACNET_MAX_TSM_TRANSACTIONS}\"") message(STATUS "BACNETSTACK: MAX_ADDRESS_CACHE \"${CONFIG_BACNET_MAX_ADDRESS_CACHE}\"") @@ -446,29 +449,7 @@ add_subdirectory(subsys) zephyr_library() zephyr_library_compile_definitions( - BACNET_VENDOR_ID=${CONFIG_BACNET_VENDOR_ID} - BACNET_VENDOR_NAME="${CONFIG_BACNET_VENDOR_NAME}" - BACNET_PROTOCOL_REVISION=${CONFIG_BACNET_PROTOCOL_REVISION} - $<$:BACDL_BIP> - $<$:BACDL_BIP_PORT=${CONFIG_BACDL_BIP_PORT}> - $<$:MAX_BBMD_ENTRIES=${CONFIG_MAX_BBMD_ENTRIES}> - $<$:MAX_FD_ENTRIES=${CONFIG_MAX_FD_ENTRIES}> - $<$:BACDL_BIP6> - $<$:BACDL_ARCNET> - $<$:BACDL_MSTP> - $<$:BACDL_ETHERNET> - $<$:BACDL_NONE> - $<$:BACNET_BASIC_OBJECTS> - $<$:BACNET_PROPERTY_LISTS=1> - $<$:BACNET_PROPERTY_ARRAY_LISTS=1> - $<$:BACNET_ROUTING> - $<$:BACAPP_PRINT_ENABLED=1> - $<$:BACAPP_SNPRINTF_ENABLED=1> - $<$:BACNET_ADDRESS_CACHE_FILE=1> - MAX_TSM_TRANSACTIONS=${CONFIG_BACNET_MAX_TSM_TRANSACTIONS} - MAX_ADDRESS_CACHE=${CONFIG_BACNET_MAX_ADDRESS_CACHE} - MAX_CHARACTER_STRING_BYTES=${CONFIG_BACNET_MAX_CHARACTER_STRING_BYTES} - MAX_OCTET_STRING_BYTES=${CONFIG_BACNET_MAX_OCTET_STRING_BYTES} + BACNET_STACK_STATIC_DEFINE ) zephyr_library_sources( @@ -480,11 +461,14 @@ zephyr_include_directories( ${BACNETSTACK_SRC} ) -target_compile_definitions( - app PRIVATE +zephyr_compile_definitions( + BACNET_CONFIG_H=1 # Use ports/zephyr/bacnet-config.h BACNET_VENDOR_ID=${CONFIG_BACNET_VENDOR_IDENTIFIER} BACNET_VENDOR_NAME="${CONFIG_BACNET_VENDOR_NAME}" BACNET_PROTOCOL_REVISION=${CONFIG_BACNET_PROTOCOL_REVISION} + # datalink API + $<$:BACDL_NONE> + $<$:BACAPP_ALL> $<$:BACDL_BIP> $<$:BACDL_BIP_PORT=${CONFIG_BACDL_BIP_PORT}> $<$:MAX_BBMD_ENTRIES=${CONFIG_MAX_BBMD_ENTRIES}> @@ -493,7 +477,8 @@ target_compile_definitions( $<$:BACDL_ARCNET> $<$:BACDL_MSTP> $<$:BACDL_ETHERNET> - $<$:BACDL_NONE> + # library features + $<$:BACNET_BASIC_OBJECTS> $<$:BACNET_PROPERTY_LISTS=1> $<$:BACNET_PROPERTY_ARRAY_LISTS=1> $<$:BACNET_ROUTING> @@ -504,11 +489,36 @@ target_compile_definitions( MAX_ADDRESS_CACHE=${CONFIG_BACNET_MAX_ADDRESS_CACHE} MAX_CHARACTER_STRING_BYTES=${CONFIG_BACNET_MAX_CHARACTER_STRING_BYTES} MAX_OCTET_STRING_BYTES=${CONFIG_BACNET_MAX_OCTET_STRING_BYTES} - BACNET_STACK_STATIC_DEFINE - PRINT_ENABLED=1 - ) - -zephyr_compile_definitions( - BACNET_CONFIG_H=1 # Use ports/zephyr/bacnet-config.h - ) + # BACnet data types supported for WriteProperty: all = minimal + extra + $<$:BACAPP_ALL> + $<$:BACAPP_MINIMAL> + $<$:BACAPP_TYPES_EXTRA> + # BACnet data types supported for WriteProperty: any individual overrides all + $<$:BACAPP_NULL> + $<$:BACAPP_BOOLEAN> + $<$:BACAPP_UNSIGNED> + $<$:BACAPP_SIGNED> + $<$:BACAPP_REAL> + $<$:BACAPP_DOUBLE> + $<$:BACAPP_OCTET_STRING> + $<$:BACAPP_CHARACTER_STRING> + $<$:BACAPP_BIT_STRING> + $<$:BACAPP_ENUMERATED> + $<$:BACAPP_DATE> + $<$:BACAPP_TIME> + $<$:BACAPP_OBJECT_ID> + $<$:BACAPP_DATETIME> + $<$:BACAPP_DATERANGE> + $<$:BACAPP_LIGHTING_COMMAND> + $<$:BACAPP_XY_COLOR> + $<$:BACAPP_COLOR_COMMAND> + $<$:BACAPP_WEEKLY_SCHEDULE> + $<$:BACAPP_CALENDAR_ENTRY> + $<$:BACAPP_SPECIAL_EVENT> + $<$:BACAPP_HOST_N_PORT> + $<$:BACAPP_DEVICE_OBJECT_PROPERTY_REFERENCE> + $<$:BACAPP_DEVICE_OBJECT_REFERENCE> + $<$:BACAPP_OBJECT_PROPERTY_REFERENCE> + $<$:BACAPP_DESTINATION> + ) \ No newline at end of file diff --git a/zephyr/Kconfig b/zephyr/Kconfig index bd05446e..395e19a7 100644 --- a/zephyr/Kconfig +++ b/zephyr/Kconfig @@ -74,13 +74,196 @@ config BACDL_NONE help Enable BACnet without datalink +config BACAPP_ALL + bool "BACnet data types supported for WriteProperty: all = minimal + extra" + default false + help + BACnet data types supported for WriteProperty: all = minimal + extra + +config BACAPP_MINIMAL + bool "BACnet data types supported for WriteProperty: minimal" + default true + help + BACnet data types supported for WriteProperty include: + NULL, BOOLEAN, UNSIGNED, SIGNED, REAL, CHARACTER_STRING, + OCTET_STRING, BIT_STRING, ENUMERATED, DATE, TIME, OBJECT_ID + +config BACAPP_TYPES_EXTRA + bool "BACnet data types supported for WriteProperty: extra" + default false + help + BACnet data types supported for WriteProperty include: + DOUBLE, TIMESTAMP, DATETIME, DATERANGE, + LIGHTING_COMMAND, XY_COLOR, COLOR_COMMAND, WEEKLY_SCHEDULE, + CALENDAR_ENTRY, SPECIAL_EVENT, HOST_N_PORT, + DEVICE_OBJECT_PROPERTY_REFERENCE, DEVICE_OBJECT_REFERENCE, + OBJECT_PROPERTY_REFERENCE, DESTINATION + +config BACAPP_NULL + bool "BACnet data types supported for WriteProperty: NULL" + default false + help + BACnet data types supported for WriteProperty: NULL + +config BACAPP_BOOLEAN + bool "BACnet data types supported for WriteProperty: BOOLEAN" + default false + help + BACnet data types supported for WriteProperty: BOOLEAN + +config BACAPP_UNSIGNED + bool "BACnet data types supported for WriteProperty: UNSIGNED" + default false + help + BACnet data types supported for WriteProperty: UNSIGNED + +config BACAPP_SIGNED + bool "BACnet data types supported for WriteProperty: SIGNED" + default false + help + BACnet data types supported for WriteProperty: SIGNED + +config BACAPP_REAL + bool "BACnet data types supported for WriteProperty: REAL" + default false + help + BACnet data types supported for WriteProperty: REAL + +config BACAPP_DOUBLE + bool "BACnet data types supported for WriteProperty: DOUBLE" + default false + help + BACnet data types supported for WriteProperty: DOUBLE + +config BACAPP_OCTET_STRING + bool "BACnet data types supported for WriteProperty: OCTET_STRING" + default false + help + BACnet data types supported for WriteProperty: OCTET_STRING + +config BACAPP_CHARACTER_STRING + bool "BACnet data types supported for WriteProperty: CHARACTER_STRING" + default false + help + BACnet data types supported for WriteProperty: CHARACTER_STRING + +config BACAPP_BIT_STRING + bool "BACnet data types supported for WriteProperty: BIT_STRING" + default false + help + BACnet data types supported for WriteProperty: BIT_STRING + +config BACAPP_ENUMERATED + bool "BACnet data types supported for WriteProperty: ENUMERATED" + default false + help + BACnet data types supported for WriteProperty: ENUMERATED + +config BACAPP_DATE + bool "BACnet data types supported for WriteProperty: DATE" + default false + help + BACnet data types supported for WriteProperty: DATE + +config BACAPP_TIME + bool "BACnet data types supported for WriteProperty: TIME" + default false + help + BACnet data types supported for WriteProperty: TIME + +config BACAPP_OBJECT_ID + bool "BACnet data types supported for WriteProperty: OBJECT_ID" + default false + help + BACnet data types supported for WriteProperty: OBJECT_ID + +config BACAPP_DATETIME + bool "BACnet data types supported for WriteProperty: DATETIME" + default false + help + BACnet data types supported for WriteProperty: DATETIME + +config BACAPP_DATERANGE + bool "BACnet data types supported for WriteProperty: DATERANGE" + default false + help + BACnet data types supported for WriteProperty: DATERANGE + +config BACAPP_LIGHTING_COMMAND + bool "BACnet data types supported for WriteProperty: LIGHTING_COMMAND" + default false + help + BACnet data types supported for WriteProperty: LIGHTING_COMMAND + +config BACAPP_XY_COLOR + bool "BACnet data types supported for WriteProperty: XY_COLOR" + default false + help + BACnet data types supported for WriteProperty: XY_COLOR + +config BACAPP_COLOR_COMMAND + bool "BACnet data types supported for WriteProperty: COLOR_COMMAND" + default false + help + BACnet data types supported for WriteProperty: COLOR_COMMAND + +config BACAPP_WEEKLY_SCHEDULE + bool "BACnet data types supported for WriteProperty: WEEKLY_SCHEDULE" + default false + help + BACnet data types supported for WriteProperty: WEEKLY_SCHEDULE + +config BACAPP_CALENDAR_ENTRY + bool "BACnet data types supported for WriteProperty: CALENDAR_ENTRY" + default false + help + BACnet data types supported for WriteProperty: CALENDAR_ENTRY + +config BACAPP_SPECIAL_EVENT + bool "BACnet data types supported for WriteProperty: SPECIAL_EVENT" + default false + help + BACnet data types supported for WriteProperty: SPECIAL_EVENT + +config BACAPP_HOST_N_PORT + bool "BACnet data types supported for WriteProperty: HOST_N_PORT" + default false + help + BACnet data types supported for WriteProperty: HOST_N_PORT + +config BACAPP_DEVICE_OBJECT_PROPERTY_REFERENCE + bool "BACnet data types supported for WriteProperty: DEVICE_OBJECT_PROPERTY_REFERENCE" + default false + help + BACnet data types supported for WriteProperty: DEVICE_OBJECT_PROPERTY_REFERENCE + +config BACAPP_DEVICE_OBJECT_REFERENCE + bool "BACnet data types supported for WriteProperty: DEVICE_OBJECT_REFERENCE" + default false + help + BACnet data types supported for WriteProperty: DEVICE_OBJECT_REFERENCE + +config BACAPP_OBJECT_PROPERTY_REFERENCE + bool "BACnet data types supported for WriteProperty: OBJECT_PROPERTY_REFERENCE" + default false + help + BACnet data types supported for WriteProperty: OBJECT_PROPERTY_REFERENCE + +config BACAPP_DESTINATION + bool "BACnet data types supported for WriteProperty: DESTINATION" + default false + help + BACnet data types supported for WriteProperty: DESTINATION + config BACAPP_PRINT_ENABLED bool "BACnet app print" + default false help Enable BACnet app print config BACAPP_SNPRINTF_ENABLED bool "BACnet app snprintf" + default false help Enable BACnet app snprintf @@ -162,6 +345,12 @@ config BACNET_MAX_OCTET_STRING_BYTES help Maximum number of bytes in a BACnet octet string +config BACNET_STORAGE_BASE_NAME + string "BACnet storage base name for settings subsystem" + default "bacnet" + help + BACnet storage base name for settings subsystem + config BACNET_ADDRESS_CACHE_FILE bool "BACnet Address Cache file functionality" help