ICOM PCR-1000. Внешнее управление

Лет 10 назад, до тех времен когда получили широкое распостранение USB донглы rtl-sdr, единственной возможностью слушать желаемые частоты в эфире, была покупка сканирующего радиоприемника. А еще хотелось, чтобы им можно было управлять с компа, ибо крутить валкодер своего Degen DE1103 весело, но утомительно.

И вот я, долго выбирая, остановился на брутальном кирпиче ICOM PCR-1000. Диапазон от 100 кГц до 1.3 ГГц. Управление с компа. Сказка!

Поигрался я им, поигрался, и потребность иметь компьютер для управления приемником начинала раздражать. Иногда хотелость что-то послушать вдали от цивилизации, а цивилизацию в виде ноутбука приходилось тащить с собой. И как-то он оказался запихнут в дальний ящик. Я конечно его извлекал, делал ему модификацию с выводм ПЧ наружу, для ее оцифровки и добавления панорамного SDR. Но все же потребность в куче проводов, и каки-то болтающихся проводов идущих к компу, утомляет.

В прошлом году, я захватил из дома в Вильнюс этот приемник, дабы дореализовать одну интересную идею. А именно — независимый модуль управления PCR-1000.

Требования я сформулировал следующие:

  • Подключение к компьютеру по USB
  • Возможность управлять приемником с панели управления
  • Возможность переключаться между режимами управления с панели и управлением с компьютера.
  • Возможность батарейного питания.
  • Возможность подключения внешних динамиков, ибо громкость встроенного зачастую недостаточна.
  • (опиционально) вывод звука на компьютер через USB, c с представлением в системе как звукового источника

Ранее я года два назад я пытался сделать что-то подобное, но в качесте протокола управления, я взял протокол какого-то трансивера ICOM. Потом застрял с передачей данных по USB, глюках энкодера, и забил.

И вот в феврале этого года я допилил беспроблемную работу сквозь STM32F4. На удивление все пошло достаточно легко.

В настоящий момент моя прошивка умеет передавать все команды от компа к приемнику, и отображать выставленные параметры. Так же от приемника я принимаю уровень сигнала, и так же показываю его на экране.

Снял небольшое видео, о том как оно все работает.

Из неприятного — наблюдатся глюки с отображением значнений ширины фильтра. Подебажив это дело, я обнаружил, что PythonPCR какого-то черта в отсылает команду установки параметров мало того что обрезаную (нет установки фильтра), так еще и без финальных «\r\n» символов.

Это дерьмо сбивало парсинг, и на экране я получал мусор. Сейчас я решил обрабатывать лишь корректные полные команды. Но это вызывает иногда неотрисовку значений фильтра и модуляции. Буду думать.

А пока, вполне оптимистично!