🚧 WIP
This commit is contained in:
@@ -321,13 +321,25 @@ requirement ID for each item in parentheses.
|
||||
(0x1020/0x1021) and module-diagnosis (0x1050) fault injection
|
||||
and clear; SF LED on the coupler reflects injected LED errors.
|
||||
- [x] M5: configuration — coupler settings forms (watchdog time/masks/type/close-on-timeout via 0x1000–0x100B, response delay 0x1037, idle timeout 0x1030) with the device's own validation surfaced (writes refused while the watchdog runs → field error); module list editor over the 13-article catalog with SAVE CONFIG → live process-image rebuild (`rebuild_node`: datastore survives, values clear like a KBUS reset, 0x1022–0x1025 and 0x2030+ updated) + persistence to the node-config YAML via a comment-preserving custom emitter.
|
||||
- [x] M5a: channel names for every module channel (FR-10.2.11) —
|
||||
node-config persisted (`channel_names:` mapping, I/O code →
|
||||
name), survive module saves and rebuilds, shown in the overview
|
||||
list/tooltips and a per-channel name editor; configuration
|
||||
import/export as JSON (FR-10.2.12) — modules, channel names,
|
||||
coupler settings in one file, atomic validated import with
|
||||
stale-name-code dropping; split overview (FR-10.2.13) — DIN-rail
|
||||
graphic on top, live scrollable channel list below with I/O
|
||||
code, configured name, and a switch (DI/DO) / numeric field
|
||||
(AI/AO) for display + manipulation.
|
||||
- [ ] M6: scenario run view + alias-ownership rejection (FR-10.2.6,
|
||||
FR-10.2.9) — deferred.
|
||||
- [x] Tests: 28 web-UI tests (`tests/test_webui.py`) via httpx
|
||||
- [x] Tests: 38 web-UI tests (`tests/test_webui.py`) via httpx
|
||||
`ASGITransport` (in-process, no socket) + live verification:
|
||||
browser SAVE CONFIG rebuilds the node and persists YAML; Modbus
|
||||
master reads the module description (0x2030) correctly after the
|
||||
loader-overlap register fix. Full suite: 206 passing.
|
||||
loader-overlap register fix; channel-name save + list sync;
|
||||
export/import round-trip with a Modbus read after the rebuild.
|
||||
Full suite: 216 passing.
|
||||
|
||||
### Framework gaps (spec §4 — Scenario & Macro Engine)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user