chore: refine project documentation

This commit is contained in:
2026-08-25 22:44:36 +03:00
parent 8237f03930
commit 98d90e1e5a
45 changed files with 457 additions and 516 deletions
+10 -12
View File
@@ -46,27 +46,25 @@ line-out для всех обнаруженных приёмников. Он н
`START`, `STOP`, установку `TRX`/`TUNE`, TX-аудио и CW-текст. Если радио
уже на передаче, прогон аварийно прекращается.
## Стенд «как MSHV»
## Стенд совместимости TCI-клиента
```sh
test/tci/mshv_sim.py --rx 0 # в MSHV это «TCI Client rx1»
test/tci/mshv_sim.py --rx 1 --audio # «TCI Client rx2»
test/tci/mshv_sim.py --rx 0
test/tci/mshv_sim.py --rx 1 --audio
```
`mshv_sim.py` повторяет логику TCI-клиента MSHV по его исходникам — включая обе
особенности, из-за которых он ведёт себя не так, как наш стенд:
`mshv_sim.py` проверяет две особенности поведения совместимых TCI-клиентов:
* **фильтр по номеру приёмника**`if (ls2.at(0)!=tci_trx) continue;`: строка,
адресованная не его приёмнику, для MSHV не существует (и то же самое для
* **фильтр по номеру приёмника**: строка,
адресованная другому приёмнику, игнорируется (и то же самое для
бинарных блоков, по полю `receiver` заголовка);
* **инициализация — один запрос и один ответ**: он шлёт `vfo:<rx>,0;` раз в
* **инициализация — один запрос и один ответ**: клиент шлёт `vfo:<rx>,0;` раз в
500 мс, максимум пять раз, и ждёт `vfo:<rx>,0,<частота>`. Не дождался —
«Error To Initialize TCI Server». Других причин у этой ошибки нет.
Поэтому стенд отвечает на вопрос «почему MSHV не подключается» одной строкой, а
заодно ловит то, что иначе проявляется молча: без `tx_enable` со **своим**
номером приёмника у MSHV не работает PTT (`set_ptt` начинается с
`if (!tci_tx_enable) return;`).
Поэтому стенд диагностирует причину ошибки подключения одной строкой, а заодно
ловит то, что иначе проявляется молча: без `tx_enable` со **своим** номером
приёмника клиент не разрешает PTT.
По умолчанию стенд безопасен на приём: ни `TRX`, ни `TUNE`, ни `START`/`STOP`,
ни TX-аудио он не шлёт. Передачу включает явный `--tx`.