Replace every em dash with real punctuation (rewrites, not hyphen swaps) in docs, code comments, scripts, configs, and the port records; convert en dashes, curly quotes, ellipsis glyphs, arrows, and section signs to ASCII; drop machine-writing tell phrases from living docs. ADR titles now use a colon. The M2 bring-up DTS model string carried an em dash into the patch series and its record echoes; fixed at both, and the full series re-verified to apply cleanly onto pristine 6.18.46. One comment in freshness.h deliberately names the em dash glyph the UI renders as the unknown mark; that is data, kept as prose naming it. Verified: cargo tests (sim, config-lint, rs485-bridge), shellcheck, both driver MC/DC harnesses, patches-apply.
21 lines
574 B
Markdown
21 lines
574 B
Markdown
# Relay Drive
|
|
|
|
> **Outcome tested:** A relay is exported transparently and driven without disturbing a held contact.
|
|
|
|
**Coverage**: relays.c: 40/40 conditions, 100% MC/DC (CI-enforced)
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
A[warden_relay_set idx,on] --> B{idx < COUNT?}
|
|
B -- no --> Z[no-op]
|
|
B -- yes --> C{exported?}
|
|
C -- no --> D[write export] --> E{exported now?}
|
|
E -- no --> Z2[give up]
|
|
E -- yes --> F
|
|
C -- yes --> F[read direction]
|
|
F --> G{dir == out?}
|
|
G -- no --> H[preserve level: read value,\nwrite high/low]
|
|
G -- yes --> I
|
|
H --> I[write value = on?1:0]
|
|
```
|