* 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
* moving folders and files and adjust server demo build
* Fix Makefile for apps/server on Linux
* fix unit test source file folders
* fix datetime convert UTC functions. Add Code::Blocks project for datetime testing
* added some ignore extensions
* disable parallel make option
* fix build for abort, dcc, and epics apps
* fix build for dcc, epics, error, and getevent apps.
* Fixed building of all apps
* fix the ipv4 to ipv6 router app build
* Change indent style from Google to Webkit
* make pretty to re-format style
* removed common Makefile since we already had one and two was too many
* remove scripts from root folder that are no longer maintained or used
* remove mercurial EOL and ignore files for git repo
* remove .vscodeconfig files from repo
* tweak clang-format style
* clang-format src and apps with tweaked style
* added clang-tidy to fix readability if braces in src
* result of make tidy for src and apps
* fix clang-tidy mangling
* Added code::blocks project for BACnet server simulation
* added code::blocks linux project for WhoIs app
* update text files for EOL
* fix EOL in some files
* fixed make win32 apps for older gcc
* Removed Borland C++ Makefile in apps. Unable to maintain support for Borland C++ compiler.
* created codeblocks project for apps/epics for Windows
* fixing ports/xplained to work with new data structure.
* fix ports/xplained example for Atmel Studio compile
* fix ports/stm32f10x example for gcc Makefile compile
* fix ports/stm32f10x example for IAR EWARM compile
* fix ports/xplained timer callback
* fix ports/bdk_atxx_mspt build with subdirs
* fix ports/bdk_atxx_mspt build with subdirs
* updated git ignore for IAR build artifacts
* updated gitignore for non-tracked files and folders
* fixed bdk-atxx4-mstp port for Rowley Crossworks project file
* fixed bdk-atxx4-mstp port for GCC AVR Makefile
* fixed atmega168 port for IAR AVR and GCC AVR Makefile
* fixed at91sam7s port for IAR ARM and GCC ARM Makefile
* removed unmaintainable DOS, RTOS32, and atmega8 ports. Updated rx62n (untested).
* changed arm7 to uip port