* 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>
* 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>
* add dnet,mac,adr for bacrpm explicit destinations
* add usage help to readpropm for dnet,mac,dadr
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* 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>
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
* 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>
* add --time and --date options to command line time sync for override
* remove PRINT_ENABLED compile overreach
* fix bacstr.c for non-PRINT_ENABLED compile
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Fix to BVLC6 bounds checking
* Convert MSTP capture to use datetime library
* Convert timesync app to use datetime and mstimer library
* fix workflow per warning
* fix BSD mstimer init function name
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 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>
Found a number of problems with the router when compiling on linux
* Expected malloc()'ed memory to be zeroed resulting in segfault
* IPC_NOWAIT in iplayer loop means incoming traffic will be delayed until outgoing traffic is received.
* When configured with two BIP interfaces, broadcast loops ensue because the broacast traffic is not correctly filtered. I think the safest thing to do here is to use the SO_BINDTODEVICE setsockopt.
* Added UTF8 multibyte to wide char printing in some apps
* Fix test compile
* Reduce diff churn
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* Added pretty-apps and pretty-ports make targets
* pretty-fied apps folder C files
* Pretty-fied ports folder C and H files
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
* refactor BACnet/IPv4 BVLC into encode-decode library with unit tests
Added Read-Broadcast-Distribution-Table encoding and unit test.
Added Read-Broadcast-Distribution-Table-Ack encoding and unit test.
Added Read-Foreign-Device-Table-Ack encoding and unit test.
Added some BDT/FDT diff copy functions with unit tests
Added some FDT add and delete entry functions with unit tests
Added some BDT set append and clear entry functions with unit tests
Added some BIPv4 address conversion functions with unit tests
Added non-BBMD handling unit test
Added basic unit test for BBMD handler
Added BBMD broadcast mask get set and unit tests
Added IPv6 maintenance timer.
Added ReadFDT app
Fixed ReadBDT app
Added Who-Is to Makefile for individual app build
Fixed debugging code blocks projects by swapping bip.c for h_bbmd.c module.
Ported BACnet/IPv4 to refactored BVLC for Linux, BSD, Windows
Fix datalink debug for DLENV module
Improve BIPv4 linux driver debug info
Added BDT mask functions
Reduce debug info clutter in Who-Is app by using environment option
Fix TTL seconds upper bounds addition
Fix CIDR prefix calculation on Linux BIPv4.
Convert BSD BIPv4 to BVLCv4
Fix CMake build for BIPv4 (Linux, BSD, Windows)
Added [U]nsigned to 0xBAC0 constants
Cleanup POSIX and Win32 API sockets
Remove unnecessary file scope variable initialization
Fix routed NPDU to depend on datalink; fix warning
Remove OS dependent network code from gateway
Enable BBMD client in library by default
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
Co-authored-by: Steve Karg <steve.karg@legrand.us>
* 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>
* 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.
* 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
The existing method of calling various example apps requires the user to
know the enumeration value for the object-type and property values. This
patch enhances to allow the object-type and property arguments to be
specified as strings, using the strings as defined in the spec. It does
not remove the old behaviour.
Current:
bacrp 1234 3 1 85
New:
bacrp 1234 binary-input 1 present-value
This change does not currently apply to the property arguments of the
readm and writem applications.