* 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>
* 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>
* 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>
* 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>
* Added BDT encoding to network port object.
* Added BDT encoding rules from clause 21
* Added FDT encoding to network port object.
* added more unit tests for BVLC
* Fix network port and device object unit tests
* fix router build for bvlc dependencies
* fix router build for bvlc dependencies
* fix network port MSTP compile
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
Co-authored-by: Steve Karg <steve.karg@legrand.us>
* refactor write-property tag check
* modify ports objects to use write-property tag check API
* modify example objects to use write-property tag check API
* Fix object unit test builds
* Fix and run unit ztests via CMake
* Enable unit testing on Travis CI
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Added characterstring change of value example
* Add COV to unit tests
* Add memcopy to object COV unit tests
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Added alarm-ack application
* fix error and simple ack handling for event notification
* Added ack-alarm application
* Update CMake for ack-alarm
* update example objects for alarm and events
* Allow repeated ack-alarm for same transition
* add event state API. Fix COV event state.
* add event state API to AV. Fix COV event state.
* Use event time for ack notification
* Enable notifications for all transitions by default. For testing.
* Use unconfirmed device notification to 4194303 for testing.
* initialize local vars
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* RP and RPM Network Port indefinite object instance
Added ReadProperty and ReadPropertyMultiple handling for
Network Port object indefinite object instance 4194303.
* Add network port object to some examples
* Fix stm32f10x build
* Fix Endian order of network port IP UDP port
* Add network port object to BDK Makefile
* Add network port object header to BDK device.c
* fix BDK and AT91SAM7S port builds
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Added comments. Replaced -1 with BACNET_STATUS_ERROR macro.
* Added some DogyGen comments
* Added missing return value check for booleans.
* Check used bits against unused bits in bitstrings.
* Added missing return value check for bitstrings.
* Added sanity checks and comments.
* Fixed implicit type conv warning.
* Chose to keep simpler C function methods.
Co-authored-by: Steve Karg <steve@kargs.net>
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Added property-list to device object for client applications
* Added property-list to some AVR ARM and RX62 ports
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* remove dependency on OS for time functions.
* add datetime epoch to and from seconds (yikes! 64-bit!). Add symmetric midnight seconds for unit test. Add unit tests.
* clean up BACnet date time warnings
* fix BACnet datetime warnings
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Add BAC_ROUTING compile definition
* Reorder cmake
* Fix OpenSSL support: support both 1.0 and 1.1t pus
* Explicitly export symbols, hidden by default
* Build shared libraries on travis using cmake
* Learn Makefile about static library
* Fix build using mingw with cmake
* Do not cleanup twice or after potential free
* Feature/bacnet unsigned 64 bit
* Added ACCUMULATOR object
* removed or modified stdint.h since we use at least C99 standard compilers.
* CMake: Add BACDL_NONE.
* fix warnings indicated by scan-build lint tool
* add lint target to makefile using scan-build tool
* add lint into build script stages (note: uses scan-build-7)
* fix potential use of memory after it is freed
* Use BACNET_OBJECT_TYPE for all object type variables.
* Fix ICC "mixing enumerated type" warnings for assignments and parameters.
* Network Port: Use enums for state structs and remove erroneous bounds checks copy-pasted from IP_Subnet_Prefix setter.
* Fix ICC "unreachable statement" warnings.
* Fix ICC "unused variable" warnings when printing is disabled.
* Fix ICC "mixing enumerated type" warnings for struct initializers { 0 } by ensuring the first member is an integer type.
* Send_GetEvent_Global: Return 0 (invalid TSM invoke ID) instead of -1 = 255 (technically valid invoke ID) on failure.
* Fix ICC "pointless comparison" warnings.
* Fix wrong import in objects.c (memset being used).
* Fix signedness warnings and inconsistencies. Include -1 = 255 check in cov_address_get().
* Add some guards for BACAPP_LIGHTING_COMMAND to avoid errors/warnings.
* RPM test fixes
* Address requested changes. (#38)
* build: install cmake config files to enable cmake find_package
fix: destination for header files
build: clean up build system
build: also install port directory header files
build: fix name of header files
ci: add github actions
build: add bsd port
chore: fix typos
build: remove not deeded mstpsnap
ci: disable ctests as not corrently
ci: disable macos for the moment
build: print compiler versions in cmake
* build: do not build apps by default
* build: add missing slash
* build: add more options to cmake (#3)
* build: add more options to cmake
* chore: disable ipv6
* build: guard around apps for options
* build: fix link lib on windows