Added BACAPP Kconfig options for Zephyr OS builds. (#655)

This commit is contained in:
Steve Karg
2024-05-29 15:06:05 -05:00
committed by GitHub
parent bd52b5e174
commit 83ac107258
2 changed files with 232 additions and 33 deletions
+43 -33
View File
@@ -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}
$<$<BOOL:${CONFIG_BACDL_BIP}>:BACDL_BIP>
$<$<BOOL:${CONFIG_BACDL_BIP_PORT}>:BACDL_BIP_PORT=${CONFIG_BACDL_BIP_PORT}>
$<$<BOOL:${CONFIG_MAX_BBMD_ENTRIES}>:MAX_BBMD_ENTRIES=${CONFIG_MAX_BBMD_ENTRIES}>
$<$<BOOL:${CONFIG_MAX_FD_ENTRIES}>:MAX_FD_ENTRIES=${CONFIG_MAX_FD_ENTRIES}>
$<$<BOOL:${CONFIG_BACDL_BIP6}>:BACDL_BIP6>
$<$<BOOL:${CONFIG_BACDL_ARCNET}>:BACDL_ARCNET>
$<$<BOOL:${CONFIG_BACDL_MSTP}>:BACDL_MSTP>
$<$<BOOL:${CONFIG_BACDL_ETHERNET}>:BACDL_ETHERNET>
$<$<BOOL:${CONFIG_BACDL_NONE}>:BACDL_NONE>
$<$<BOOL:${CONFIG_BACNET_BASIC_OBJECTS}>:BACNET_BASIC_OBJECTS>
$<$<BOOL:${CONFIG_BACNET_PROPERTY_LISTS}>:BACNET_PROPERTY_LISTS=1>
$<$<BOOL:${CONFIG_BACNET_PROPERTY_ARRAY_LISTS}>:BACNET_PROPERTY_ARRAY_LISTS=1>
$<$<BOOL:${CONFIG_BACNET_ROUTING}>:BACNET_ROUTING>
$<$<BOOL:${CONFIG_BACAPP_PRINT_ENABLED}>:BACAPP_PRINT_ENABLED=1>
$<$<BOOL:${CONFIG_BACAPP_SNPRINTF_ENABLED}>:BACAPP_SNPRINTF_ENABLED=1>
$<$<BOOL:${CONFIG_BACNET_ADDRESS_CACHE_FILE}>: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
$<$<BOOL:${CONFIG_BACDL_NONE}>:BACDL_NONE>
$<$<BOOL:${CONFIG_BACDL_NONE}>:BACAPP_ALL>
$<$<BOOL:${CONFIG_BACDL_BIP}>:BACDL_BIP>
$<$<BOOL:${CONFIG_BACDL_BIP_PORT}>:BACDL_BIP_PORT=${CONFIG_BACDL_BIP_PORT}>
$<$<BOOL:${CONFIG_MAX_BBMD_ENTRIES}>:MAX_BBMD_ENTRIES=${CONFIG_MAX_BBMD_ENTRIES}>
@@ -493,7 +477,8 @@ target_compile_definitions(
$<$<BOOL:${CONFIG_BACDL_ARCNET}>:BACDL_ARCNET>
$<$<BOOL:${CONFIG_BACDL_MSTP}>:BACDL_MSTP>
$<$<BOOL:${CONFIG_BACDL_ETHERNET}>:BACDL_ETHERNET>
$<$<BOOL:${CONFIG_BACDL_NONE}>:BACDL_NONE>
# library features
$<$<BOOL:${CONFIG_BACNET_BASIC_OBJECTS}>:BACNET_BASIC_OBJECTS>
$<$<BOOL:${CONFIG_BACNET_PROPERTY_LISTS}>:BACNET_PROPERTY_LISTS=1>
$<$<BOOL:${CONFIG_BACNET_PROPERTY_ARRAY_LISTS}>:BACNET_PROPERTY_ARRAY_LISTS=1>
$<$<BOOL:${CONFIG_BACNET_ROUTING}>: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
$<$<BOOL:${CONFIG_BACAPP_ALL}>:BACAPP_ALL>
$<$<BOOL:${CONFIG_BACAPP_MINIMAL}>:BACAPP_MINIMAL>
$<$<BOOL:${CONFIG_BACAPP_TYPES_EXTRA}>:BACAPP_TYPES_EXTRA>
# BACnet data types supported for WriteProperty: any individual overrides all
$<$<BOOL:${CONFIG_BACAPP_NULL}>:BACAPP_NULL>
$<$<BOOL:${CONFIG_BACAPP_BOOLEAN}>:BACAPP_BOOLEAN>
$<$<BOOL:${CONFIG_BACAPP_UNSIGNED}>:BACAPP_UNSIGNED>
$<$<BOOL:${CONFIG_BACAPP_SIGNED}>:BACAPP_SIGNED>
$<$<BOOL:${CONFIG_BACAPP_REAL}>:BACAPP_REAL>
$<$<BOOL:${CONFIG_BACAPP_DOUBLE}>:BACAPP_DOUBLE>
$<$<BOOL:${CONFIG_BACAPP_OCTET_STRING}>:BACAPP_OCTET_STRING>
$<$<BOOL:${CONFIG_BACAPP_CHARACTER_STRING}>:BACAPP_CHARACTER_STRING>
$<$<BOOL:${CONFIG_BACAPP_BIT_STRING}>:BACAPP_BIT_STRING>
$<$<BOOL:${CONFIG_BACAPP_ENUMERATED}>:BACAPP_ENUMERATED>
$<$<BOOL:${CONFIG_BACAPP_DATE}>:BACAPP_DATE>
$<$<BOOL:${CONFIG_BACAPP_TIME}>:BACAPP_TIME>
$<$<BOOL:${CONFIG_BACAPP_OBJECT_ID}>:BACAPP_OBJECT_ID>
$<$<BOOL:${CONFIG_BACAPP_DATETIME}>:BACAPP_DATETIME>
$<$<BOOL:${CONFIG_BACAPP_DATERANGE}>:BACAPP_DATERANGE>
$<$<BOOL:${CONFIG_BACAPP_LIGHTING_COMMAND}>:BACAPP_LIGHTING_COMMAND>
$<$<BOOL:${CONFIG_BACAPP_XY_COLOR}>:BACAPP_XY_COLOR>
$<$<BOOL:${CONFIG_BACAPP_COLOR_COMMAND}>:BACAPP_COLOR_COMMAND>
$<$<BOOL:${CONFIG_BACAPP_WEEKLY_SCHEDULE}>:BACAPP_WEEKLY_SCHEDULE>
$<$<BOOL:${CONFIG_BACAPP_CALENDAR_ENTRY}>:BACAPP_CALENDAR_ENTRY>
$<$<BOOL:${CONFIG_BACAPP_SPECIAL_EVENT}>:BACAPP_SPECIAL_EVENT>
$<$<BOOL:${CONFIG_BACAPP_HOST_N_PORT}>:BACAPP_HOST_N_PORT>
$<$<BOOL:${CONFIG_BACAPP_DEVICE_OBJECT_PROPERTY_REFERENCE}>:BACAPP_DEVICE_OBJECT_PROPERTY_REFERENCE>
$<$<BOOL:${CONFIG_BACAPP_DEVICE_OBJECT_REFERENCE}>:BACAPP_DEVICE_OBJECT_REFERENCE>
$<$<BOOL:${CONFIG_BACAPP_OBJECT_PROPERTY_REFERENCE}>:BACAPP_OBJECT_PROPERTY_REFERENCE>
$<$<BOOL:${CONFIG_BACAPP_DESTINATION}>:BACAPP_DESTINATION>
)
+189
View File
@@ -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