Rework radar system

This commit is contained in:
Ayzen
2026-10-06 12:32:26 +03:00
parent 552cdc688a
commit 5bb86b7165
299 changed files with 13537 additions and 27763 deletions
+13 -8
View File
@@ -18,12 +18,12 @@
## Раскладка стадий
| Стадия | Порт мастера | Ключ | Выход | Отражение |
|---|---|---|---|---|
| 0 | 1 | A | 0 | `S11` |
| 1 | 1 | B | 1 | `S22` |
| 2 | 2 | A | 2 | `S33` |
| 3 | 2 | B | 3 | `S44` |
| Стадия | Порт мастера | Ключ | Выход |
|---|---|---|---|
| 0 | 1 | A | 0 |
| 1 | 1 | B | 1 |
| 2 | 2 | A | 2 |
| 3 | 2 | B | 3 |
И стадии, и выходы нумеруются **порт-мажорно**: старшие биты счётчика стадий
выбирают порт, младший — положение ключа. **Номер выхода равен номеру стадии**,
@@ -35,8 +35,8 @@
> два оказывались переставлены относительно физического порядка — слоты 0,1,2,3
> попадали на выходы 0,2,1,3. Физический порядок подтверждён замером. Данные,
> снятые до смены, **несопоставимы** с новыми: выходы 1 и 2 поменялись смыслом,
> поэтому калибровки и референсы надо переснять. Имена S-параметров те же, но
> `S22` теперь означает «порт 1, положение B», а не «порт 2, положение A».
> поэтому калибровки и референсы надо переснять. Выход 1 теперь означает
> «порт 1, положение B», а не «порт 2, положение A».
Из этого следует главное свойство: **положение ключа — это младший бит номера
стадии**, а период 2 нацело делит 4 стадии. Значит через границу точки чередование
@@ -44,6 +44,11 @@
цикл триггера — абсолютный счётчик стадий не нужен, нужна только правильная
чётность, а её контроллер восстанавливает на каждой точке по длине паузы.
Приложение сохраняет только прохождение от мастера к приёмникам слейвов.
Отражения мастера не собираются. Канал хранится как физическая пара
`(input, output)`: входы 0 и 1 — порты первого слейва, 2 и 3 — второго;
выход — номер стадии из таблицы.
## Контракт по проводу
Хост отправляет это в `build_sweep_settings_payload`, прошивка читает — обе