Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
23c9be6
Add portable guarded IEC 61850 control model core
masarray Aug 10, 2026
563120c
Implement guarded Direct and SBO control planner
masarray Aug 10, 2026
456ad8b
Harden guarded control pending and expiry semantics
masarray Aug 10, 2026
1d9ad4c
Add guarded control hard-profile oracle
masarray Aug 10, 2026
8ec399d
Add no-exception control hard profile
masarray Aug 10, 2026
0a4b4b5
Gate guarded control semantics in GCC and Clang
masarray Aug 10, 2026
3f57667
Add live-type MMS control structure builder API
masarray Aug 10, 2026
b5bba0e
Implement live-type Oper SBOw and Cancel builder
masarray Aug 10, 2026
8e05c1b
Fix control structure header utility dependency
masarray Aug 10, 2026
ca0fcda
Add MMS control structure golden-wire tests
masarray Aug 10, 2026
67f0764
Add strict control MMS structure validation profile
masarray Aug 10, 2026
e53aa25
Gate control MMS structures on GCC and Clang
masarray Aug 10, 2026
e26c732
Add CommandTermination and LastApplError decoder API
masarray Aug 10, 2026
81d1cf2
Implement correlated CommandTermination decoding
masarray Aug 10, 2026
68f1eb2
Add LastApplError and CommandTermination parity tests
masarray Aug 10, 2026
6458183
Add strict CommandTermination validation profile
masarray Aug 10, 2026
6d8c2bd
Gate CommandTermination parity on GCC and Clang
masarray Aug 10, 2026
c143161
Add non-fatal bounded MMS poll for control completion waits
masarray Aug 10, 2026
8b664a8
Implement non-fatal bounded MMS poll for control waits
masarray Aug 10, 2026
9ce8a93
Add guarded live IEC 61850 control session API
masarray Aug 10, 2026
6cc7bf2
Add production control transport over MMS association runtime
masarray Aug 10, 2026
dd57b97
Implement live ctlModel and TypeSpecification control discovery
masarray Aug 10, 2026
c58635a
Implement guarded Direct SBO and enhanced live control orchestration
masarray Aug 10, 2026
f5923f9
Add deterministic smart-control session parity tests
masarray Aug 10, 2026
cbd1e76
Add strict live control session parity profile
masarray Aug 10, 2026
2f49987
Gate smart-control session parity on GCC and Clang
masarray Aug 10, 2026
1367089
Link MMS PDU dependencies in control session profile
masarray Aug 10, 2026
a65eb96
Fix non-default MMS value fixtures in control session tests
masarray Aug 10, 2026
20dcc18
Link Session codec dependency in control session profile
masarray Aug 10, 2026
ea0a096
Integrate guarded control parity into normal core build
masarray Aug 10, 2026
f2c4e68
Update port status for guarded control parity C1-C4
masarray Aug 10, 2026
9ffc0c3
Add guarded live control interoperability harness
masarray Aug 10, 2026
60c5426
Add standalone C5 control interop build profile
masarray Aug 10, 2026
022659b
Add C5 control interop harness CI
masarray Aug 10, 2026
f5f6302
Document C5 physical control interoperability procedure
masarray Aug 10, 2026
47b5245
Add one-click Windows build for C5 control harness
masarray Aug 10, 2026
2c9abcb
Publish C5 harness binaries with CI evidence
masarray Aug 10, 2026
a9f96ad
Sync migration checklist through Control C5
masarray Aug 10, 2026
2da72e0
Advance port status to Control C5 lab readiness
masarray Aug 10, 2026
d7ea8c5
Advance migration plan through Control C5
masarray Aug 10, 2026
e7aa282
Sync feature matrix through Control C5
masarray Aug 10, 2026
3bd902f
c5: add read-only live control inventory probe
masarray Aug 10, 2026
e59344e
c5: build read-only control inventory companion
masarray Aug 10, 2026
884ee54
c5: surface safe control inventory command after build
masarray Aug 10, 2026
0921d08
c5: validate and publish read-only control inventory probe
masarray Aug 10, 2026
9da0514
C5: add raw read-only ctlModel diagnostic probe
masarray Aug 10, 2026
e6ecf75
C5: build raw ctlModel diagnostic companion
masarray Aug 10, 2026
b9759f2
Harden live Smart Control diagnostics
masarray Aug 10, 2026
f88f3df
docs(control): record C5 simulator interoperability acceptance
masarray Aug 10, 2026
6191e20
docs(control): reconcile parallel simulator acceptance
masarray Aug 10, 2026
9fedd88
Merge current main into Smart Control integration
masarray Aug 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Integrate guarded control parity into normal core build
  • Loading branch information
masarray committed Aug 10, 2026
commit ea0a0963456952d07fab2e18d2dfa6ee84791c7d
28 changes: 28 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,18 @@ add_library(ariec61850_core
src/mms/invoke_router.cpp
src/mms/reporting.cpp
src/mms/association_runtime.cpp
src/mms/association_runtime_control_wait.cpp
src/mms/report_subscription_runtime.cpp
src/mms/tcp_transport.cpp
src/mms/live_discovery.cpp
src/mms/rcb_selection.cpp
src/mms/rcb_failover.cpp
src/control/guarded_control.cpp
src/control/mms_control_structure.cpp
src/control/command_termination.cpp
src/control/control_discovery.cpp
src/control/control_session.cpp
src/control/mms_association_control_transport.cpp
src/sampled_values/pdu_codec.cpp
src/sampled_values/frame_codec.cpp
src/sampled_values/quality.cpp
Expand Down Expand Up @@ -282,6 +289,27 @@ if(ARIEC61850_BUILD_TESTS)
ariec61850_apply_sanitizers(ariec61850_control_block_read_tests)
add_test(NAME ariec61850_control_block_read_tests COMMAND ariec61850_control_block_read_tests)

add_executable(ariec61850_control_mms_structure_tests tests/test_control_mms_structure.cpp)
target_link_libraries(ariec61850_control_mms_structure_tests PRIVATE ARIEC61850::core)
target_compile_features(ariec61850_control_mms_structure_tests PRIVATE cxx_std_20)
ariec61850_apply_warnings(ariec61850_control_mms_structure_tests)
ariec61850_apply_sanitizers(ariec61850_control_mms_structure_tests)
add_test(NAME ariec61850_control_mms_structure_tests COMMAND ariec61850_control_mms_structure_tests)

add_executable(ariec61850_command_termination_tests tests/test_command_termination.cpp)
target_link_libraries(ariec61850_command_termination_tests PRIVATE ARIEC61850::core)
target_compile_features(ariec61850_command_termination_tests PRIVATE cxx_std_20)
ariec61850_apply_warnings(ariec61850_command_termination_tests)
ariec61850_apply_sanitizers(ariec61850_command_termination_tests)
add_test(NAME ariec61850_command_termination_tests COMMAND ariec61850_command_termination_tests)

add_executable(ariec61850_control_session_tests tests/test_control_session.cpp)
target_link_libraries(ariec61850_control_session_tests PRIVATE ARIEC61850::core)
target_compile_features(ariec61850_control_session_tests PRIVATE cxx_std_20)
ariec61850_apply_warnings(ariec61850_control_session_tests)
ariec61850_apply_sanitizers(ariec61850_control_session_tests)
add_test(NAME ariec61850_control_session_tests COMMAND ariec61850_control_session_tests)

add_executable(ariec61850_fuzz_smoke_tests tests/test_fuzz_smoke.cpp)
target_link_libraries(ariec61850_fuzz_smoke_tests PRIVATE ARIEC61850::core)
target_include_directories(ariec61850_fuzz_smoke_tests PRIVATE
Expand Down