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.