Files
viktorиClaude Opus 4.8 87df47cb94 Полный реверс протокола калибровки тюнера (IL-декомпиляция)
- research/tuning-re/cil_disasm.py — минимальный CIL-дизассемблер (dnfile).
- research/tuning-re/command-templates.txt — извлечённые шаблоны всех команд.
- docs/tuning-software-protocol.md: точная карта команд-полей + раскладка bufDigTune
  + ВЫВОД: частотная калибровка = ЗАМКНУТЫЙ ЦИКЛ (Set-команды несут band/опорные
  частоты, не абсолютное смещение; WriteAll данных не несёт). Слепой скрипт записи
  freq-трима может снова сбить калибровку -> безопаснее гнать штатным тулом с MMDVM
  BER вместо частотомера, либо сперва рид-онли снять текущую калибровку.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr
2026-07-24 03:39:59 +09:00

29 строки
1.5 KiB
Plaintext

Radio Tuning Software 241219 (UV5118_4819_Tune) — извлечённые шаблоны команд
(из .ctor через RuntimeHelpers.InitializeArray; baud 115200 8N1; CK не проверяется)
# bridge (34 52 05 <cmd> <ck>) -> AT32
CmdConnect 34 52 05 10 9b
CmdEnd 34 52 05 ee 79
CmdTCOn 34 52 05 54 df
CmdTCOn_V 34 52 05 58 e3
# calibration (0x68) -> module
CmdWriteAll 68 bd 01 01 00 00 00 01 01 10
CmdOpenCal 68 b0 01 01 00 00 00 01 01 10
CmdColseCal 68 b0 01 01 00 00 00 01 00 10
SetCalFreq_U 68 b1 01 01 00 00 00 1b 01 01 03 17 d9 6c 48 17 d9 6c 48 19 ef 7b 08 19 ef 7b 08 1c 03 3f d8 1c 03 3f d8 10
SetCalFreq_V 68 b1 01 01 00 00 00 1b 01 02 03 08 1d 1a 48 08 1d 1a 48 08 f2 b9 c8 08 f2 b9 c8 0a 5e a5 d8 0a 5e a5 d8 10
SetAnaTX 68 b3 01 01 00 00 00 04 01 01 02 02 10
SetDigTX 68 b5 01 01 00 00 00 04 01 01 00 02 10
SetAnaVCCN 68 b2 01 01 00 00 00 03 01 01 80 10
SetDigVCCN 68 b4 01 01 00 00 00 03 01 01 80 10
SetCalPWR 68 b8 01 01 00 00 00 05 01 01 01 02 78 10
SetCalMod 68 b6 01 01 00 00 00 04 01 01 01 96 10
SetCalSlot 68 b7 01 01 00 00 00 07 01 00 05 9a 01 08 75 10
ReadAnaVCCN 68 b2 01 01 00 00 00 02 00 02 10
ReadDigVCCN 68 b4 01 01 00 00 00 02 00 02 10
ReadMod 68 b6 01 01 00 00 00 03 00 01 00 10
ReadPWR 68 b8 01 01 00 00 00 04 00 01 01 00 10
ReadSlot 68 b7 01 01 00 00 00 01 00 10
bufDigTuneInit 01 00 00 00 00 b9 b9 b9 b9 b9 b9 32 32 32 32 32 32 9b 9b 9b 9b 9b 9b
# bufDigTune layout: [0]device [1]V_DigFreq [2]U_AnaFreq [3]V_AnaFreq [4]U_DigFreq (signed byte, 0=center)