Files
viktor b5a8e92e45 DMR-данные (SMS) на TYT MD-UV380 под OpenGD77
Восстановлено из транскрипта сессии после потери рабочего дерева на сервере сборки.

Что внутри:
- четыре новых модуля прошивки (приём, сборка исходящего, меню Messages);
- правки существующих файлов в виде скриптов, с порядком применения;
- инструменты стенда: снятие экрана рации по USB, дамп кадров, эталонная сборка пакета;
- NOTES.md: что проверено в эфире, что не доделано, где грабли.

Работало в эфире в августе 2026: данные ходят в обе стороны в режиме хотспота,
рация принимает SMS и показывает на экране. Отправка собрана и сверена с эталоном
сервера побайтово, но в эфире не проверялась.

Claude-Session: https://claude.ai/code/session_01GJtvG5WwqYNe1b7s9LLtgy
2026-09-11 02:39:24 +09:00

2.2 KiB

name, description, metadata
name description metadata
opengd77-sources-location Где лежат исходники OpenGD77 и почему их нет на GitHub; какая ветка нужна для MD-UV380
type
reference

Исходники OpenGD77 публикуются ZIP-архивами на https://www.opengd77.com/downloads/releases/ , а НЕ на GitHub — авторы намеренно не выкладывают актуальный код в git (форки на GitHub вроде open-ham/OpenGD77 — устаревшие слепки).

Семейства раций разделены по каталогам:

  • MK22/ — NXP MK22: GD-77, DM-1801, RD-5R. MD-UV380 там НЕТ.
  • MDUV380_DM1701/ — STM32F405: TYT MD-UV380/UV390, DM-1701, RT-84. Это нужная ветка.

Релизы MDUV380_DM1701 и их GitID (зашит в .bin, виден в строке версии hotspot):

  • R20231231 — OpenGD77_HS v0.1.17, GitID #140939c
  • R20240908 — v0.1.18, #9947546
  • R20260131 — v0.1.18, #5797626 (самый свежий)

GITVERSION в сборке = git rev-parse --short HEAD дерева сборщика, поэтому чужой GitID (напр. #2dc33f6) в публичных репозиториях не ищется — это личный билд.

Лицензия — НЕ GPLv2. BSD-подобная, но пункт 4 прямо запрещает коммерческое использование и включение в проекты, допускающие коммерческое использование. Для личных раций ограничений нет.

Особенность сборки: исходник не содержит AMBE-кодек (мержится загрузчиком из официальной прошивки). Перед сборкой обязателен шаг prepare → MDUV380_firmware/tools/codec_cleaner.Linux -C → создаёт application/source/linkerdata/codec_bin_section_1.bin. Скрипт prepare идёт с CRLF-переносами и под Linux падает — вызывать codec_cleaner напрямую.

Связано: uv390-dmr-data-path