From 11efd6902c8c975f05543ccfaa270485d956e79a Mon Sep 17 00:00:00 2001 From: Steve Karg Date: Wed, 3 Dec 2025 16:23:01 -0600 Subject: [PATCH] Integrated the Loop object read/write references and manipulated variables with device read/write property in basic example device object. (#1175) --- CHANGELOG.md | 3 +++ src/bacnet/basic/object/device.c | 4 ++++ src/bacnet/basic/server/bacnet_device.c | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 45ab813b..7ce5bcf2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,9 @@ The git repositories are hosted at the following sites: ### Fixed +* Fixed the Loop object read/write references and manipulated variables + update during timer loop by adding callbacks to device read/write property + in basic example device object. (##1175) * Fixed library specific strcmp/stricmp functions match standard strcmp. (#1173) * Fixed compiler macro redefined warning when optional datatypes are defined globally. (#1172) diff --git a/src/bacnet/basic/object/device.c b/src/bacnet/basic/object/device.c index e044b320..0bd01571 100644 --- a/src/bacnet/basic/object/device.c +++ b/src/bacnet/basic/object/device.c @@ -2517,8 +2517,12 @@ void Device_Init(object_functions_t *object_table) pObject++; } #if (BACNET_PROTOCOL_REVISION >= 14) + /* link WriteProperty to Channel object for members */ Channel_Write_Property_Internal_Callback_Set(Device_Write_Property); #endif + /* link ReadProperty and WriteProperty to Loop object for references */ + Loop_Read_Property_Internal_Callback_Set(Device_Read_Property); + Loop_Write_Property_Internal_Callback_Set(Device_Write_Property); } bool DeviceGetRRInfo( diff --git a/src/bacnet/basic/server/bacnet_device.c b/src/bacnet/basic/server/bacnet_device.c index 9d5e79e0..d7bfdc9e 100644 --- a/src/bacnet/basic/server/bacnet_device.c +++ b/src/bacnet/basic/server/bacnet_device.c @@ -2922,6 +2922,11 @@ void Device_Init(object_functions_t *object_table) Channel_Write_Property_Internal_Callback_Set(Device_Write_Property); #endif #endif +#ifdef CONFIG_BACNET_BASIC_OBJECT_LOOP + /* link ReadProperty and WriteProperty to Loop object for references */ + Loop_Read_Property_Internal_Callback_Set(Device_Read_Property); + Loop_Write_Property_Internal_Callback_Set(Device_Write_Property); +#endif } bool DeviceGetRRInfo(