* Update address in VMAC table for IPv6
* fix compile warnings in IPv6 handler
* cleanup BIP6 PRINTF
* enable unit test for BBMD6 hander
* keylist should only return FALSE when growing fails
---------
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Added AddListElement and RemoveListElement services
Added list-element codec and unit tests.
Added BACnetDestination codec and unit tests.
Added RecipientList handling to NotificationClass object.
Added AddListElement and RemoveListElement client example app.
* Fix defects found by scan-build and CPPCHECK
* Update ports errors found during CI builds
* Update zephy os test build missing files in CMakeLists
---------
Co-authored-by: Ondřej Hruška <ondra@ondrovo.com>
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Add common BACnetARRAY encode function to fix Device object list buffer overflow. Refactor device, analog-output, access-door and binary-output objects to use common BACnetARRAY encoder.
* Fix non-POSIX builds (win32).
* Cleanup some ports/stm32 build warnings
---------
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Add <zephyr/fff.h> from zephyr v3.1.0
Zephyr is deprecating the zmock library in favor of using
the FFF faking library for defining and controlling fake
implementations of depended-upon APIs called by the code-under-test.
Signed-off-by: Gregory Shue <gregory.shue@legrand.com>
* Fix bacerror_decode_service_request return value; add unit tests
bacerror_decode_service_request() return value now includes
the apdu bytes parsed for invoke_id and service.
Also added a unit test for functions in bacerror.c, using `fff`
for faking the depended-upon functions.
Verified by:
1. (Pass) cd $bacnet-stack/test && make test
2. (Pass) west build -p always -b unit_testing \
bacnet-stack/zephyr/tests/unit/bacnet/bacerror/ && \
./build/testbinary
3. (Pass) ./zephyr/scripts/twister -p unit_testing \
-T bacnet-stack/zephyr/tests/unit/bacnet/bacerror/
Signed-off-by: Gregory Shue <gregory.shue@legrand.com>
---------
Signed-off-by: Gregory Shue <gregory.shue@legrand.com>
Co-authored-by: Gregory Shue <gregory.shue@legrand.com>
* Enable dynamic BACnet POSIX files for example
* Add basic unit test for BACnet File object.
* Use example file pathname in demo app.
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Enable extra GCC warnings to discover subtle bugs
* convert c++ comments to c comments
* cleanup pedantic compiler warnings
* Compile apps with GNU89 GNU99 GNU11 and GNU17
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Added IPv6 Foreign Device Registration for apps
* Fix debug message in BACnet/IPv6 Linux port
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
print out the Time stamp in ISO 8601 format for event-time-stamps
Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
* schedule: add decode_daily_schedule() and encode_daily_schedule()
* schedule: encode/decode implemented + add to bacapp
* add safe encode/decode functions for timevalue, schedule function renaming
* fix unit tests build failing
* add IDEA and test temporary files to .gitignore
* try to make "deprecated" work in MSVC
* add WeeklySchedule compare function
* add bacnet_weeklyschedule_context_decode()
* Add basic test for WeeklySchedule
* Fix WeeklySchedule parsing and snprintf, decoder verified with real hardware
* try to fix windows build
* improve boolean parsing in 'bacapp_parse_application_data'
* add parse function for weekly schedule
* allow types > 16 in bacwp, show the decoded value before sending
* add bacapp binaries to gitignore
* remove bacwp logging
* Add error checking to bacapp_parse_application_data
* try to fix windows build
* fix avr build
* Fix error handling in RP Ack
* add singleDay flag
* show day name in single day weeklyschedule snprintf
* show weeklyschedule inner tag in snprintf
* improve weeklyschedule parsing and printing, supports type names now
* add weekly schedule to bacapp_decode_data
* move bacnet/bacnet_plat_compat.h to bacnet/basic/sys/platform.h
* disable tag limit also in bacwpm
* add ifdef's around strtoX helper functions in bacapp
* move strtox to BACAPP_PRINT_ENABLED ifdef in bacapp
* fix stm32 makefiles
* fix at91sam7s build
* use BACNET_UNSIGNED_INTEGER in BACnet_Short_Application_Data_Value
* fix capitalization in BACnet_Daily_Schedule
* add name to BACNET_TIME_VALUE struct
* change bacwp bacwpm to use bacapp_known_property_tag()
* fix some macros in bacdcode missing parentheses
* Remove dummy fields from BACNET_SHORT_APPLICATION_DATA_VALUE, replace remaining uses of upcasting (adds extra overhead but is maybe safer), rename short DV to Primitive
* fix new ci warnings
* more fixes for ancient C
* fix tests no longer building
* primitive value renamed to shorter name
* Fix code to be able to compile with older C89 ANSI compilers
* Convert C++ comments to C89 comments.
* default to std=gnu89
* Fix to enable CMake 3.1 to build on Centos7
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Fix warnings found by splint
* Ignore Win32 Builder warnings about possible data loss for integers.
* Fix Windows build warnings
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Fix EPICS property name proprietary range
* Fix Lighting Command decode length
* add function to determine property name and units proprietary range
* improve test coverage for AI, AO, AV, BI, BO, BV, LO
* refactor common property encoding to proplist module
* add decoder for priority array
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Fix FreeBSD compile warnings
* remove example app from ports/bsd. OS based apps are in apps folder
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Add What-Is-Network-Number handling.
Add What-Is-Network-Number and Network-Number-Is network layer handling.
Refactor npdu_encode_npdu_network() from router specific code.
Add unit test for NDPU network message
Add app for What-Is-Network-Number
Add app for Network-Number-Is
Add send helper for What-Is-Network-Number
Add send helper for Network-Number-Is
* added sys/debug.c to ports builds for use of debug_printf() in npdu handler.
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* added BACnetColorCommand and BACnetxyColor encoding and unit testing
* Added Color object and unit testing.
* Added Color Temperature object and Unit test
* Fix BVLC unit test warning.
* add port Makefile for extra types
* added RGB to and from CIE xy utility in sys folder, and add unit tests.
* added cmake-win32 target
* Change RP and RPM to use known property decoder.
Add color object RP and RPM decoding and printing
Fix RPM print for new reserved range above 4194303
Change default protocol-revision to 24 for Color object
* Integrate Color and Color Temperature objects into demo apps
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* BIP: add socket to listen to broadcast packets for Linux/Windows/BSD/Zephyr
* BIP: added BVLC broadcast handler to drop a packet when confirmed broadcast request is sent.
* https://sourceforge.net/p/bacnet/bugs/65/