docs(domain H): v2 — медиа/аудио + арбитр ducking, после adversarial-ревью (20 находок) + кросс-док
Новый домен H (медиа/аудио). Ядро — сквозной арбитр аудио (политика фокуса/ducking поверх PipeWire, role-based), плюс медиаплеер (локальное/BT A2DP/AVRCP/радио/стриминг). Многоагентный adversarial-ревью: 24 находки, 20 подтверждено (default-refute), все применены. Ключевое из ревью: - symphonia НЕ декодирует Opus → отдельный audiopus (libopus, BSD). - AEC: module-echo-cancel (≠ filter-chain) в audio-plane, не в ассистенте — резолв D §147. - media.role (арбитраж) vs media.category (Playback/Capture) разведены. - Кнопки громкости мультируля — uinput→Wayland-input (C/K), не интенты ассистента. - Crash-safe по двум осям (source: жизнь ноды + проактивный cork по NameOwnerChanged/watchdog; sink: пересчёт при возврате output). - intra-role media-фокус (один media-продюсер), гистерезис фокуса (анти-pumping), duck = относит. аттенюатор. - boot аудио-плоскости на Stage 1; отказ-пути плеера (битый файл/обрыв A2DP/ENOSPC/underrun); resume без авто-старта. Кросс-док: D §147 AEC→✅; tech-stack (symphonia/audiopus/module-echo-cancel); hardware §4 (amp-mute-GPIO + FM-тюнер + откр. вопросы); B §4 (amp-mute перед cut); architecture §9 (аудио-арбитр → H); domains/README (строка H). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -83,8 +83,9 @@ fail-safe при отказе/зависании самого MCU** (незав
|
||||
| **CAN/OBD** | ELM327 (USB/BT) | нативный CAN-трансивер → **SocketCAN** |
|
||||
| **GPS** | USB/UART, NMEA | **внешняя/активная антенна** (LNA); 1PPS — опц. (PPS-точность времени; на USB-донглах обычно нет) |
|
||||
| **Связь** | USB-модем (ModemManager) / Wi-Fi | — |
|
||||
| **Аудио** | I2S codec + усилитель | — |
|
||||
| **Аудио** | I2S codec + усилитель (+ mute/enable-GPIO — anti-pop) | — |
|
||||
| **Микрофон** | USB **mic-массив** (wake-word, шумоподавление) | — |
|
||||
| **Радио** *(later)* | — | FM-тюнер (Si47xx-класс) — нужен для радио (домен H §7); 🟡 добавить или отказаться |
|
||||
| **Камеры** | задняя (CVBS capture-чип + драйвер, **v2**) | dashcam / surround (задел, домен J) |
|
||||
| **Мультируль** | кнопки руля: чтение с CAN **или** ADC (резистивная лесенка) | — |
|
||||
|
||||
@@ -155,6 +156,8 @@ DBC/маппинг сигналов** (см. [data-model.md](data-model.md) §7)
|
||||
- 🟡 **Тепловой режим — софт закрыт** в [a-base](../domains/a-base-system.md) §10; **hardware-сторона открыта** (конверт/темп-класс/cold-start/охлаждение — §1a).
|
||||
- ◻️ **Бюджет hold-up** (числа: ток/hold-time/дератинг) — выбор supercap/cap гейтится этим (§3).
|
||||
- ◻️ **CAN-front-end части** (трансивер/защита) + **battery-RTC** на reference-плате — финализировать при выборе платы.
|
||||
- 🟡 **FM-тюнер** (Si47xx-класс) для радио — добавить в периферию (§4) или отказаться от радио. → домен H §7.
|
||||
- ◻️ **Amp mute/enable-GPIO** (anti-pop при boot/shutdown): линия + секвенс-контракт (mute-then-cut). → домен H §8 + B §4.
|
||||
- ✅ **Износ eMMC/SD** → резолв в [a-base-system.md](../domains/a-base-system.md) §9–§10 (journald volatile, tmpfs, zram вместо swap, write-minimization).
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user