docs(domain B): v2 после adversarial-ревью (22 находки) + кросс-док
Существенная переработка power-lifecycle: - детект running по НАПРЯЖЕНИЮ бортсети (~14В генератор vs ~12.4В покой), не RPM (v2); Power.IgnitionState — единственный канон lifecycle-состояния - триггер shutdown ≠ rate-of-change: ACC-off / under-voltage-held / thermal-trip; cold-crank до ~6В — НОРМА (ride-through), не индикатор обрыва - SoC↔MCU shutdown-протокол специфицирован СЕЙЧАС: hold-up-таймер + heartbeat + safe-to-cut + fail-safe при потере линка (обе стороны); MCU — fail-safe-авторитет - abort при re-power до PONR (ShutdownAborted); shutting-down разбит abortable/committed - НОВОЕ: thermal shutdown (триггер/гистерезис/UX); ordered teardown (E закрывает ISO-TP); таблица MCU-vs-supercap; battery deep-discharge cutoff; монотонные часы для таймеров; первый boot без времени; периодическое сохранение времени - watchdog по фазам (runtime + shutdown RebootWatchdogSec/MCU-дедлайн + boot-окно); v0=SoC+MCU+reboot, bootcount=v4 - фазы: MCU HW fail-safe-таймер = v0 (не v1); save-time = v0 - кросс-док: security-privacy (mic power-gated), ipc Power (enum/reason/ShutdownAborted), e/data-model (engine_running не дублирует IgnitionState), a-base §7 (периодич. save) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
| **MIL-статус + DTC count** (PID 01) | **MVP** | — | v2 |
|
||||
| Чтение DTC (Mode 03) + расшифровка по базе | **MVP** | dtc-база | v2 |
|
||||
| Пробинг поддерживаемых PID | **MVP** | — | v2 |
|
||||
| Состояние машины (`off`/`acc`/`running`) | **MVP** | — | v2 |
|
||||
| `engine_running` (running/stopped/unknown, из RPM) — НЕ дублирует `Power.IgnitionState` | **MVP** | — | v2 |
|
||||
| Подписка с rate-cap (~10–20 Гц) | **MVP** | ipc | v2 |
|
||||
| Pending/permanent DTC (Mode 07/0A) | later | — | v2+ |
|
||||
| Мгновенный расход (computed, **core**) | later | fuel_rate/MAF | v2/v3 |
|
||||
@@ -97,6 +97,8 @@
|
||||
- **ISO-TP/multiframe таймауты** — отдельно от single-frame `GetSignal`-таймаута.
|
||||
- **При падении транспорта:** `Online=false` (ipc), затронутые сигналы → `unavailable` (не `stale`),
|
||||
без зависания/краха (#4); при восстановлении — re-probe.
|
||||
- **На `ShutdownImminent` (от Power, домен B §4):** немедленно **гасим активный OBD-TX и закрываем
|
||||
ISO-TP-сессии** (не оставить ECU в открытой диагностической сессии) — до снятия питания.
|
||||
|
||||
## 6. Зависимости
|
||||
|
||||
|
||||
Reference in New Issue
Block a user