Commit Graph

529 Commits

Author SHA1 Message Date
Steve Karg 5d45d43da5 Fixed BVLC Write Broadcast Distribution Table for protocol revision 17 and later. (#1005)
* Fixed BVLC Write Broadcast Distribution Table for protocol revision 17 and later.

* Added check for Network Port object bbmd-accept-fd-registrations property in BBMD handler.

* Added bvlc_foreign_device_table_decode() function and unit test.

* Added BDT and FTD write property to network port for IPv4
2025-06-10 09:48:10 -05:00
Steve Karg a00dd084b4 Fixed usage of Keylist_Data_Add() return value in Calendar, CharacterString Value, Load Control, and BACnet/SC Network Port objects. (#1016) 2025-06-10 08:29:09 -05:00
Steve Karg 1b3912c5ca Added more writable properties to Analog, Binary, and Multistate Output objects. (#1012) 2025-06-04 15:53:26 -05:00
Steve Karg d0a8a9b0db Added Egress_Time integration during the warn lighting operations. (#1008)
* Added Egress_Time integration during the blink-warn and warn-relinquish lighting operations.

* Added writable properties lighting-command-default-priority, egress-time, blink-warn-enable, and relinquish-default.
2025-05-30 11:40:37 -05:00
Steve Karg 442f408c1a Bugfix/dlmstp api missing in ports os (#1003)
* Added missing API defined in header into ports/win32/dlmstp.c module, added a PDU queue and refactored receive thread, and refactored MS/TP timing parameters.

* Added missing API defined in header into ports/linux/dlmstp.c module, and refactored MS/TP timing parameters.

* Added missing API defined in header into ports/bsd/dlmstp.c module, and refactored MS/TP timing parameters.

* Reduce default MS/TP APDU to 480 to avoid extended frames by default.
2025-05-27 10:14:15 -05:00
Steve Karg f5b5db445c Fixed ports/xplained conversion of double warning. (#1004)
* Fixed ports/xplained conversion of double warning.

* Fixed BACNET_USE_DOUBLE usage in AVR ports.

* Fixed integer out-of-range in AVR port.

* Fixed missing function prototype for whois_request_encode().
2025-05-26 22:13:06 -05:00
Steve Karg f983df7fae Remove duplicate lines of code. (#1002) 2025-05-23 07:54:02 -05:00
Steve Karg b3fd374c84 Fixed network port object to accept host name option of host-n-port writes. (#997) 2025-05-20 15:44:47 -05:00
Steve Karg 524fd162f9 Feature/basic-schedule-object-write-properties (#1000)
* Added schedule object WriteProperty handling for effective-period, list-of-object-property-references and exception-schedule properties.
2025-05-20 15:04:14 -05:00
Steve Karg b5b2fd5b7b Added multiple uBASIC program objects to stm32f4xx example port. (#995) 2025-05-19 14:57:43 -05:00
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