Commit Graph

527 Commits

Author SHA1 Message Date
Steve Karg b0a97c6f75 Bugfix/bactext enumeration updates 2024 (#1020)
* Extended some BACnet enumerations from 135-2024 protocol-revision 25-30.  

* Changed usage of _FIRST and _LAST to _MIN and _MAX in some enumerations to be consistent.

* Added object type and services supported BACnetBitString sizes for protocol revision 25-30

*Added new BACnetPropertyIdentifier, BACnetEngineeringUnits, BACnetEventState, BACnetRestartReason, BACnetLifeSafetyMode, BACnetLifeSafetyOperation, BACnetLifeSafetyState, BACnet_Services_Supported, BACnetLightingOperation, BACnetBinaryLightingPV, BACnetNetworkPortCommand, BACnetAuthenticationDecision, BACnetAuthorizationPosture, BACnetFaultType, BACnetPriorityFilter, BACnetResultFlags, and BACnetSuccessFilter enumerations.

* Added BACnet text for BACnetLifeSafetyMode, BACnetLifeSafetyOperation, BACnetRestartReason, BACnetNetworkType, BACnetNetworkNumberQuality, BACnetNetworkPortCommand, BACnetAuthenticationDecision, BACnetAuthorizationPosture, BACnetFaultType, BACnetPriorityFilter, BACnetSuccessFilter, and BACnetResultFlags.
2025-06-17 14:36:57 -05:00
Ryan Mulder c8f18cfaca Added Device_Set_Firmware_Revision and Device_Object_Name_ANSI to basic device object. (#1018) 2025-06-17 14:00:21 -05:00
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