From 1067d957a85b952916b1c0a119f24ce2cdaef8b9 Mon Sep 17 00:00:00 2001 From: viktor Date: Fri, 24 Jul 2026 04:57:47 +0900 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=B0=D1=80=D1=82=D0=B0=20=D0=B2=D0=BE?= =?UTF-8?q?=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D0=B5=D0=B9=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=20(SMS/=D1=88=D0=B8=D1=84?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5/=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D1=8C/inband)=20+=20Kirisun-=D1=80=D0=BE=D0=B4?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docs/fm100b-firmware-re.md: функциональная разбивка 172 команд модуля. SPKirisunEffectCnf -> общий Beken-378x кодбейс с Kirisun/др. брендами. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr --- docs/fm100b-firmware-re.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/fm100b-firmware-re.md b/docs/fm100b-firmware-re.md index 6ce280f..944ca4b 100644 --- a/docs/fm100b-firmware-re.md +++ b/docs/fm100b-firmware-re.md @@ -86,6 +86,17 @@ Bootloader | Application | RF Firmware | NET info через **загрузчик модуля** (download-режим), не через рабочую прошивку. Это живая операция (при владельце). Сами cal-значения доступны и так — через B-команды (tools/tuning_read.py). +## Возможности модуля (по API, 172 команды) +- **SMS:** `ATC_Msg`, `ATC_SMSProc`, `ATC_SmsmodeSetReq`, `ATUploadRxSmsCnf`, `ATCRxSmsSendAck` — полный DMR-SMS. +- **Шифрование голоса:** `ATC_CurChKeySetReq`, `ATC_SetEncrypt`, `ATVoiceEncryptQuery`, `ATC_KeyHandle_*`. +- **DMR-вызовы:** call setup/roaming (`SPRoamList`), группы/контакты, digital monitor, emergency (`ATRecvEmgCallInd`), busy-status. +- **Аудио/голос:** `ATVoiceEncCnf/DecCnf`, `ATCRecvAmbedataCnf` (AMBE-кадры), `SPATVoicedata` (сырой голос-путь), + кодек-гейны, DTMF, `ATC_PlaySingleToneReq`, `SPKirisunEffectCnf` (→ общий кодбейс с **Kirisun**). +- **Запись/данные:** `ATC_LocalRecordPlayReq`/`ATC_RecordDataPlayReq` (запись голоса!), inband-данные + (`SPSendInBandDataReq`/`SPCclSpInBandDataInd`). +Вывод: модуль — универсальный Beken-378x DMR/intercom SoC, используемый разными брендами +(Radtel/Kirisun/iRadio). Многое из этого можно дёргать по 0x68 через мост (осторожно — только Query/Read вслепую). + ## Реальные следующие шаги (реверс+правка+тест) 1. **API-поверхность:** извлечь полный список ATC_*/SP*-команд (это протокол 0x68 между AT32 и модулем) — карта того, чем вообще можно управлять. Уже частично в docs/fm100b-commands.md.