Опознание БЕЗ разбора рации, по схеме RT4DDLT01 (Radtel v2.1): DMR-модуль «FM100B» = один чип U700 HF6853 — одночиповый DMR-SoC семейства Auctus A6 (внутри RDA8809): CPU + ВЧ-трансивер + DSP + AMBE-вокодер + аудио-кодек в одном кристалле, прошивка во внешнем SPI-flash, кварц 26 МГц. Прежняя версия «Sicomm SCT3258TD» неверна (SCT3258 — baseband-only без ВЧ; и нативный протокол другой). Скрытый ATE/CPS-интерфейс полностью реверснут (jhart99/a6tools, вендорен в research/a6tools). Даёт КОНКРЕТНУЮ починку нашей TX-проблемы: AT+GETFREQERR / AT+DMOFREQERR=N, offset=-2500+10*N, ±2500 Гц — наши ~1100 Гц внутри диапазона. Плюс DMR_ADJTXSYMDEV (девиация), FGU_AFC, DMOSETPOWER, CPS chanInfo, дамп прошивки модуля. - docs/hf6853-auctus-a6.md — идентификация + протокол + план TX-fix - tools/a6_freqfix.py — заготовка тула (probe/read/write, не запускать вслепую) - research/a6tools/ — вендоренный реверс (MIT), atcommands.md/cpecommands.md - docs/dmr-tx-recovery.md, README — путь 0 (AT+DMOFREQERR) как лучший - research/rt4ddlt01-dmr-module-sheet.png — рендер листа схемы DMR-модуля Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr
35 строки
814 B
Python
35 строки
814 B
Python
def escaper(msg):
|
|
""" escape message
|
|
|
|
this function escapes special characters in the message. These
|
|
are 0x5c, 0x11 and 0x13 which are '\' and XON and XOFF characters.
|
|
|
|
@param msg: the message to escape
|
|
@return: the escaped message
|
|
|
|
"""
|
|
|
|
out = bytes(sum([[0x5c, 0xFF ^ x ] if x in [0x11, 0x13, 0x5c] else [x] for x in msg], []))
|
|
return out
|
|
|
|
def unescaper(msg):
|
|
""" unescape message
|
|
|
|
this function undoes any escape sequences in a received message
|
|
|
|
@param msg: the message to unescape
|
|
@return: the unescaped message
|
|
"""
|
|
|
|
out = []
|
|
escape = False
|
|
for x in msg:
|
|
if x == 0x5c:
|
|
escape = True
|
|
continue
|
|
if escape:
|
|
x = 0x5c ^ x ^ 0xa3
|
|
escape = False
|
|
out.append(x)
|
|
return bytes(out)
|