Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ The git repository is hosted at the following site:
* Changed gitignore to ignore the build folder.

### Added
* Added all the basic object property value data types supported
for B-ASC sample. (#52)
* Added BACnet Application Specific Control (B-ASC) sample. (#51)
* Added timer and audit-log objects to basic server. (#51)
* Added Model_Name config to the Kconfig for basic BACnet device. (#50)
Expand Down
41 changes: 41 additions & 0 deletions zephyr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -639,6 +639,47 @@ zephyr_compile_definitions(
$<$<BOOL:${CONFIG_BACAPP_SHED_LEVEL}>:BACAPP_SHED_LEVEL>
$<$<BOOL:${CONFIG_BACAPP_ACCESS_RULE}>:BACAPP_ACCESS_RULE>
$<$<BOOL:${CONFIG_BACAPP_CHANNEL_VALUE}>:BACAPP_CHANNEL_VALUE>
$<$<BOOL:${CONFIG_BACAPP_TIMER_VALUE}>:BACAPP_TIMER_VALUE>
$<$<BOOL:${CONFIG_LOG_RECORD}>:BACAPP_LOG_RECORD>
$<$<BOOL:${CONFIG_BACAPP_SECURE_CONNECT}>:BACAPP_SECURE_CONNECT>
# BACnet data types supported for BACnetChanneValue
# enabling any individual overrides the NUMERIC defaults
$<$<BOOL:${CONFIG_CHANNEL_NUMERIC}>:CHANNEL_NUMERIC>
$<$<BOOL:${CONFIG_CHANNEL_NULL}>:CHANNEL_NULL>
$<$<BOOL:${CONFIG_CHANNEL_BOOLEAN}>:CHANNEL_BOOLEAN>
$<$<BOOL:${CONFIG_CHANNEL_UNSIGNED}>:CHANNEL_UNSIGNED>
$<$<BOOL:${CONFIG_CHANNEL_SIGNED}>:CHANNEL_SIGNED>
$<$<BOOL:${CONFIG_CHANNEL_REAL}>:CHANNEL_REAL>
$<$<BOOL:${CONFIG_CHANNEL_DOUBLE}>:CHANNEL_DOUBLE>
$<$<BOOL:${CONFIG_CHANNEL_OCTET_STRING}>:CHANNEL_OCTET_STRING>
$<$<BOOL:${CONFIG_CHANNEL_CHARACTER_STRING}>:CHANNEL_CHARACTER_STRING>
$<$<BOOL:${CONFIG_CHANNEL_BIT_STRING}>:CHANNEL_BIT_STRING>
$<$<BOOL:${CONFIG_CHANNEL_ENUMERATED}>:CHANNEL_ENUMERATED>
$<$<BOOL:${CONFIG_CHANNEL_DATE}>:CHANNEL_DATE>
$<$<BOOL:${CONFIG_CHANNEL_TIME}>:CHANNEL_TIME>
$<$<BOOL:${CONFIG_CHANNEL_OBJECT_ID}>:CHANNEL_OBJECT_ID>
$<$<BOOL:${CONFIG_CHANNEL_LIGHTING_COMMAND}>:CHANNEL_LIGHTING_COMMAND>
$<$<BOOL:${CONFIG_CHANNEL_XY_COLOR}>:CHANNEL_XY_COLOR>
$<$<BOOL:${CONFIG_CHANNEL_COLOR_COMMAND}>:CHANNEL_COLOR_COMMAND>
# BACnet data types supported for BACnetTimerStateChangeValue
# enabling any individual overrides the NUMERIC defaults
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_ALL}>:BACNET_TIMER_VALUE_ALL>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_NUMERIC}>:BACNET_TIMER_VALUE_NUMERIC>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_NULL}>:BACNET_TIMER_VALUE_NULL>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_BOOLEAN}>:BACNET_TIMER_VALUE_BOOLEAN>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_UNSIGNED}>:BACNET_TIMER_VALUE_UNSIGNED>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_SIGNED}>:BACNET_TIMER_VALUE_SIGNED>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_REAL}>:BACNET_TIMER_VALUE_REAL>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_DOUBLE}>:BACNET_TIMER_VALUE_DOUBLE>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_OCTET_STRING}>:BACNET_TIMER_VALUE_OCTET_STRING>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_CHARACTER_STRING}>:BACNET_TIMER_VALUE_CHARACTER_STRING>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_BIT_STRING}>:BACNET_TIMER_VALUE_BIT_STRING>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_ENUMERATED}>:BACNET_TIMER_VALUE_ENUMERATED>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_DATE}>:BACNET_TIMER_VALUE_DATE>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_TIME}>:BACNET_TIMER_VALUE_TIME>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_OBJECT_ID}>:BACNET_TIMER_VALUE_OBJECT_ID>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_NO_VALUE}>:BACNET_TIMER_VALUE_NO_VALUE>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_DATETIME}>:BACNET_TIMER_VALUE_DATETIME>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_CONSTRUCTED_VALUE}>:BACNET_TIMER_VALUE_CONSTRUCTED_VALUE>
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_LIGHTING_COMMAND}>:BACNET_TIMER_VALUE_LIGHTING_COMMAND>
)
239 changes: 238 additions & 1 deletion zephyr/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ config BACAPP_TYPES_EXTRA
CALENDAR_ENTRY, SPECIAL_EVENT, HOST_N_PORT,
DEVICE_OBJECT_PROPERTY_REFERENCE, DEVICE_OBJECT_REFERENCE,
OBJECT_PROPERTY_REFERENCE, DESTINATION, BDT_ENTRY, FDT_ENTRY,
ACTION_COMMAND, SCALE, SHED_LEVEL
ACTION_COMMAND, SCALE, SHED_LEVEL, ACCESS_RULE, CHANNEL_VALUE,
TIMER_VALUE, LOG_RECORD, and SECURE_CONNECT

config BACAPP_NULL
bool "BACnet data types supported for WriteProperty: NULL"
Expand Down Expand Up @@ -337,6 +338,12 @@ config BACAPP_CHANNEL_VALUE
help
BACnet data types supported for WriteProperty: BACAPP_CHANNEL_VALUE

config BACAPP_TIMER_VALUE
bool "BACnet data types supported for WriteProperty: BACAPP_TIMER_VALUE"
default false
help
BACnet data types supported for WriteProperty: BACAPP_TIMER_VALUE

config BACAPP_LOG_RECORD
bool "BACnet data types supported for WriteProperty: BACAPP_LOG_RECORD"
default false
Expand All @@ -361,6 +368,236 @@ config BACAPP_SNPRINTF_ENABLED
help
Enable BACnet app snprintf

config CHANNEL_NUMERIC
bool "BACnet data types supported for BACnetChanneValue numeric"
default true
help
BACnet data types supported for BACnetChanneValue numeric include:
NULL, BOOLEAN, UNSIGNED, SIGNED, REAL, DOUBLE, ENUMERATED,
LIGHTING_COMMAND, COLOR_COMMAND, and XY_COLOR.

config CHANNEL_VALUE_ALL
bool "BACnet data types supported for all BACnetChanneValue types"
default true
help
NULL, BOOLEAN, UNSIGNED, SIGNED, REAL, DOUBLE, ENUMERATED,
LIGHTING_COMMAND, COLOR_COMMAND, XY_COLOR, OBJECT_ID,
OCTET_STRING, CHARACTER_STRING, BIT_STRING, DATE, and TIME.

config CHANNEL_NULL
bool "BACnet data types supported for BACnetChanneValue: NULL"
default false
help
BACnet data types supported for BACnetChanneValue: NULL

config CHANNEL_BOOLEAN
bool "BACnet data types supported for BACnetChanneValue: BOOLEAN"
default false
help
BACnet data types supported for BACnetChanneValue: BOOLEAN

config CHANNEL_UNSIGNED
bool "BACnet data types supported for BACnetChanneValue: UNSIGNED"
default false
help
BACnet data types supported for BACnetChanneValue: UNSIGNED

config CHANNEL_SIGNED
bool "BACnet data types supported for BACnetChanneValue: SIGNED"
default false
help
BACnet data types supported for BACnetChanneValue: SIGNED

config CHANNEL_REAL
bool "BACnet data types supported for BACnetChanneValue: REAL"
default false
help
BACnet data types supported for BACnetChanneValue: REAL

config CHANNEL_DOUBLE
bool "BACnet data types supported for BACnetChanneValue: DOUBLE"
default false
help
BACnet data types supported for BACnetChanneValue: DOUBLE

config CHANNEL_OCTET_STRING
bool "BACnet data types supported for BACnetChanneValue: OCTET_STRING"
default false
help
BACnet data types supported for BACnetChanneValue: OCTET_STRING

config CHANNEL_CHARACTER_STRING
bool "BACnet data types supported for BACnetChanneValue: CHARACTER_STRING"
default false
help
BACnet data types supported for BACnetChanneValue: CHARACTER_STRING

config CHANNEL_BIT_STRING
bool "BACnet data types supported for BACnetChanneValue: BIT_STRING"
default false
help
BACnet data types supported for BACnetChanneValue: BIT_STRING

config CHANNEL_ENUMERATED
bool "BACnet data types supported for BACnetChanneValue: ENUMERATED"
default false
help
BACnet data types supported for BACnetChanneValue: ENUMERATED

config CHANNEL_DATE
bool "BACnet data types supported for BACnetChanneValue: DATE"
default false
help
BACnet data types supported for BACnetChanneValue: DATE

config CHANNEL_TIME
bool "BACnet data types supported for BACnetChanneValue: TIME"
default false
help
BACnet data types supported for BACnetChanneValue: TIME

config CHANNEL_OBJECT_ID
bool "BACnet data types supported for BACnetChanneValue: OBJECT_ID"
default false
help
BACnet data types supported for BACnetChanneValue: OBJECT_ID

config CHANNEL_LIGHTING_COMMAND
bool "BACnet data types supported for BACnetChanneValue: LIGHTING_COMMAND"
default false
help
BACnet data types supported for BACnetChanneValue: LIGHTING_COMMAND

config CHANNEL_XY_COLOR
bool "BACnet data types supported for BACnetChanneValue: XY_COLOR"
default false
help
BACnet data types supported for BACnetChanneValue: XY_COLOR

config CHANNEL_COLOR_COMMAND
bool "BACnet data types supported for BACnetChanneValue: COLOR_COMMAND"
default false
help
BACnet data types supported for BACnetChanneValue: COLOR_COMMAND

config BACNET_TIMER_VALUE_NUMERIC
bool "BACnet data types supported for BACnetTimerStateChangeValue numeric"
default true
help
BACnet data types supported for BACnetTimerStateChangeValue numeric include:
NULL, BOOLEAN, UNSIGNED, SIGNED, REAL, DOUBLE, ENUMERATED, and NO_VALUE

config BACNET_TIMER_VALUE_ALL
bool "BACnet data types supported for all BACnetTimerStateChangeValue types"
default true
help
BACnet data types supported for all BACnetTimerStateChangeValue types include:
NULL, BOOLEAN, UNSIGNED, SIGNED, REAL, DOUBLE, ENUMERATED, NO_VALUE,
OCTET_STRING, CHARACTER_STRING, BIT_STRING, DATE, TIME, OBJECT_ID,
DATETIME, CONSTRUCTED_VALUE, and LIGHTING_COMMAND

config BACNET_TIMER_VALUE_NULL
bool "BACnet data types supported for BACnetTimerStateChangeValue: NULL"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: NULL

config BACNET_TIMER_VALUE_BOOLEAN
bool "BACnet data types supported for BACnetTimerStateChangeValue: BOOLEAN"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: BOOLEAN

config BACNET_TIMER_VALUE_UNSIGNED
bool "BACnet data types supported for BACnetTimerStateChangeValue: UNSIGNED"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: UNSIGNED

config BACNET_TIMER_VALUE_SIGNED
bool "BACnet data types supported for BACnetTimerStateChangeValue: SIGNED"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: SIGNED

config BACNET_TIMER_VALUE_REAL
bool "BACnet data types supported for BACnetTimerStateChangeValue: REAL"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: REAL

config BACNET_TIMER_VALUE_DOUBLE
bool "BACnet data types supported for BACnetTimerStateChangeValue: DOUBLE"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: DOUBLE

config BACNET_TIMER_VALUE_OCTET_STRING
bool "BACnet data types supported for BACnetTimerStateChangeValue: OCTET_STRING"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: OCTET_STRING

config BACNET_TIMER_VALUE_CHARACTER_STRING
bool "BACnet data types supported for BACnetTimerStateChangeValue: CHARACTER_STRING"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: CHARACTER_STRING

config BACNET_TIMER_VALUE_BIT_STRING
bool "BACnet data types supported for BACnetTimerStateChangeValue: BIT_STRING"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: BIT_STRING

config BACNET_TIMER_VALUE_ENUMERATED
bool "BACnet data types supported for BACnetTimerStateChangeValue: ENUMERATED"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: ENUMERATED

config BACNET_TIMER_VALUE_DATE
bool "BACnet data types supported for BACnetTimerStateChangeValue: DATE"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: DATE

config BACNET_TIMER_VALUE_TIME
bool "BACnet data types supported for BACnetTimerStateChangeValue: TIME"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: TIME

config BACNET_TIMER_VALUE_OBJECT_ID
bool "BACnet data types supported for BACnetTimerStateChangeValue: OBJECT_ID"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: OBJECT_ID

config BACNET_TIMER_VALUE_DATETIME
bool "BACnet data types supported for BACnetTimerStateChangeValue: DATETIME"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: DATETIME

config BACNET_TIMER_VALUE_LIGHTING_COMMAND
bool "BACnet data types supported for BACnetTimerStateChangeValue: LIGHTING_COMMAND"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: LIGHTING_COMMAND

config BACNET_TIMER_VALUE_NO_VALUE
bool "BACnet data types supported for BACnetTimerStateChangeValue: NO_VALUE"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: NO_VALUE

config BACNET_TIMER_VALUE_CONSTRUCTED_VALUE
bool "BACnet data types supported for BACnetTimerStateChangeValue: CONSTRUCTED_VALUE"
default false
help
BACnet data types supported for BACnetTimerStateChangeValue: CONSTRUCTED_VALUE

config BACDL_BIP_PORT
int "BACnet IPv4 UDP port"
default 47808
Expand Down
11 changes: 8 additions & 3 deletions zephyr/samples/profiles/b-asc/prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ CONFIG_BACNETSTACK_BACNET_SETTINGS=y
CONFIG_BACNET_SETTINGS_SHELL=y
# BACnet Library - options
CONFIG_BACNET_MAX_CHARACTER_STRING_BYTES=128
# BACnet Library - enable example objects
# BACnet Library - enable required basic objects
CONFIG_BACNET_BASIC_OBJECT_NETWORK_PORT=y

# BACnet Library - enable basic objects
CONFIG_BACNET_BASIC_OBJECTS_ACCESS=y
CONFIG_BACNET_BASIC_OBJECT_ACCUMULATOR=y
CONFIG_BACNET_BASIC_OBJECT_ANALOG_INPUT=y
Expand All @@ -50,7 +50,6 @@ CONFIG_BACNET_BASIC_OBJECT_CHANNEL=y
CONFIG_BACNET_BASIC_OBJECT_COMMAND=y
CONFIG_BACNET_BASIC_OBJECT_COLOR=y
CONFIG_BACNET_BASIC_OBJECT_COLOR_TEMPERATURE=y
CONFIG_BACNET_BASIC_OBJECTS_ACCESS=y
CONFIG_BACNET_BASIC_OBJECT_CHARACTERSTRING_VALUE=y
CONFIG_BACNET_BASIC_OBJECT_INTEGER_VALUE=y
CONFIG_BACNET_BASIC_OBJECT_LOAD_CONTROL=y
Expand All @@ -68,6 +67,12 @@ CONFIG_BACNET_BASIC_OBJECT_STRUCTURED_VIEW=y
CONFIG_BACNET_BASIC_OBJECT_TIME_VALUE=y
CONFIG_BACNET_BASIC_OBJECT_TIMER=y
CONFIG_BACNET_BASIC_OBJECT_TRENDLOG=y
# Access Control Objects
CONFIG_BACNET_BASIC_OBJECTS_ACCESS=y
# Property value container data types supported
CONFIG_BACAPP_ALL=y
CONFIG_BACNET_TIMER_VALUE_ALL=y
CONFIG_CHANNEL_VALUE_ALL=y

# BACnet Library - server framework - includes device and ports
CONFIG_BACNET_BASIC_SERVER=y
Expand Down