[focas] FOCAS — DIAG: address scheme #354
Reference in New Issue
Block a user
Delete Branch "auto/focas/F2-a"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
DIAG:address scheme for FOCAS — whole-CNC and per-axis diagnostic data.FocasAreaKind.Diagnostic— parsed fromDIAG:nnn(whole-CNC) andDIAG:nnn/axis(per-axis, axis index encoded inBitIndex).FocasCapabilityMatrix— new per-seriesDiagnosticRangetable:ValidateDiagnostichelper on the matrix.IFocasClient.ReadDiagnosticAsync(diagNumber, axisOrZero, type, ct)— default returnsBadNotSupportedso older transports (e.g. IPC) degrade gracefully.FwlibFocasClientimplements via newcnc_rddiagP/Invoke (reusingIODBPSD).FocasDriver.ReadAsyncdispatches Diagnostic addresses through the new path.FakeFocasClientextended for tests.Test plan
dotnet build src/ZB.MOM.WW.OtOpcUa.Driver.FOCAS— clean (0 / 0)dotnet test tests/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Tests— 266 / 266 passed (30 new inFocasDiagnosticAddressTests: parser positives + negatives, capability boundaries, driver dispatch with axis threading, init-time range rejection,BadNotSupportedfallback)🤖 Auto-generated by the Mode-B execution loop. Closes #263.
Closes #263