Commit Graph

3792 Commits

Author SHA1 Message Date
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
Steve Karg 64d3f2c875 Added missing enumeration text for BACnetNodeType, BACnetSilencedState, BACnetLoggingType (#1067) 2025-08-09 07:04:17 -05:00
Steve Karg 3f8b8b5619 Added dynamic and static RAM file systems to use with file objects. (#1058)
* Added dynamic RAM file system to use with basic bacnet file object.

* Added static RAM file system to use with basic bacnet file object.

* Added check for read-only during AtomicWriteFile service API for BACnet File object.

* Change stm32f4xx example to use static RAM file system.

* Fixed bacfile_count() function return type
2025-08-08 15:35:13 -05:00
Steve Karg e67777e345 Fixed Refresh click to clear object and property windows. Added icon. (#1065) 2025-08-08 10:40:09 -05:00
Steve Karg 3f89981b29 Created simple project for GTK BACnet Discovery Application. (#1064) 2025-08-07 17:16:34 -05:00
Steve Karg 11c1338863 Fixed the signed value for start position and start record in BACnet file object abstraction. (#1057) 2025-08-01 13:10:05 -05:00
Steve Karg d475713897 Updated CHANGELOG with latest changes in master branch. 2025-08-01 10:04:43 -05:00
Steve Karg 4095a7f335 Feature/mstp valid frame not for us stats (#1053)
* Fixed ISO C90 forbids mixed declarations and code warning.

* Fixed the MS/TP invalid frame counter that was incremented for valid frames not for us.
2025-08-01 09:58:45 -05:00
Steve Karg 1bebd6ac81 Refactored the bacnet file object to be storage agnostic with callbacks. (#1056) 2025-08-01 09:58:07 -05:00
Steve Karg f88f5a3424 Fixed the Linux DLMSTP standalone test application Makefile. (#1055) 2025-07-31 09:40:18 -05:00