Справочник режимов¶
soniks-client-new передаёт режим модуляции строкой --mode. Диспетчер ищет её
в таблице SATNOGS_FLOWGRAPH_MODES
(flowgraph_dispatcher/flowgraph_dispatcher.py) и по ней выбирает скрипт
флоуграфа и правила обработки аргументов.
Таблица режимов¶
Значения флагов:
бодрейтрежим принимает
--baud. Еслинет, переданный--baudмолча отбрасывается.фреймингдиспетчер сам подставляет
--framingиз последней колонки, затирая то, что прислал клиент. Еслинет, значение клиента уходит во флоуграф как есть.кадрыдиспетчер поднимает подписчика кадров на порту
--zmq-base-port. Еслинет, JSON-файлов кадров не будет — только аудио, водопад и (по флагу) IQ.
|
Скрипт флоуграфа |
Бодрейт |
Фрейминг |
Кадры |
|---|---|---|---|---|
|
|
нет |
нет |
да |
|
|
нет |
нет |
нет |
|
|
да |
|
да |
|
|
да |
нет |
да |
|
|
да → |
нет |
да |
|
|
нет |
нет |
да |
|
|
нет |
нет |
нет |
|
|
да |
|
да |
|
|
да |
|
да |
|
|
да |
|
да |
|
|
да |
нет |
нет |
|
|
да |
|
да |
|
|
да |
|
да |
|
|
да |
нет |
да |
|
|
да |
нет |
да |
|
|
да |
нет |
да |
|
|
да |
|
да |
|
|
да |
нет |
да |
|
|
да |
|
да |
|
|
да |
|
да |
|
|
да |
|
да |
|
|
нет |
нет |
нет |
|
|
нет |
нет |
нет |
|
|
да |
нет |
нет |
Выделены режимы, добавленные форком.
Особые случаи¶
Соответствие «режим → флоуграф» — многие к одному, и в нескольких местах диспетчер отклоняется от таблицы:
FSK,GFSK,GMSK,MSK→ один и тот жеsatnogs_fsk_ax25.pyВсе четыре — квадратурная демодуляция с восстановлением тактовой частоты Мюллера—Мюллера и декодером AX.25. Разница между модуляциями поглощается фильтрами, отдельных флоуграфов под них нет.
FSKна 50000 или 400000 бод →satnogs_fsk_phasma_decoder.pyПодмена скрипта происходит после того, как
--baudrateуже подставлен, так что PHASMA получает исходный бодрейт. Ни в каком журнале это не отражается.GFSK Pkst→ дополнительно--frame-size=192Подставляется, только если задан
--baud. Без бодрейта размер кадра не передаётся и флоуграф использует своё значение по умолчанию.CW→--wpmвместо--baudrateКлиент передаёт скорость передачи в словах в минуту через тот же
--baud; диспетчер переименовывает параметр.SSTV→satnogs_fm.pyИзменение форка: режим
SSTVтеперь просто записывает аудио, а не декодирует изображение. Прежнее поведение доступно под отдельным режимомSSTV_PD120.- Неизвестный режим
Любая строка не из таблицы приводит к
UNKNOWN(satnogs_unknown_transmission.py) с бодрейтом 48000, если--baudне задан. Наблюдение не падает — записывается широкополосный сигнал.
Флоуграфы вне таблицы¶
Собираются и устанавливаются, но не соответствуют ни одному режиму, то есть из клиента недостижимы:
generic/iq_receiver.grc— только IQ и водопад, с отключаемой доплер-компенсацией;generic/example_flowgraph.grc— минимальный шаблон для новых флоуграфов.
Запускать их можно вручную, как обычные скрипты (satnogs_iq_receiver.py --help).
Добавление режима¶
См. Добавление флоуграфа и режима: недостаточно положить .grc — нужны записи в
SATNOGS_FLOWGRAPH_SCRIPTS, SATNOGS_FLOWGRAPH_MODES и в списке set(flowgraphs …) соответствующего CMakeLists.txt.