feat: replace IED fascia, animate LEDs, and fix FAT signal naming - #269
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d026665751
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| </Setter.Value> | ||
| </Setter> | ||
| <Style.Triggers> | ||
| <DataTrigger Binding="{Binding IsConnected}" Value="True"> |
There was a problem hiding this comment.
Bind FAT card LEDs to their live connection property
When this shared template is rendered by IoListTestingWindow.xaml, its data context comes from Project.Ieds and is an IoTestIedPlan, which exposes connection state as IsLiveConnected rather than IsConnected. This binding therefore remains unset in the FAT view, so all three lamps stay red even after the IED reaches the connected/READY state; provide the template with a common connection-state property or handle the FAT model's property explicitly.
Useful? React with 👍 / 👎.
| <Viewbox Stretch="Uniform"> | ||
| <Canvas Width="256" Height="256" Background="Transparent"> |
There was a problem hiding this comment.
Update the fascia contract test for the redesigned template
The full test suite run by the build and release workflows still asserts that this Viewbox is named RelayFasciaArtwork, that the template contains no TextBlock elements, and that several legacy colors remain present. This redesign violates all of those unchanged assertions, so ArvrelMiniIedFasciaTests.CompactArvrelFascia_IsVectorOnlyAndKeepsRecognizableRelayHardware will fail on every full CI/release test run; update that contract alongside the new artwork.
Useful? React with 👍 / 👎.
Summary
Assets/RelayFascia.svgartwork with the new ARSAS Premium IED fasciaResources/ArvrelMiniIedFascia.xamlso the IED Card uses the new design without adding an SVG runtime dependencyIec61850MonitorDevice.IsConnectedFAT signal naming
A PhsA,A PhsB,A PhsCPosare qualified by Logical Node class when needed, e.g.XCBR PosandCSWI PosMod,Beh,Health,Loc, andOpCntDig01orBreaker positionremain unchanged$IEC reference notation are supportedRuntime behavior
IsConnected = false→ TRIP / ALM / PKP lamp positions render redIsConnected = true→ all three render greenIedRelayFrontPanelTemplateremains unchanged, so the new fascia is picked up through the currentInstallArvrelMiniIedFascia()pathValidation
FatDataSetSignalProjectionServicewithout changingStaticMemberReference,RuntimeReference, SignalId generation, or DataSet membership identity$notation, generic IEC DOs, custom labels, and safe fallback