Add multi-device support for BACnet gateway routing (#1279)

* Expanded Object_List to Object_List[MAX_NUM_DEVICES] array to support per-device objects for virtual remote devices
* Added multi-device iteration for COV handler, device timer, and intrinsic reporting
* Added apps/gateway2 demo application
* When MAX_NUM_DEVICES == 1, behavior is identical to the original implementation
* Conditional compilation with macros ensures no impact on non-gateway applications

---------

Signed-off-by: Hyeongjun Kim <hjun1.kim@samsung.com>
Co-authored-by: haemeok-kang <haemeok.kang@samsung.com>
This commit is contained in:
Hyeongjun Kim
2026-03-31 04:16:17 +09:00
committed by GitHub
parent b8dd89b879
commit f408b6eb7f
54 changed files with 2592 additions and 586 deletions
+9
View File
@@ -1022,6 +1022,15 @@ if(BACNET_STACK_BUILD_APPS)
)
endif()
if(BAC_ROUTING)
add_executable(gateway2 apps/gateway2/main.c apps/gateway2/gateway.h)
target_link_libraries(gateway2 PRIVATE ${PROJECT_NAME})
target_compile_options(gateway2 PRIVATE
# Unreachable code because we have endless loop.
$<$<C_COMPILER_ID:MSVC>:/wd4702>
)
endif()
add_executable(getevent apps/getevent/main.c)
target_link_libraries(getevent PRIVATE ${PROJECT_NAME})