Восстановлено из транскрипта сессии после потери рабочего дерева на сервере сборки. Что внутри: - четыре новых модуля прошивки (приём, сборка исходящего, меню Messages); - правки существующих файлов в виде скриптов, с порядком применения; - инструменты стенда: снятие экрана рации по USB, дамп кадров, эталонная сборка пакета; - NOTES.md: что проверено в эфире, что не доделано, где грабли. Работало в эфире в августе 2026: данные ходят в обе стороны в режиме хотспота, рация принимает SMS и показывает на экране. Отправка собрана и сверена с эталоном сервера побайтово, но в эфире не проверялась. Claude-Session: https://claude.ai/code/session_01GJtvG5WwqYNe1b7s9LLtgy
2.2 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| opengd77-sources-location | Где лежат исходники OpenGD77 и почему их нет на GitHub; какая ветка нужна для MD-UV380 |
|
Исходники 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