Справочник режимов

soniks-client-new передаёт режим модуляции строкой --mode. Диспетчер ищет её в таблице SATNOGS_FLOWGRAPH_MODES (flowgraph_dispatcher/flowgraph_dispatcher.py) и по ней выбирает скрипт флоуграфа и правила обработки аргументов.

Таблица режимов

Значения флагов:

бодрейт

режим принимает --baud. Если нет, переданный --baud молча отбрасывается.

фрейминг

диспетчер сам подставляет --framing из последней колонки, затирая то, что прислал клиент. Если нет, значение клиента уходит во флоуграф как есть.

кадры

диспетчер поднимает подписчика кадров на порту --zmq-base-port. Если нет, JSON-файлов кадров не будет — только аудио, водопад и (по флагу) IQ.

--mode

Скрипт флоуграфа

Бодрейт

Фрейминг

Кадры

AFSK

satnogs_afsk1200_ax25.py

нет

нет

да

APT

satnogs_noaa_apt_decoder.py

нет

нет

нет

BPSK

satnogs_bpsk.py

да

ax25

да

BPSK PMT-A3

satnogs_argos_bpsk_ldr.py

да

нет

да

CW

satnogs_cw_decoder.py

да → --wpm

нет

да

DUV

satnogs_amsat_fox_duv_decoder.py

нет

нет

да

FM

satnogs_fm.py

нет

нет

нет

FSK

satnogs_fsk_ax25.py

да

ax25

да

FSK AX.100 Mode 5

satnogs_fsk_ax100_mode5.py

да

ax100_mode5

да

FSK AX.100 Mode 6

satnogs_fsk_ax100_mode6.py

да

ax100_mode6

да

GENESIS FSK

satnogs_genesis_fsk.py

да

нет

нет

GFSK

satnogs_fsk_ax25.py

да

ax25

да

GFSK Pkst

satnogs_fsk_phasma_decoder.py

да

ax25

да

GFSK Rktr

satnogs_reaktor_hello_world_fsk9600_decoder.py

да

нет

да

GFSK/BPSK

satnogs_qubik_telem.py

да

нет

да

GFSK_GEOSCAN

satnogs_geoscan_gfsk_decoder.py

да

нет

да

GMSK

satnogs_fsk_ax25.py

да

ax25

да

GMSK USP

satnogs_usp_fsk_decoder.py

да

нет

да

MSK

satnogs_fsk_ax25.py

да

ax25

да

MSK AX.100 Mode 5

satnogs_fsk_ax100_mode5.py

да

ax100_mode5

да

MSK AX.100 Mode 6

satnogs_fsk_ax100_mode6.py

да

ax100_mode6

да

SSTV

satnogs_fm.py

нет

нет

нет

SSTV_PD120

satnogs_sstv_pd120_demod.py

нет

нет

нет

UNKNOWN

satnogs_unknown_transmission.py

да

нет

нет

Выделены режимы, добавленные форком.

Особые случаи

Соответствие «режим → флоуграф» — многие к одному, и в нескольких местах диспетчер отклоняется от таблицы:

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; диспетчер переименовывает параметр.

SSTVsatnogs_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.