mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-26 04:47:35 +00:00
chore: refine project documentation
This commit is contained in:
+13
-13
@@ -1,11 +1,11 @@
|
||||
# Мультислайсы и панадаптеры (как во FlexRadio)
|
||||
# Мультислайсы и панадаптеры
|
||||
|
||||
Статус: **Этапы 1 + 2 РЕАЛИЗОВАНЫ и ЗАКОММИЧЕНЫ** (ветка `feature/multislice`,
|
||||
коммит `1527b0f`; проверено на эфире) + UI-полировка флагов (`30a6616`,
|
||||
`3049f91`, `a3ac459`).
|
||||
|
||||
**2026-07-10: Этап 3 ПЕРЕПРОЕКТИРОВАН.** Вместо старой идеи «off-span слайс с
|
||||
edge-маркером» принята Flex-модель: **аппаратный DDC = отдельный панадаптер**
|
||||
edge-маркером» принята модель **аппаратный DDC = отдельный панадаптер**
|
||||
(свой спектр+водопад), а слайсы ВСЕГДА живут внутри какого-то панадаптера.
|
||||
Старый черновик (edge-маркеры + slices-рейл) перенесён в «Отвергнутые
|
||||
альтернативы» в конце файла. Реализация Этапа 3 не начата.
|
||||
@@ -44,9 +44,9 @@ edge-маркером» принята Flex-модель: **аппаратный
|
||||
|
||||
---
|
||||
|
||||
## Модель FlexRadio (итог разбора 2026-07-10)
|
||||
## Модель панадаптеров и слайсов (итог разбора 2026-07-10)
|
||||
|
||||
Во Flex **две независимые сущности**, и это ключ ко всему дизайну:
|
||||
В интерфейсе используются **две независимые сущности**, и это ключ ко всему дизайну:
|
||||
|
||||
- **Панадаптер (panafall)** — спектр+водопад. Самостоятельный объект: свой
|
||||
широкополосный захват в железе, свой центр/span/зум, свои настройки водопада.
|
||||
@@ -58,7 +58,7 @@ edge-маркером» принята Flex-модель: **аппаратный
|
||||
ещё один захват) и создаёшь слайсы в нём. Лимиты: 6400 — 2 пана/2 слайса,
|
||||
6600 — 4/4, 6700 — 8/8.
|
||||
|
||||
**Второй приёмник (второй АЦП)** у Flex называется SCU (Spectral Capture Unit):
|
||||
**Второй приёмник (второй АЦП)** представлен отдельным трактом захвата:
|
||||
полный тракт «антенный вход → АЦП → захват». 6600/6700 — два SCU, 6400 — один.
|
||||
У панадаптера НЕТ переключателя «RX1/RX2» — есть селектор **антенны**
|
||||
(ANT1/ANT2/RXA/RXB/XVTR), и радио само сажает панадаптер на SCU под выбранную
|
||||
@@ -66,8 +66,8 @@ edge-маркером» принята Flex-модель: **аппаратный
|
||||
двух SCU) — отдельный режим поверх.
|
||||
|
||||
**Окна:** все панафоллы тайлятся ВНУТРИ одного главного окна (сплиты с
|
||||
перетаскиваемыми разделителями). Вынос панафолла в отдельное OS-окно штатный
|
||||
SmartSDR НЕ умеет — наш pop-out будет улучшением поверх Flex-модели.
|
||||
перетаскиваемыми разделителями). EWSDR дополнительно поддерживает вынос
|
||||
панафолла в отдельное окно ОС.
|
||||
|
||||
---
|
||||
|
||||
@@ -86,12 +86,12 @@ SmartSDR НЕ умеет — наш pop-out будет улучшением по
|
||||
2. Пан 0 (главный) существует всегда; его «слайс A» — текущий главный тракт
|
||||
(WDSP-канал 0). Панадаптеры N>0 живут целиком на слайс-механике Этапа 1
|
||||
(каналы `SLICE_CHAN_BASE+`), при создании пана автоматически создаётся
|
||||
один слайс в его центре (поведение Flex).
|
||||
один слайс в его центре.
|
||||
3. ADC-источник — свойство **панадаптера**, не слайса (бейдж `A1`/`A2` в шапке).
|
||||
В отличие от Flex показываем именно АЦП, а не антенну: на HPSDR-платах
|
||||
Показываем именно АЦП, а не антенну: на HPSDR-платах
|
||||
маппинг «вход→АЦП» жёсткий. Антенны ADC0 (Alex ANT1/2/3) — отдельная
|
||||
ГЛОБАЛЬНАЯ ручка, общая для всех панов этого АЦП (детали в 3.4).
|
||||
4. Буквы слайсов — глобальный пул A..G через все паны (как во Flex A-H):
|
||||
4. Буквы слайсов — глобальный пул A..G через все паны:
|
||||
буква = личность слайса, пан = место жительства.
|
||||
5. Возможности бэкенда описывает запись capabilities (см. таблицу) — UI по ней
|
||||
прячет/блокирует кнопки, а не хардкодит «if Pluto».
|
||||
@@ -324,7 +324,7 @@ ChangeSampleRate).
|
||||
### 3.3 — UI: второй панадаптер в главном окне
|
||||
|
||||
- **Стек панов**: область спектра = вертикальный стек `TPanafallPanel` с
|
||||
`TSplitter` между ними (Flex-стиль). Пан 0 сверху. Высоты в персист.
|
||||
`TSplitter` между ними. Пан 0 сверху. Высоты сохраняются в настройках.
|
||||
- **Шапка пана** (тонкая полоска над спектром, темизирована как флаги):
|
||||
частота центра · диапазон · rate · бейдж ADC `A1/A2` (3.4) ·
|
||||
кнопки `⧉` (pop-out, 3.5) и `×` (закрыть; у пана 0 нет). Шапка пана 0
|
||||
@@ -480,7 +480,7 @@ ChangeSampleRate).
|
||||
|
||||
### 3.5 — Pop-out: панадаптер в отдельном OS-окне
|
||||
|
||||
Улучшение поверх Flex (SmartSDR так не умеет). Кнопка `⧉` в шапке.
|
||||
Кнопка `⧉` в шапке выносит панадаптер в отдельное окно ОС.
|
||||
|
||||
- `TPanFloatForm` — простая TForm-обёртка, в которую переезжает
|
||||
`TPanafallPanel`; `×` окна возвращает пан в стек главного окна.
|
||||
@@ -767,7 +767,7 @@ ApplyAll, тёплый рестарт восстанавливает override п
|
||||
Старый черновик Этапа 3 предлагал «off-span слайсы»: слайс вне видимой
|
||||
панорамы на своём hard-DDC, представленный edge-маркером у края спектра
|
||||
(цветная буква + ◄/► + частота) и/или «slices-рейлом» (полоса-менеджер с
|
||||
чипами слайсов). Отвергнуто 2026-07-10 в пользу Flex-модели «DDC =
|
||||
чипами слайсов). Отвергнуто 2026-07-10 в пользу модели «DDC =
|
||||
панадаптер»: off-span слайс без своего спектра слепой (не видно обстановку
|
||||
вокруг), сущности расползаются (слайс с DDC ≠ слайс без DDC), а рейл дублирует
|
||||
флаги. Идея рейла может вернуться позже как компактный обзор всех слайсов —
|
||||
|
||||
Reference in New Issue
Block a user