Commit Graph

3601 Commits

Author SHA1 Message Date
Steve Karg cf79515272 Fixed octetstring_copy_value() and added unit tests. (#1121) 2025-10-28 17:54:38 -05:00
Steve Karg b726458ab9 The NDPU priority is now passed through the stack via apdu.c or h_apdu.c module so the MS/TP compare DER function can include the value in the comparison. (#1119) 2025-10-16 10:31:21 -05:00
Steve Karg d4d928a915 Added more unit testing for ReadProperty to increase code coverage. (#1118) 2025-10-15 10:24:08 -05:00
dependabot[bot] 6713f750c3 Bump github/codeql-action from 3 to 4 (#1117)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-08 05:48:58 -05:00
Steve Karg 5b7932ee62 Feature/add-device-object-functions-find-api (#1115)
* Added Device_Object_Functions_Find() API to enable override of basic object API function.

* Added Device_Object_Functions() API to return basic object API table of functions for all objects.
2025-09-30 15:59:08 -05:00
Steve Karg 83dfe50294 Updated CHANGELOG after latest commits. 2025-09-30 08:30:03 -05:00
Steve Karg f5bc0620e7 Added new enumerations, text, BACnetARRAY and BACnetList from protocol-revision 30 (#1114) 2025-09-28 21:36:38 -05:00
Steve Karg b74af37720 Refactored CharacterString_Value_Out_Of_Service_Set() function to remove confusion about an assignment inside an if-statement. (#1113) 2025-09-28 21:35:23 -05:00
Steve Karg 2416157351 Added a context variable in basic object data structure and API to get or set the context pointer. (#1111) 2025-09-26 13:19:58 -05:00
Steve Karg d91282be16 Fixed basic program object internal datatype for reason-for-fault and change properties. (#1110) 2025-09-25 14:11:28 -05:00
Steve Karg 814eea5fd9 Fixed compile errors in basic/server/device when BACAPP_TIMESTAMP or Channel object are not enabled. (#1109) 2025-09-24 11:01:49 -05:00
Steve Karg d3689aaec0 Updated CHANGELOG after latest commits. 2025-09-24 10:07:08 -05:00
Steve Karg f93f4fecf8 Added uBASIC+BACnet README document to describe the programming language, porting, and integration. (#1108) 2025-09-24 09:48:08 -05:00
Steve Karg 7dfc840dfc Bugfix/using-uint16-for-units-property-storage (#1107)
* Fixed units property declaration in basic Analog Input header file to be uint16_t instead of uint8_t.

* Added range checking of units property in example objects WriteProperty handler.
2025-09-24 09:35:10 -05:00
Steve Karg b357bca5dd Converted device object test to use common read-write property test. Extended the basic BACnet device object example API. (#1106)
* Converted device object test to use common read-write property test. Extended the basic BACnet device object example API.

* Created BACnet/IP and COV test mocks to enable device object testing with less dependencies.
2025-09-24 07:09:56 -05:00
Steve Karg f877ca0ebb Fixed MS/TP state WAIT_FOR_REPLY to allow reception of any frames that are not known to be not reply frames. (#1103)
This fixes segmented Complex-ACK frames which were dropped. This enables all proprietary frames and any new frames to be recieved to the higher layers.
2025-09-20 10:52:59 -05:00
Steve Karg af29c75075 Test/expanded-object-property-write-coverage (#1102)
* Expanded test coverage for WriteProperty in objects.

* Added common property tests for Lighting Output object and updated CMake configuration
2025-09-19 20:27:26 -05:00
Steve Karg 203cb102e7 Fixed Lighting Output object STOP lighting command so that it sets the present-value. (#1101) 2025-09-18 17:03:08 -05:00
Steve Karg 6061c36ac2 Fixed the lighting command RAMP TO ramp rate to always clamp within 0.1 and 100.0 to avoid endless rate of 0.0. (#1100)
* Fixed the lighting command RAMP TO ramp rate to always clamp within 0.1 and 100.0 to avoid endless rate of 0.0.

* Fixed the use of default fade, ramp, or step when those optional parameters are missing from lighting command.
2025-09-18 16:18:50 -05:00
Steve Karg bc2e0866e3 Fixed Lighting Output Step Up/On and Down/Off mixup. (#1099) 2025-09-18 15:01:39 -05:00
Steve Karg 547d7dfa98 Fixed Lighting Output step operations to set the Priority_Array slot appropriately. (#1098) 2025-09-18 14:15:14 -05:00
Steve Karg d8e6cacaeb Updated CHANGELOG after latest commits. 2025-09-18 10:58:25 -05:00
Steve Karg a7956e6082 Fixed the lighting output objects current priority comparison during lighting commands by using priority 17 (relinquish default) instead of 0. (#1097) 2025-09-18 10:57:03 -05:00
Steve Karg e3ef352f2d Added API to output objects for priority-array property value inspection. (#1096) 2025-09-17 15:57:53 -05:00
Steve Karg 5921a28590 Fixed CMake Error in libwebsocket: Compatibility with CMake < 3.5 has been removed from CMake (#1095) 2025-09-17 12:48:27 -05:00
Steve Karg 2dca54a336 Updated CHANGELOG from latest commits. 2025-09-17 08:25:45 -05:00
Steve Karg e8e996d9d9 Fixed Lighting Output Relinquish values. (#1094)
* Fixed Lighting Output Relinquish values.

* Added lighting command refresh from tracking value API.
2025-09-16 17:21:47 -05:00
Steve Karg 9b6173995c Fixed compiler warning format '%u' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] by casting or increasing format specifier size and casting. (#1092)
* Fixed compiler warning format '%u' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] by casting or increasing format specifier size and casting. Increased the size of the name string to handle larger possible integers.

* Fixed copied code that no longer needs static function scope variables for text names.
2025-09-12 15:08:47 -05:00
Steve Karg 0da61e52bb Added MS/TP statistics counters for BadCRC and Poll-For-Master. (#1081) 2025-09-11 10:53:16 -05:00
Steve Karg 7b727279bc Refactor Who-Am-I and You-Are JSON handlers to eliminate dynamic memory allocation for model and serial number strings, improving memory management and simplifying code. (#1089) 2025-09-11 10:52:36 -05:00
dependabot[bot] df41ea7433 Bump actions/setup-python from 5 to 6 (#1088)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-11 09:33:15 -05:00
Steve Karg c46d5c02ae Updated CHANGELOG from latest commits. 2025-09-04 15:18:23 -05:00
Steve Karg 71c03b29e8 Bugfix/lighting-output-internal-process-api (#1086)
* Fixed Lighting_Command to ignore write priority and use its own. 

* Fixed BACnetLightingOperation reserved range.

* Refactor overridden into the lighting command module. Added Overridden status flags API.  Added Lighting Output API to implement a momentary override to the output that is cleared at the next lighting command.  Integrated lighting command overridden behavior into the lighting output object.

* Added Trim_Fade_Time, High_End_Trim, Low_End_Trim, Last_On_Value and Default_On_Value properties to lighting output.
Added TRIM_ACTIVE flag to lighting command. Added Last_On_Value and Default_On_Value to lighting command for restore and toggle.
2025-09-04 15:04:42 -05:00
Steve Karg 8a9c808b76 Fixed test code headers to be consistent and accurate having been derived from original C files. (#1087) 2025-09-04 11:44:24 -05:00
Steve Karg a70a02a6f9 Fixed missing prototype warning in lighting.c module. (#1085) 2025-08-29 17:00:15 -05:00
Steve Karg 55107e96b7 Bugfix/issues 1082 AddListElement and RemoveListElement and Notification Class object (#1083)
* Fixed AddListElement and RemoveListElement which were checking the wrong return value from Device object.

* Fixed decoding of ListElement Tag 0: Object ID instance.

* Fixed Notification_Class_Add_List_Element() and Notification_Class_Remove_List_Element() element counter index, and empty slot detection.

* Added bacnet_recipient_device_set() and bacnet_recipient_address_set() API

* Added unit test coverage for Notification Class object.
2025-08-27 16:37:46 -05:00
Steve Karg be3947b20f Updated CHANGELOG from latest commits. 2025-08-25 11:08:43 -05:00
Steve Karg ad5a43042c Added MS/TP datalink option to BACnet basic server example. (#1077) 2025-08-25 11:02:43 -05:00
BACnetEd a3cd49eb37 Added fixups to Microsoft Visual Studio build: added server-mini, etc. (#1061) 2025-08-20 11:44:38 -05:00
Steve Karg 25c2aaa20d Secured I-Am request encoding and decoding, and updated the example apps and handlers to use secure version of I-Am decoder. (#1080) 2025-08-19 21:31:50 -05:00
Steve Karg 743c5845b3 Added WriteProperty to GTK Discover app. (#1071)
* Added WriteProperty to GTK Discover app.  For enumerated properties, the property text is converted to an integer.  For commandable object properties (present-value), priority is encoded after the value or null using @ symbol.
2025-08-16 13:40:48 -05:00
Steve Karg edbd3fbccf Updated CHANGELOG from latest commits. 2025-08-13 07:39:09 -05:00
Steve Karg f44330c180 Fixed win32 builds where UNICODE is defined. The code now uses CreateFileA instead of CreateFile due to ANSI-C filenames. (#1076) 2025-08-12 15:16:39 -05:00
Steve Karg a28dbcf262 Fixed the usage of index vs instance in the basic trend log object example. (#1074) 2025-08-12 12:21:23 -05:00
Steve Karg e18b9c6030 Removed filter from bacapp_encode_context_data_value() to enable all non-primative value context encoding. (#1075) 2025-08-12 11:05:00 -05:00
Steve Karg 3a3d7fcc13 Fix point-to-point VPN tunnel sockets for BACnet/IP by using IFF_POINTTOPOINT flag when getting the broadcast address. (#1066) 2025-08-12 08:50:30 -05:00
dependabot[bot] 6b6dfab10e Bump actions/checkout from 4 to 5 (#1073)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 08:49:09 -05:00
Steve Karg e2cd26df78 Fixed GTK Discover app display of proprietary property identifiers. (#1070) 2025-08-09 16:00:44 -05:00
Steve Karg e0293e7063 Added text sprintf for Network Port object BACnetNetworkType, BACnetNetworkNumberQuality, and BACnetProtocolLevel enumerations. (#1069) 2025-08-09 08:43:24 -05:00
Steve Karg 30b02349bf Added missing enumeration text for Program object: BACnetProgramError, BACnetProgramState, and BACnetProgramRequest (#1068) 2025-08-09 08:23:32 -05:00