Commit Graph

519 Commits

Author SHA1 Message Date
Steve Karg 62bf8274f7 Fixed missing exports in bacnet/basic header files. (#996)
* Fixed missing exports in bacnet/basic header files.

* Refactor uBASIC for unique namespace and project define overrides.
2025-05-19 13:44:52 -05:00
Steve Karg bfb7bf0c1b Added API for BACnet basic server device object. (#994) 2025-05-12 11:12:34 -05:00
Steve Karg 5f646e9e5d Fixed NDPU comparison functions that were missing segment-ack PDU. (#991) 2025-05-08 09:12:41 -05:00
Steve Karg 1a7d823959 Added the weekly-schedule property write in basic schedule object. (#990) 2025-05-08 08:15:16 -05:00
Steve Karg 4fd554bb6a Fixed the ghost Device ID 0 in the I-Am response when the actual routed devices are less than the MAX_NUM_DEVICES. (#981) 2025-05-05 21:52:06 -05:00
Steve Karg f2c00f9766 Fixed BACnetGroupChannelValue encoding and decoding of BACnetChannelValue which was deemed errata by BACnet standard committee. (#980) 2025-05-05 21:49:19 -05:00
Steve Karg 0f3cbe3ec5 Fixed WriteProperty bypass which is only for present-value property of commandable objects. (#984) 2025-05-05 21:48:29 -05:00
Ryan Mulder 77efedae6e fix some INTRINSIC_REPORTING #ifs (#977) 2025-04-29 08:44:12 -05:00
Steve Karg 54dbf9d140 Changed dlenv to support multiple datalinks via environment variable. (#966) 2025-04-16 12:04:18 -05:00
Steve Karg 54bf9b79c6 Added uBASIC-Plus program object example to STM32F4xx. (#967) 2025-04-16 12:03:42 -05:00
Steve Karg c111154993 Updated CHANGELOG for v1.4.1 release on April 11, 2025. Happy birthday to me! 2025-04-11 21:19:21 -05:00
Ryan Mulder 5022976cf9 Fixed debug printf warnings in BACnet/SC modules. (#963) 2025-04-10 11:27:13 -05:00
Ryan Mulder 3621b3f424 Added the option to specify a target destination for apps/server-discover. (#958) 2025-04-09 10:52:10 -05:00
Steve Karg 1313cdd12e Fixed MS/TP lost-token-counter that was lost during refactoring. (#962) 2025-04-09 10:41:51 -05:00
Steve Karg d7c86af05a Added Program object task state transitions from request and callbacks (#960) 2025-04-09 10:41:27 -05:00
Steve Karg 31af2507fb Bugfix/secure read range codec (#957)
* Secured ReadRange service codecs. Added ReadRange unit testing. Secured ReadRange-ACK handler to enable APDU size checking.
2025-04-03 09:14:08 -05:00
dmitttri 921264b2c2 Added write present value callbacks for Analog Value and Integer Value basic object examples. (#956) 2025-04-01 08:56:20 -05:00
Steve Karg ca6a6f3a88 Added null parsing to weekly-schedule writes. (#954) 2025-03-31 10:18:10 -05:00
Steve Karg 6f7f3649a5 Bugfix/read range trend log buffer (#947)
* Fixed ReadRange app to read and pretty-print a Trend Log log-buffer
2025-03-25 10:32:11 -05:00
Steve Karg e7147bda48 Fixed the COV for Analog Input and Analog Value objects when fault is detected in Reliability property. (#943) 2025-03-15 08:17:44 -05:00
Steve Karg 4df896b820 Feature/basic-program-object (#940)
* Added basic Program object and unit test.

* Integrate the basic Program object with example applications.
2025-03-13 15:51:37 -05:00
Steve Karg 4ee129e249 Added bypass in basic WriteProperty handler to accept writes of NULL to non-commandable properties (#919) 2025-03-10 07:30:55 -05:00
Steve Karg 7e725ce028 Bugfix/win32 build warnings (#936)
* Changed win32 port of localtime to use secure OS API functions when compiled with MSVC

* Changed all the sprintf to use snprintf instead in BSC tests to ensure null string endings.
2025-03-03 10:32:28 -06:00
Steve Karg 5cd453c925 Fixed WriteProperty error code for FD_BBMD_ADDRESS and FD_SUBSCRIPTION_LIFETIME (#925)
* Fixed WriteProperty error code for PROP_FD_BBMD_ADDRESS and PROP_FD_SUBSCRIPTION_LIFETIME properties.  

* Fixed dead-code warning after enabling all datalinks for basic network port object using the property list as the R/W checking for the port type.
2025-03-03 08:04:07 -06:00
Steve Karg 3e480f41e2 Ported bacnet-basic from zephyr project to create basis for mini example. (#933) 2025-02-27 15:49:29 -06:00
Steve Karg 4ebc1a4566 Fixed the basic multi-state output priority-array datatype encoding. (#932) 2025-02-26 17:22:08 -06:00
Steve Karg 5ff02ea837 Fixed windows build of bacpoll and bacdiscover by removing DLL export in basic client headers (#930) 2025-02-26 17:21:06 -06:00
Steve Karg f61038ad6c Added Send_I_Am_Broadcast() function to Who-Is handler so that other Send_I_Am() will honor DCC Disable-Initiatiation. (#918) 2025-02-26 17:01:53 -06:00
Steve Karg 849cbb238b Fixed Device_Write_Property_Object_Name() to return WRITE_ACCESS_DENIED in case where an object name is not writable using BACnet protocol. (#927) 2025-02-26 17:00:51 -06:00
Steve Karg 2f5b45c542 Fixed WriteProperty writing to object properties when the array-index is valid (#931) 2025-02-26 16:51:14 -06:00
Steve Karg 7a5190f295 Fixed Who-Has object instance by checking for valid instance. (#922) 2025-02-20 17:29:39 -06:00
Steve Karg 08f152b4ac Fixed out-of-service writability to be consistent with present-value in objects using Write_Enabled flag (#921) 2025-02-20 09:42:15 -06:00
Steve Karg 97490dacb1 Fixed the NDPU encoding for confirmed COV notifications (#917) 2025-02-18 08:44:16 -06:00
Steve Karg aa87bd8051 Bugfix/ipv6 leave multicast on foreign device registration (#899)
* Fixed IPv6 handler to ignore original-broadcast when registered as a foreign-device

* Fixed IPv6 to leave multicast when registering as foreign device.
2025-02-17 09:07:27 -06:00
Steve Karg adff1f9c0f Fixed the ReinitializeDevice and DeviceCommunicationControl password length checking for non-UTF8 passwords. (#914) 2025-02-13 12:58:54 -06:00
Steve Karg f8e9ab8d86 Changed link-speed, network-number, network-number-quality, and apdu-length properties of the network port object to be optional when protocol-revision is 24 or greater. (#913) 2025-02-13 08:44:30 -06:00
Steve Karg 7b9d6d7dc5 Fixed error-code returned when an object does not support WriteProperty but has properties that are known. (#912) 2025-02-12 16:54:40 -06:00
Steve Karg ae135cd368 Bugfix/property list consistency testing (#910)
* Added unit test while reading all object properties to flag properties not in the property-list.

* Added enumeration for last-property used in unit testing.

* Added missing reliability property in the basic multistate output object example.

* Removed polarity property in binary value object as it is not standard.
2025-02-12 12:14:01 -06:00
Steve Karg bc2438f85b Fixed structured view object subtype get and set. (#909) 2025-02-10 09:56:52 -06:00
Steve Karg 66329a05a0 Bugfix/property array element zero size (#908)
* Changed BACnetARRAY index validation into ReadProperty, ReadPropertyMultiple, WriteProperty, and WritePropertyMultiple handlers.

* Changed the basic and example objects after refactoring BACnetARRAY index validation into ReadProperty, ReadPropertyMultiple, WriteProperty, and WritePropertyMultiple handlers.

* Added BACnet application decoder that understands that an array element of zero is an unsigned integer tagged value.  Fixes RP and RPM apps when reading the array element zero of arrays.
2025-02-10 09:44:53 -06:00
Steve Karg da3aaf3b48 Added Write_Enabled flag API into multi-state-input and multi-state-value basic objects. (#903) 2025-02-06 14:10:56 -06:00
Steve Karg 77bdaaf853 Fixed usage of 8-bit modulo operator off-by-one maximum. (#901) 2025-02-04 13:56:53 -06:00
Steve Karg 19ef7f74cd Added MS/TP automatic baudrate detection option into the core MS/TP state machine. (#900) 2025-02-03 15:10:31 -06:00
Steve Karg 4d0c626c1d Fixed IPv6 handler to ignore original-broadcast when regiistered as a foreign-device (#898) 2025-01-29 15:28:35 -06:00
Steve Karg d4a32171b7 Changed date encoding when year is out of range to use wildcard. Updated APDU encoding pattern (#897) 2025-01-27 08:42:43 -06:00
Steve Karg 44c2bccdeb Added linked list of lighting-command notification callbacks, (#893) 2025-01-21 14:30:38 -06:00
Steve Karg cfe257fe69 Fixed spelling errors detected by code-spell utility. (#895)
* Fixed spelling errors detected by code-spell utility.

* Fixed cppcheck preprocessorErrorDirective. Suppressed new cppcheck warnings until fixed.
2025-01-21 13:31:43 -06:00
Steve Karg ece31443b6 Secured SubscribeCOVProperty decoder. (#892)
* Secured SubscribeCOVProperty decoder.

* Changed datatype of monitoredProperty in struct BACnet_Subscribe_COV_Data
2025-01-09 14:27:39 -06:00
Steve Karg 9f858fdb4f Added bvlc6.sh script to enable foreign-device-registration for client tools. (#889) 2025-01-09 08:57:05 -06:00
Steve Karg 39109f5929 Secured the BACnet Who-Request decoder by changing deprecated decode functions. (#891) 2025-01-09 08:55:57 -06:00