Наивный вариант скетча AFP-FSK модема.

Наивный вариант скетча AFP-FSK модема.

Инструкция по «кнопкам Морзе»:

Нажатие Нижняя кнопка Верхняя кнопка
[1] Индикация частоты настройки (3.579), режим приёма.
-1 kHz +1 kHz
-10 kHz +10 kHz
● ▬ -100 kHz +100 kHz
● ● ▬ Сканирование вниз по частоте. Сканирование вверх по частоте.
● ● ● LSB USB
[2] Индикация каналов (CH.01), режим приёма.
Предыдущий канал. Следующий канал.
-10 каналов +10 каналов
● ▬ К каналу CH.00 К каналу CH.99
● ● ▬ Сканирование вниз по каналам. Сканирование вверх по каналам.
[4-CW] Телеграфный режим.
Тон -10 Hz. Тон +10 Hz.
Тон -100 Hz. Тон +100 Hz.
● ▬ Тон 300 Hz. Тон 2000 Hz.
● ● Запомнить тон самоконтроля.
[4-beacon] Подменю управления CW маяками, от №0 до №9.
Предыдущий маяк. Следующий маяк.
● ▬ К первому маяку №0 К последнему маяку №9
Остановить маяк. Запустить выбранный маяк.
● ● Сохранить номер текущего маяка в памяти модема.
[4-period] Подменю установки периода цикла CW маяка, от 30 до 900 сек.
-1 сек. +1 сек.
-10 сек. +10 сек.
● ▬ -100 сек. +100 сек.
● ● ▬ К min значению в 30 сек. К max значению в 900 сек.
● ● Занести длительность цикла маяка в память модема.
[4-WPM] Подменю установки скорости CW маяка, от 5 до 20 WPM.
-1 WPM. +1 WPM.
-10 WPM. +10 WPM.
● ● Запомнить скорость маяка в памяти модема.
[5-SWR] Контроль КСВ (S1.23) режима настройки передатчика.
Показать «Reflect Points» Показать «Forward Points»
Вернуться к отображению КСВ.
[5-points] Контроль мощности (P.123) режима настройки передатчика.
-1 Point +1 Point
-10 Points +10 Points
● ▬ -100 Points +100 Points
● ● ● Мощность отражённой волны. Мощность падающей волны.
[6-Watts] Контроль мощности (P2.34) режима настройки передатчика.
-10 mW +10 mW
-100 mW +100 mW
● ▬ -1000 mW +1000 mW
[7-Voltmeter] Индикация напряжения батареи (U12.5)
-0.1 V +0.1 V
-1.0 V +1.0 V
● ● Считать выставленное напряжение верным (калибровка).
[7-Brightness] Управление яркостью индикатора (br. 4).
● or ▬ Уменьшить яркость индикатора. Увеличить яркость индикатора.
● ● Запомнить текущее значение яркости индикатора.
[7-Buttons Beeper] Озвучивание нажатия кнопок.
● или ▬ Отключить. Включить.
● ● Сохранить настройку в памяти модема.
[7-Submenu Beeper] Озвучивание входа в меню и выхода из него.
● или ▬ Отключить. Включить.
● ● Сохранить настройку в памяти модема.
[8] Калибровка частоты модуля Si5351a через подбор коэффициента.
-1 point. +1 point.
-10 points. +10 points.
● ▬ -100 points. +100 points.
● ● ▬ -500 points. +500 points.
● ● Запомнить текущее значение калибровочного коэффициента.
[9] Задание нагрузочной ёмкости кварца в модуле Si5351a.
● or ▬ -2 pF (ряд 6, 8, 10 pF). +2 pF.
● ● Запомнить текущее значение нагрузочной ёмкости.
[10] Уход из сетки 1 kHz в режиме приёма.
-1 Hz +1 Hz
-10 Hz +10 Hz
● ▬ -100 Hz +100 Hz
● ● ▬ -500 Hz +500 Hz
● ● ● LSB USB

Функциональная клавиша понимает такие нажатия:

Нажатие Действие
[1-2] Основное меню.
[1] «Индикация частоты настройки» ⇒
[2] «Индикация каналов» ⇒ [1]
[4-10] Пять самостоятельных сервис-меню. Вызываются из основного.
● ● [4-CW] Телеграфный режим[4] ⇒
[4-beacon] Управление CW маяками ⇒
[4-period] Период цикла CW маяка ⇒
[4-WPM] Скорость CW маяка ⇒ [4-CW]
● ▬ [5-SWR] SWR-meter ⇒
[5-points] Управление мощностью, Points ⇒
[6-Watts] Управление мощностью, Ватты ⇒ [5-SWR]
● ● ▬ [7-Voltmeter] Вольтметр и его калибровка ⇒
[7-Brightness] Управление яркостью индикатора ⇒
[7-Buttons Beeper] Озвучивание нажатия кнопок. ⇒
[7-Submenu Beeper] Озвучивание входа в меню и выхода из него. ⇒
● ● ● ▬ [8] Калибровка частоты модуля Si5351 ⇒
[9] Выбор ёмкости нагрузки кварца модуля Si5351 ⇒ [8]
● ● ● [10] Задание опорной частоты вне сетки 1 kHz.
Нажатия унифицированного назначения.
Переход между элементами сервис-меню, если есть.
Выход из любого сервис-меню в основное.

Верхняя кнопка функциональной клавиши:

Нажатие Действие
[1-2] Основное меню.
любое Включить или отключить индикатор (по кругу).
[4-6] Режим телеграфа, SWR-метра и задатчика мощности.
любое Формирование эфирной посылки при нажатии.
[6-Watts] Задатчик мощности в Ваттах.
любое Эфирная посылка с перестройкой на заданную мощность.

Третья клавиша пускай отвечает за регулировку усиления в динамике. Поскольку имеются три самостоятельных режима (приём, телеграф с тоном самоконтроля, передача «цифры», которую тоже неплохо бы озвучить), для каждого из режимов выставляется собственный уровень звука.

Нажатие Нижняя кнопка Верхняя кнопка
-1 dB громкости. +1 dB громкости.
-10 dB громкости. +10 dB громкости.
● ▬ 0 dB - минимальная громкость. +79 dB - максимальная громкость.
● ● ▬ Аппаратное отключение. Включить звук.
● ● Запомнить текущее значение громкости для данного режима.

В целом автор старался назначить кнопкам нажатие тем проще, чем чаще в нём возникает необходимость. Но всё это можно переназначить в скетче каким-то иным образом, ибо несложно.

Скетч этого варианта: 1540076004.zip
При #define powerPWM 1 в конфигах есть регулировка мощности.
При #define powerPWM 0 режимы [5-points] и [6-Watts] отсутствуют.