Nominal commutation
Unguarded target
Healthy six-step hall sequence selects the expected active phase.
- Expected
- PASS
- Expectation
- MET
- Unsafe drive
- 0
- Evidence hash
882f553a6d7b
Two MCU hardware-in-the-loop run: STM32 target firmware, Oracova base board plant and fault injector, real phase/hall wiring, RTT evidence captured through probe-rs.
Unguarded target
Healthy six-step hall sequence selects the expected active phase.
882f553a6d7bUnguarded target
A stuck Hall A line creates valid-looking wrong sectors; unguarded firmware keeps driving.
83f848006ea0Guarded target
The same fault is converted into a latched no-drive state by the invalid-hall guard.
c6aa16c7e324Unguarded target
All hall lines low is treated as invalid input; phases stay off.
f79987e41d7fUnguarded target
The oracle sees a sequence jump; this remains the next guard to add.
00641270c1a4Buggy target
A copy-paste commutation-table bug drives the wrong phase in two sectors.
d1fd03dca377| Case | Variant | Verdict | Unsafe | Mismatch | Invalid shutdown | Seq fault | Verdict hash |
|---|---|---|---|---|---|---|---|
| Nominal commutation | Unguarded target | PASS | 0 | 0 | 0 | 0 | 882f553a6d7b |
| Hall A stuck low | Unguarded target | FAIL | 4 | 8 | 4 | 0 | 83f848006ea0 |
| Hall A stuck low | Guarded target | PASS | 0 | 24 | 4 | 0 | c6aa16c7e324 |
| Hall bus forced 000 | Unguarded target | PASS | 0 | 24 | 24 | 0 | f79987e41d7f |
| Skipped hall sector | Unguarded target | FAIL | 0 | 0 | 0 | 7 | 00641270c1a4 |
| Swapped commutation sectors | Buggy target | FAIL | 8 | 8 | 0 | 0 | d1fd03dca377 |
787e7c0a8021a95d84130157787e7c0a802199c0485d4f41787e7c0a8021c7811e600a6d