Skip to content

Commit a4340c7

Browse files
authored
Added all the basic object property value container data types supported for B-ASC sample. (#52)
2 parents d2a4990 + 3704338 commit a4340c7

File tree

4 files changed

+289
-4
lines changed

4 files changed

+289
-4
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ The git repository is hosted at the following site:
4848
* Changed gitignore to ignore the build folder.
4949

5050
### Added
51+
* Added all the basic object property value data types supported
52+
for B-ASC sample. (#52)
5153
* Added BACnet Application Specific Control (B-ASC) sample. (#51)
5254
* Added timer and audit-log objects to basic server. (#51)
5355
* Added Model_Name config to the Kconfig for basic BACnet device. (#50)

zephyr/CMakeLists.txt

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -639,6 +639,47 @@ zephyr_compile_definitions(
639639
$<$<BOOL:${CONFIG_BACAPP_SHED_LEVEL}>:BACAPP_SHED_LEVEL>
640640
$<$<BOOL:${CONFIG_BACAPP_ACCESS_RULE}>:BACAPP_ACCESS_RULE>
641641
$<$<BOOL:${CONFIG_BACAPP_CHANNEL_VALUE}>:BACAPP_CHANNEL_VALUE>
642+
$<$<BOOL:${CONFIG_BACAPP_TIMER_VALUE}>:BACAPP_TIMER_VALUE>
642643
$<$<BOOL:${CONFIG_LOG_RECORD}>:BACAPP_LOG_RECORD>
643644
$<$<BOOL:${CONFIG_BACAPP_SECURE_CONNECT}>:BACAPP_SECURE_CONNECT>
645+
# BACnet data types supported for BACnetChanneValue
646+
# enabling any individual overrides the NUMERIC defaults
647+
$<$<BOOL:${CONFIG_CHANNEL_NUMERIC}>:CHANNEL_NUMERIC>
648+
$<$<BOOL:${CONFIG_CHANNEL_NULL}>:CHANNEL_NULL>
649+
$<$<BOOL:${CONFIG_CHANNEL_BOOLEAN}>:CHANNEL_BOOLEAN>
650+
$<$<BOOL:${CONFIG_CHANNEL_UNSIGNED}>:CHANNEL_UNSIGNED>
651+
$<$<BOOL:${CONFIG_CHANNEL_SIGNED}>:CHANNEL_SIGNED>
652+
$<$<BOOL:${CONFIG_CHANNEL_REAL}>:CHANNEL_REAL>
653+
$<$<BOOL:${CONFIG_CHANNEL_DOUBLE}>:CHANNEL_DOUBLE>
654+
$<$<BOOL:${CONFIG_CHANNEL_OCTET_STRING}>:CHANNEL_OCTET_STRING>
655+
$<$<BOOL:${CONFIG_CHANNEL_CHARACTER_STRING}>:CHANNEL_CHARACTER_STRING>
656+
$<$<BOOL:${CONFIG_CHANNEL_BIT_STRING}>:CHANNEL_BIT_STRING>
657+
$<$<BOOL:${CONFIG_CHANNEL_ENUMERATED}>:CHANNEL_ENUMERATED>
658+
$<$<BOOL:${CONFIG_CHANNEL_DATE}>:CHANNEL_DATE>
659+
$<$<BOOL:${CONFIG_CHANNEL_TIME}>:CHANNEL_TIME>
660+
$<$<BOOL:${CONFIG_CHANNEL_OBJECT_ID}>:CHANNEL_OBJECT_ID>
661+
$<$<BOOL:${CONFIG_CHANNEL_LIGHTING_COMMAND}>:CHANNEL_LIGHTING_COMMAND>
662+
$<$<BOOL:${CONFIG_CHANNEL_XY_COLOR}>:CHANNEL_XY_COLOR>
663+
$<$<BOOL:${CONFIG_CHANNEL_COLOR_COMMAND}>:CHANNEL_COLOR_COMMAND>
664+
# BACnet data types supported for BACnetTimerStateChangeValue
665+
# enabling any individual overrides the NUMERIC defaults
666+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_ALL}>:BACNET_TIMER_VALUE_ALL>
667+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_NUMERIC}>:BACNET_TIMER_VALUE_NUMERIC>
668+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_NULL}>:BACNET_TIMER_VALUE_NULL>
669+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_BOOLEAN}>:BACNET_TIMER_VALUE_BOOLEAN>
670+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_UNSIGNED}>:BACNET_TIMER_VALUE_UNSIGNED>
671+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_SIGNED}>:BACNET_TIMER_VALUE_SIGNED>
672+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_REAL}>:BACNET_TIMER_VALUE_REAL>
673+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_DOUBLE}>:BACNET_TIMER_VALUE_DOUBLE>
674+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_OCTET_STRING}>:BACNET_TIMER_VALUE_OCTET_STRING>
675+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_CHARACTER_STRING}>:BACNET_TIMER_VALUE_CHARACTER_STRING>
676+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_BIT_STRING}>:BACNET_TIMER_VALUE_BIT_STRING>
677+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_ENUMERATED}>:BACNET_TIMER_VALUE_ENUMERATED>
678+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_DATE}>:BACNET_TIMER_VALUE_DATE>
679+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_TIME}>:BACNET_TIMER_VALUE_TIME>
680+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_OBJECT_ID}>:BACNET_TIMER_VALUE_OBJECT_ID>
681+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_NO_VALUE}>:BACNET_TIMER_VALUE_NO_VALUE>
682+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_DATETIME}>:BACNET_TIMER_VALUE_DATETIME>
683+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_CONSTRUCTED_VALUE}>:BACNET_TIMER_VALUE_CONSTRUCTED_VALUE>
684+
$<$<BOOL:${CONFIG_BACNET_TIMER_VALUE_LIGHTING_COMMAND}>:BACNET_TIMER_VALUE_LIGHTING_COMMAND>
644685
)

zephyr/Kconfig

Lines changed: 238 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ config BACAPP_TYPES_EXTRA
137137
CALENDAR_ENTRY, SPECIAL_EVENT, HOST_N_PORT,
138138
DEVICE_OBJECT_PROPERTY_REFERENCE, DEVICE_OBJECT_REFERENCE,
139139
OBJECT_PROPERTY_REFERENCE, DESTINATION, BDT_ENTRY, FDT_ENTRY,
140-
ACTION_COMMAND, SCALE, SHED_LEVEL
140+
ACTION_COMMAND, SCALE, SHED_LEVEL, ACCESS_RULE, CHANNEL_VALUE,
141+
TIMER_VALUE, LOG_RECORD, and SECURE_CONNECT
141142

142143
config BACAPP_NULL
143144
bool "BACnet data types supported for WriteProperty: NULL"
@@ -337,6 +338,12 @@ config BACAPP_CHANNEL_VALUE
337338
help
338339
BACnet data types supported for WriteProperty: BACAPP_CHANNEL_VALUE
339340

341+
config BACAPP_TIMER_VALUE
342+
bool "BACnet data types supported for WriteProperty: BACAPP_TIMER_VALUE"
343+
default false
344+
help
345+
BACnet data types supported for WriteProperty: BACAPP_TIMER_VALUE
346+
340347
config BACAPP_LOG_RECORD
341348
bool "BACnet data types supported for WriteProperty: BACAPP_LOG_RECORD"
342349
default false
@@ -361,6 +368,236 @@ config BACAPP_SNPRINTF_ENABLED
361368
help
362369
Enable BACnet app snprintf
363370

371+
config CHANNEL_NUMERIC
372+
bool "BACnet data types supported for BACnetChanneValue numeric"
373+
default true
374+
help
375+
BACnet data types supported for BACnetChanneValue numeric include:
376+
NULL, BOOLEAN, UNSIGNED, SIGNED, REAL, DOUBLE, ENUMERATED,
377+
LIGHTING_COMMAND, COLOR_COMMAND, and XY_COLOR.
378+
379+
config CHANNEL_VALUE_ALL
380+
bool "BACnet data types supported for all BACnetChanneValue types"
381+
default true
382+
help
383+
NULL, BOOLEAN, UNSIGNED, SIGNED, REAL, DOUBLE, ENUMERATED,
384+
LIGHTING_COMMAND, COLOR_COMMAND, XY_COLOR, OBJECT_ID,
385+
OCTET_STRING, CHARACTER_STRING, BIT_STRING, DATE, and TIME.
386+
387+
config CHANNEL_NULL
388+
bool "BACnet data types supported for BACnetChanneValue: NULL"
389+
default false
390+
help
391+
BACnet data types supported for BACnetChanneValue: NULL
392+
393+
config CHANNEL_BOOLEAN
394+
bool "BACnet data types supported for BACnetChanneValue: BOOLEAN"
395+
default false
396+
help
397+
BACnet data types supported for BACnetChanneValue: BOOLEAN
398+
399+
config CHANNEL_UNSIGNED
400+
bool "BACnet data types supported for BACnetChanneValue: UNSIGNED"
401+
default false
402+
help
403+
BACnet data types supported for BACnetChanneValue: UNSIGNED
404+
405+
config CHANNEL_SIGNED
406+
bool "BACnet data types supported for BACnetChanneValue: SIGNED"
407+
default false
408+
help
409+
BACnet data types supported for BACnetChanneValue: SIGNED
410+
411+
config CHANNEL_REAL
412+
bool "BACnet data types supported for BACnetChanneValue: REAL"
413+
default false
414+
help
415+
BACnet data types supported for BACnetChanneValue: REAL
416+
417+
config CHANNEL_DOUBLE
418+
bool "BACnet data types supported for BACnetChanneValue: DOUBLE"
419+
default false
420+
help
421+
BACnet data types supported for BACnetChanneValue: DOUBLE
422+
423+
config CHANNEL_OCTET_STRING
424+
bool "BACnet data types supported for BACnetChanneValue: OCTET_STRING"
425+
default false
426+
help
427+
BACnet data types supported for BACnetChanneValue: OCTET_STRING
428+
429+
config CHANNEL_CHARACTER_STRING
430+
bool "BACnet data types supported for BACnetChanneValue: CHARACTER_STRING"
431+
default false
432+
help
433+
BACnet data types supported for BACnetChanneValue: CHARACTER_STRING
434+
435+
config CHANNEL_BIT_STRING
436+
bool "BACnet data types supported for BACnetChanneValue: BIT_STRING"
437+
default false
438+
help
439+
BACnet data types supported for BACnetChanneValue: BIT_STRING
440+
441+
config CHANNEL_ENUMERATED
442+
bool "BACnet data types supported for BACnetChanneValue: ENUMERATED"
443+
default false
444+
help
445+
BACnet data types supported for BACnetChanneValue: ENUMERATED
446+
447+
config CHANNEL_DATE
448+
bool "BACnet data types supported for BACnetChanneValue: DATE"
449+
default false
450+
help
451+
BACnet data types supported for BACnetChanneValue: DATE
452+
453+
config CHANNEL_TIME
454+
bool "BACnet data types supported for BACnetChanneValue: TIME"
455+
default false
456+
help
457+
BACnet data types supported for BACnetChanneValue: TIME
458+
459+
config CHANNEL_OBJECT_ID
460+
bool "BACnet data types supported for BACnetChanneValue: OBJECT_ID"
461+
default false
462+
help
463+
BACnet data types supported for BACnetChanneValue: OBJECT_ID
464+
465+
config CHANNEL_LIGHTING_COMMAND
466+
bool "BACnet data types supported for BACnetChanneValue: LIGHTING_COMMAND"
467+
default false
468+
help
469+
BACnet data types supported for BACnetChanneValue: LIGHTING_COMMAND
470+
471+
config CHANNEL_XY_COLOR
472+
bool "BACnet data types supported for BACnetChanneValue: XY_COLOR"
473+
default false
474+
help
475+
BACnet data types supported for BACnetChanneValue: XY_COLOR
476+
477+
config CHANNEL_COLOR_COMMAND
478+
bool "BACnet data types supported for BACnetChanneValue: COLOR_COMMAND"
479+
default false
480+
help
481+
BACnet data types supported for BACnetChanneValue: COLOR_COMMAND
482+
483+
config BACNET_TIMER_VALUE_NUMERIC
484+
bool "BACnet data types supported for BACnetTimerStateChangeValue numeric"
485+
default true
486+
help
487+
BACnet data types supported for BACnetTimerStateChangeValue numeric include:
488+
NULL, BOOLEAN, UNSIGNED, SIGNED, REAL, DOUBLE, ENUMERATED, and NO_VALUE
489+
490+
config BACNET_TIMER_VALUE_ALL
491+
bool "BACnet data types supported for all BACnetTimerStateChangeValue types"
492+
default true
493+
help
494+
BACnet data types supported for all BACnetTimerStateChangeValue types include:
495+
NULL, BOOLEAN, UNSIGNED, SIGNED, REAL, DOUBLE, ENUMERATED, NO_VALUE,
496+
OCTET_STRING, CHARACTER_STRING, BIT_STRING, DATE, TIME, OBJECT_ID,
497+
DATETIME, CONSTRUCTED_VALUE, and LIGHTING_COMMAND
498+
499+
config BACNET_TIMER_VALUE_NULL
500+
bool "BACnet data types supported for BACnetTimerStateChangeValue: NULL"
501+
default false
502+
help
503+
BACnet data types supported for BACnetTimerStateChangeValue: NULL
504+
505+
config BACNET_TIMER_VALUE_BOOLEAN
506+
bool "BACnet data types supported for BACnetTimerStateChangeValue: BOOLEAN"
507+
default false
508+
help
509+
BACnet data types supported for BACnetTimerStateChangeValue: BOOLEAN
510+
511+
config BACNET_TIMER_VALUE_UNSIGNED
512+
bool "BACnet data types supported for BACnetTimerStateChangeValue: UNSIGNED"
513+
default false
514+
help
515+
BACnet data types supported for BACnetTimerStateChangeValue: UNSIGNED
516+
517+
config BACNET_TIMER_VALUE_SIGNED
518+
bool "BACnet data types supported for BACnetTimerStateChangeValue: SIGNED"
519+
default false
520+
help
521+
BACnet data types supported for BACnetTimerStateChangeValue: SIGNED
522+
523+
config BACNET_TIMER_VALUE_REAL
524+
bool "BACnet data types supported for BACnetTimerStateChangeValue: REAL"
525+
default false
526+
help
527+
BACnet data types supported for BACnetTimerStateChangeValue: REAL
528+
529+
config BACNET_TIMER_VALUE_DOUBLE
530+
bool "BACnet data types supported for BACnetTimerStateChangeValue: DOUBLE"
531+
default false
532+
help
533+
BACnet data types supported for BACnetTimerStateChangeValue: DOUBLE
534+
535+
config BACNET_TIMER_VALUE_OCTET_STRING
536+
bool "BACnet data types supported for BACnetTimerStateChangeValue: OCTET_STRING"
537+
default false
538+
help
539+
BACnet data types supported for BACnetTimerStateChangeValue: OCTET_STRING
540+
541+
config BACNET_TIMER_VALUE_CHARACTER_STRING
542+
bool "BACnet data types supported for BACnetTimerStateChangeValue: CHARACTER_STRING"
543+
default false
544+
help
545+
BACnet data types supported for BACnetTimerStateChangeValue: CHARACTER_STRING
546+
547+
config BACNET_TIMER_VALUE_BIT_STRING
548+
bool "BACnet data types supported for BACnetTimerStateChangeValue: BIT_STRING"
549+
default false
550+
help
551+
BACnet data types supported for BACnetTimerStateChangeValue: BIT_STRING
552+
553+
config BACNET_TIMER_VALUE_ENUMERATED
554+
bool "BACnet data types supported for BACnetTimerStateChangeValue: ENUMERATED"
555+
default false
556+
help
557+
BACnet data types supported for BACnetTimerStateChangeValue: ENUMERATED
558+
559+
config BACNET_TIMER_VALUE_DATE
560+
bool "BACnet data types supported for BACnetTimerStateChangeValue: DATE"
561+
default false
562+
help
563+
BACnet data types supported for BACnetTimerStateChangeValue: DATE
564+
565+
config BACNET_TIMER_VALUE_TIME
566+
bool "BACnet data types supported for BACnetTimerStateChangeValue: TIME"
567+
default false
568+
help
569+
BACnet data types supported for BACnetTimerStateChangeValue: TIME
570+
571+
config BACNET_TIMER_VALUE_OBJECT_ID
572+
bool "BACnet data types supported for BACnetTimerStateChangeValue: OBJECT_ID"
573+
default false
574+
help
575+
BACnet data types supported for BACnetTimerStateChangeValue: OBJECT_ID
576+
577+
config BACNET_TIMER_VALUE_DATETIME
578+
bool "BACnet data types supported for BACnetTimerStateChangeValue: DATETIME"
579+
default false
580+
help
581+
BACnet data types supported for BACnetTimerStateChangeValue: DATETIME
582+
583+
config BACNET_TIMER_VALUE_LIGHTING_COMMAND
584+
bool "BACnet data types supported for BACnetTimerStateChangeValue: LIGHTING_COMMAND"
585+
default false
586+
help
587+
BACnet data types supported for BACnetTimerStateChangeValue: LIGHTING_COMMAND
588+
589+
config BACNET_TIMER_VALUE_NO_VALUE
590+
bool "BACnet data types supported for BACnetTimerStateChangeValue: NO_VALUE"
591+
default false
592+
help
593+
BACnet data types supported for BACnetTimerStateChangeValue: NO_VALUE
594+
595+
config BACNET_TIMER_VALUE_CONSTRUCTED_VALUE
596+
bool "BACnet data types supported for BACnetTimerStateChangeValue: CONSTRUCTED_VALUE"
597+
default false
598+
help
599+
BACnet data types supported for BACnetTimerStateChangeValue: CONSTRUCTED_VALUE
600+
364601
config BACDL_BIP_PORT
365602
int "BACnet IPv4 UDP port"
366603
default 47808

zephyr/samples/profiles/b-asc/prj.conf

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ CONFIG_BACNETSTACK_BACNET_SETTINGS=y
3232
CONFIG_BACNET_SETTINGS_SHELL=y
3333
# BACnet Library - options
3434
CONFIG_BACNET_MAX_CHARACTER_STRING_BYTES=128
35-
# BACnet Library - enable example objects
35+
# BACnet Library - enable required basic objects
3636
CONFIG_BACNET_BASIC_OBJECT_NETWORK_PORT=y
37-
37+
# BACnet Library - enable basic objects
3838
CONFIG_BACNET_BASIC_OBJECTS_ACCESS=y
3939
CONFIG_BACNET_BASIC_OBJECT_ACCUMULATOR=y
4040
CONFIG_BACNET_BASIC_OBJECT_ANALOG_INPUT=y
@@ -50,7 +50,6 @@ CONFIG_BACNET_BASIC_OBJECT_CHANNEL=y
5050
CONFIG_BACNET_BASIC_OBJECT_COMMAND=y
5151
CONFIG_BACNET_BASIC_OBJECT_COLOR=y
5252
CONFIG_BACNET_BASIC_OBJECT_COLOR_TEMPERATURE=y
53-
CONFIG_BACNET_BASIC_OBJECTS_ACCESS=y
5453
CONFIG_BACNET_BASIC_OBJECT_CHARACTERSTRING_VALUE=y
5554
CONFIG_BACNET_BASIC_OBJECT_INTEGER_VALUE=y
5655
CONFIG_BACNET_BASIC_OBJECT_LOAD_CONTROL=y
@@ -68,6 +67,12 @@ CONFIG_BACNET_BASIC_OBJECT_STRUCTURED_VIEW=y
6867
CONFIG_BACNET_BASIC_OBJECT_TIME_VALUE=y
6968
CONFIG_BACNET_BASIC_OBJECT_TIMER=y
7069
CONFIG_BACNET_BASIC_OBJECT_TRENDLOG=y
70+
# Access Control Objects
71+
CONFIG_BACNET_BASIC_OBJECTS_ACCESS=y
72+
# Property value container data types supported
73+
CONFIG_BACAPP_ALL=y
74+
CONFIG_BACNET_TIMER_VALUE_ALL=y
75+
CONFIG_CHANNEL_VALUE_ALL=y
7176

7277
# BACnet Library - server framework - includes device and ports
7378
CONFIG_BACNET_BASIC_SERVER=y

0 commit comments

Comments
 (0)