Commit Graph

154 Commits

Author SHA1 Message Date
Mikhail Antropov 144017f861 BIP: add option - listen to broadcast on a separate socket (#293)
* 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/
2022-07-01 09:48:41 -05:00
Mikael 1a76db015b bugfix - Avoid segmentation error if file has capacity size (#300)
Co-authored-by: mgbolduc <mgonellabolduc@dimonoff.com>
2022-07-01 09:35:03 -05:00
Greg Shue 8d3c134b3e Merge pull request #297 from bacnet-stack/bugfix/bacport-dependency-removal
Bugfix/bacport dependency removal
2022-06-14 12:39:30 -07:00
Steve Karg 741530ef8a remove unnecessary bacport.h dependency 2022-06-14 12:13:36 -05:00
jci-zimm 9615327a9a support a BACDL_CUSTOM datalink define which allows for externally linked datalink_xxx functions (#292)
Co-authored-by: jzimmen_jcplc <nathan.m.zimmerman@jci.com>
2022-06-13 13:22:16 -05:00
Steve Karg 20ffb968ef fix the bacapp snprintf return size (#294)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-06-12 15:02:05 -05:00
Steve Karg 6a8adcce3d Feature/writepropertymultiple error handler (#289)
* 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>
2022-06-03 15:47:30 -05:00
Steve Karg f147283293 Feature/apdu null length returned (#285)
* 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>
2022-06-01 15:42:50 -05:00
Mikhail Antropov 810bfefb34 Fix error in datalink/bvlc.c (#288) 2022-05-29 21:00:37 -05:00
Ondřej Hruška 08a12769bd Add option to subscribe to single property COV (#283) 2022-05-26 08:51:29 -05:00
Ondřej Hruška 0dec80fae7 Add functions to enable/disable debug logging (#280)
* Add "bip_debug_disable()"

* Add "bvlc_debug_disable()"

* Add setters for BIP_DL_Debug (BBMD registration debug logging)
2022-05-25 21:43:08 -05:00
Ondřej Hruška 44bd46d395 Make "dlenv_network_port_init()" public (was static) (#281)
This is needed when initing other than by calling "dlenv_init()", e.g. to avoid using env variables and exit()
2022-05-25 21:42:50 -05:00
Ondřej Hruška 44d9d2c668 Allow "address_mac_from_ascii()" to parse hex 1-6 bytes (#284)
This function is used for BIP MAC, but also for DADR. Some real devices use 2-byte DADR. This can now be expressed e.g. as CA:FE
2022-05-25 21:31:32 -05:00
Steve Karg ba0cbc1fb8 Feature/bacnet server client app example (#273)
* Create example server-client for R/W polling application example.

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-05-16 15:02:17 -05:00
Steve Karg b0bed813de added FD BBMD Address and Lifetime as option in NP object (#270)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-05-11 08:02:47 -05:00
Steve Karg e08680044e Added FD BBMD Address encoding. (#269)
* Added FD BBMD Address encoder and decoder

* Added FD BBMD address to bacapp

* Added FD BBMD address to network port object

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-05-10 17:06:51 -05:00
Steve Karg 64a58d8581 Issue 260 unreachable code in bacstr c octetstring init ascii hex (#265)
* Fix unreachable code

Fix unreachable code in octetstring_init_ascii_hex()
Add unit test for octetstring_init_ascii_hex()
Thank you, rlstrand!

* Improve bacstr unit testing

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-05-05 10:21:34 -05:00
Steve Karg 6cd58f469d Bugfix/confirmed request service decode error (#259)
* Fix confirmed service decode error handling. Thank you, Bryan!

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-05-04 15:33:46 -05:00
Steve Karg 3c64869dca Updates for protocol-revision 20 through 24 (#258)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-05-03 11:59:27 -05:00
Steve Karg 601e3b80f9 Add enums and text for BACnet Errors (#257)
Add new enumerations for BACnet Errors
Add new enumerations from BACnet Errata
Add enumeration text for new enumerations.

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-04-27 11:25:46 -05:00
Greg Shue 183f6d9f6b Merge pull request #253 from Michail-Antropov/OSCBC-15-testing-datalink-by-mock
Oscbc 15 testing datalink by mock
2022-04-26 07:14:56 -07:00
Mikhail Antropov 09864bdf91 Fix code review 2022-04-25 20:07:28 +03:00
Mikhail Antropov 30bdb89040 Remove rx62n testing 2022-04-25 02:36:33 +03:00
Steve Karg 94623c63c5 Add new enumerations and text (#255)
Add enumerations and text for Color and Color Temperature objects
Add enumerations and text for Audit Log and Audit Reporter objects
Add enumerations and text for BACnet/SC Network Port object

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-04-22 12:39:57 -05:00
Steve Karg 2e3ce60751 Fix BDT-1 port override (#252)
* Fix BDT-1 port override

* fix BIP NAT port number

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-04-17 00:11:02 -05:00
Steve Karg c9d42d268e Bugfix/fix splint warnings (#250)
* 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>
2022-04-12 13:00:29 -05:00
Steve Karg 12a5e48b3e Bugfix/btl mstp local broadcast discard (#248)
* Discard Confirmed PDU DNER on local broadcast. Discard DER on local broacast.

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-04-02 08:44:04 -05:00
Steve Karg 0a87360755 Fix file object TSM lookup PDU type comparison 2022-03-30 08:10:20 -05:00
Steve Karg d7d3fa2f60 Feature/property list extra handling (#245)
* Add extra handling when property-list is included in required list.

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-03-28 11:29:22 -05:00
Steve Karg 5b07b484d4 Bugfix/cppcheck error code fixes (#244)
* 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>
2022-03-28 10:29:52 -05:00
Thomas Bracht Laumann Jespersen 7b685d0e3d basic/object/iv: Replace "{Analog -> Integer} Value" (#243)
There are a few instances of "Analog Value" in the comments. Make them
"Integer Value" instead.
2022-03-28 09:21:32 -05:00
Thomas Bracht Laumann Jespersen cd3eff013a basic/object/iv: Name it "INTEGER VALUE", not "ANALOG VALUE" (#242)
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>
2022-03-27 12:19:54 -05:00
Alexander Wells b787173a56 Various minor fixes/improvements (#239)
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
2022-03-10 15:29:10 -06:00
Steve Karg ffe9697dc0 Added unit test for GetAlarmSummary service (#237)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-03-05 21:45:38 -06:00
Steve Karg c3a4c229fe Issue 87 execute tests with GitHub ci (#234)
* 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>
2022-02-28 20:09:46 -06:00
Nick Schaf 585cdb4a7d dlmstp statistics enhancements (#235)
- Add lost-token count
- Add invalid-frame-received count
- Add function to reset statistics
- Add function to retrieve statistics
2022-02-28 17:40:32 -06:00
Steve Karg d0fe77c030 Bugfix/clang tidy applied 2022 (#232)
* clang-tidy applied fixes to src folder
* clang-tidy applied fixes to apps folder

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-02-27 19:14:17 -06:00
Steve Karg 5e70eeecfc Issue 10 ci add support for code spelling checks (#231)
* 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>
2022-02-27 16:02:17 -06:00
Nick Schaf b31cb43e22 Avoid redefining MSTP timeouts (#230)
* Avoid redefining MSTP timeouts

* Remove duplicate MS/TP time definitions

Ports of MS/TP datalink included #defines of several time values, which
were already defined in src/bacnet/datalink/mstpdef.h.  All those ports
already include that header.
2022-02-26 08:58:57 -06:00
Nick Schaf f5017b71b1 Feature/MSTP promiscuous read (#228)
* dlmstp callbacks for prmiscuous read

Add callback functions for start and completion of received frames to
inform the caller of these events.

* Fix exports and grammar

* Clarify naming of frame-complete callback

* Fixup code style and variable naming
2022-02-26 08:58:34 -06:00
Steve Karg 24eb5d7c87 bitstring capacity 8-bit size bug (#227)
* bitstring capacity 8-bit size bug

Codify the 8-bit size limit for bit-string capacity.
Thank you, Chris Ellec!

* Allow up to 32 byte bitstrings

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-02-18 13:36:07 -06:00
Alexander Wells d3e2a0d33f Fix valgrind warnings in trendlog functions (#226)
mktime requires the structure passed must be fully initialised:
https://en.cppreference.com/w/c/chrono/mktime#Notes
2022-02-18 11:36:45 -06:00
Patrick Grimm 5daa34dae3 Change uci device_init from src to apps. it is more maintainable. (#219)
* 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>
2022-01-29 16:08:08 -06:00
Steve Karg 295f127c2b Feature/makefile add apps library (#218)
* add BACnet stack library at apps/lib

* convert apps to use apps/lib for smaller binary

* fix -DBACDL_ALL=1 build

* fix piface build

* datalink MAX_MPDU and MAX_HEADER cleanup

* add bip6 to git workflow

* fix system library dependency of BACnet library

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-01-29 15:55:40 -06:00
Steve Karg 9c72572692 Feature/bacnet time sync override (#215)
* 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>
2022-01-20 16:42:47 -06:00
Steve Karg 8847d7eea1 Fixed BACDL=none build for makefile building (#213)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-01-12 09:10:00 -06:00
Alexander Wells ca32676662 Add bip_get_socket (#210)
* Add function to get BIP socket

* Add bip_get_socket to all applicable ports
2022-01-10 10:15:54 -06:00
Steve Karg 861eff121c Feature/bip6 win32 debug enhancements (#212)
* 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>
2022-01-10 10:13:51 -06:00
Steve Karg 889b7f9357 Feature/bip6 debug enable (#209)
* Added BACNET_BIP6_DEBUG environment variable to enhance BACnet/IPv6 debugging

* Added BACNET_BIP6_DEBUG environment variable to enhance BACnet/IPv6 debugging

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2022-01-08 11:34:11 -06:00
Steve Karg d77925a252 Added COV notification callbacks (#208)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2021-12-20 14:41:02 -06:00