* 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/
* Added extended BACnet Error PDU handling for WPM
* Added BACnetObjectPropertyReference to bacapp module.
* Added unit testing for BACnetObjectPropertyReference
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Add APDU as NULL to get BACnet type lengths.
* Fix bacapp copy test to succeed
* fix BACnet REAL and DOUBLE decode
* Add unit test for NULL APDU encoding for length
* Add unit tests for bacapp context
* refactor host-n-port to hostnport.c module
* fix BVLC decoder
* additional unit testing for bacapp
* include bacdevobjpropref module in builds
* simplify bacapp snprintf to be able to return length
* adjust compiler for variable-length arrays
* fix bug found by scan-build
Authored-by: Steve Karg <skarg@users.sourceforge.net>
* Fix SPLINT to perform static defect analysis
Fix the SPLINT invocation in Makefile
Fix C files where SPLINT detected problems.
Remove UCIX check from SPLINT
Use SPLINT friendly parsing code disable for bacsec
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Add flawfinder. Add error code for exit status.
* fix errors found by cppcheck
* fix initialization warning in unit test compile
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
Running the sample BACnet demo server, we noticed that the names of
integer-value types were all "ANALOG VALUE <n>" for some number n which
creates multiple objects with the same object-name.
Signed-off-by: Thomas Jespersen <tj@omnio.net>
Includes:
- Making "rpm_data_free" a public method and using it where appropriate
- Includes fixing memory leak in epics demo application
(note Valgrind indicates that there are more...)
- Fix typo in cov.c
- Allow NULL max_apdu parameter to address_get_by_device
- Add missing include to s_cov.h
* Enable lcov coverage in unit testing via cmake.
* fix pipeline build error
* add compile options for unit test to silence some warnings
* remove all BAC_TEST unit tests in src/bacnet/ folder. They are now in test/bacnet/ folders using ztest.
* removed key.c - only used for unit test.
* produce XML test result output for parsing
* produce junit XML test result output
* change lint workflow to quality
* update readme badge for quality results
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* added make targets spell and codespell for spelling checks
* fix spelling errors detected by codespell
* added codespell to github workflow
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Change uci device_init from src/bacnet/basic/object/device to apps/server to make it more maintainable
Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
* Move win32 specific checks to bacport.h module
* Create IPv6 snprintf function in bvlc6.c module
* Improve BIP6 debug for win32 port
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>