Repository navigation
OpenDMR 0.2.0
OpenDMR 0.2.0 for the Baofeng DM-32 / DM-32UV. 中文说明在下面。
Everyone on 0.1.0 should update. 0.1.0 damaged the first voice frame of every DMR burst it sent, so other
radios heard choppy, robotic audio. It also always used colour code 1, whatever the channel said.
Downloads
OpenDMR-0.2.0.zip: the firmware (opendmr.bin), the Chinese font (cjk.bin), the tools, the installation
guide and the user manual.SHA256SUMS.txt:certutil -hashfile OpenDMR-0.2.0.zip SHA256
Updating from 0.1.0: keep the radio on with the cable plugged in and run
py tools\debug\fw_update.py opendmr.bin --port COM6. Settings and codeplug are kept. The Chinese font is unchanged,
so it does not need uploading again.
New install: follow docs/installation.en.md (back up both flash chips first).
Fixed
- DMR transmit audio. The first voice frame of every burst went out while the PA was still switching on. The
receiving radio repeated those frames, so the voice sounded choppy and robotic. The Tx interrupt now comes 3.2 ms
ahead of the burst, as in the stock repeater mode, and uses the stock PA timing (VHF 1.6 ms, UHF 1.2 ms). Measured
between two DM-32s with a weak signal: bad frames went from up to 77 % of the first frames to 0.
(#6) - DMR colour code. The colour code was never written to the modem, so the radio sent and received colour code 1
whatever the channel said. A repeater on another colour code showed a signal but gave no audio.
(#8, issues #1,
#3) - Pops on networked DMR calls. The vocoder muted "erasure" frames, which repeaters and networks put in for lost
packets: a 60 ms gap and then a pop. It now repeats the last frame and fades out, as the stock DVSI decoder does.
(dmr-vocoder #1) - DMR S meter. It read 13–16 dB low (the receiver follows the timeslots, and half the readings were the noise
floor) and stopped at about S8 close to a station (fixed AGC). It now takes the timeslot's peak with automatic AGC,
and reads like FM. (#5) - Options → LEDs off now turns the LEDs off. (#4)
New
- AM, USB and LSB receive (receive only; PTT is refused in these modes). SK1 +
*cycles FM → AM → USB → LSB →
DMR. AM and SSB use an RSSI squelch, and SSB tunes in 100 Hz steps: tune to the suppressed carrier.
(#2) - For developers:
make RX_CAPTURE=1records every received AMBE frame to the data flash, and
tools/debug/rx_capture.pyreads it back. Off in release builds. (#7)
Known limits
- AM and LSB have not been fully tested on the air (USB has)
- No voice prompts; calibration is read only; no themes
- "Safe Pwr-On" and "Sat (Manual / Auto)" have no effect yet
- Not fully tested on the air yet: APRS decoding, the hotspot's CW ID, satellite passes, talkaround, distance sort,
DMR transmit timing on 220 MHz - Non-commercial use only (see LICENSE)
OpenDMR 0.2.0,Baofeng DM-32 / DM-32UV 的开源固件。
使用 0.1.0 的都建议升级。 0.1.0 发射 DMR 时,每个突发的第一个语音帧都会损坏,对方听到的声音断续、发"机器味"。
另外它不管信道设的是什么色码,实际都只用色码 1。
OpenDMR-0.2.0.zip:固件、中文字库、工具、安装手册和使用说明书。- 从 0.1.0 升级:电台开机、插着写频线,运行
py tools\debug\fw_update.py opendmr.bin --port COM6,设置和码表都保留。
中文字库没有变化,不用重新写。新装机按docs/installation.md操作(先备份两颗 Flash)。
修复
- DMR 发射声音:每个突发开头的语音帧是在功放还没打开稳定时发出去的,对方会重复这些帧,声音断续、发"机器味"。
现在发射中断提前 3.2 ms(和原厂中继模式一样),并使用原厂的功放时序(VHF 1.6 ms,UHF 1.2 ms)。两台 DM-32 在弱信号下实测,
第一帧的坏帧率从最高 77% 降到 0。 - DMR 色码:色码从来没有写进调制芯片,不管信道设的是什么,实际都用色码 1 收发;色码不是 1 的中继有信号但没有声音
(issue #1、#3)。 - 网络 DMR 通话的"噗"声:中继和网络丢包时会补上"擦除帧",原来的声码器会把它静音,造成 60 ms 断音和"噗"声。
现在和原厂 DVSI 解码器一样,重复上一帧再淡出。 - DMR S 表:原来偏低 13–16 dB(接收机跟着时隙切换,一半读数是底噪),离电台很近时最多也只显示到 S8 左右(AGC 固定)。
现在取时隙内的峰值并使用自动 AGC,读数和 FM 一致。 - 选项 → 关闭 LED 现在真正生效。
新增
- AM、USB、LSB 接收(只收,这几种模式下按 PTT 会被拒绝):SK1 +
*按 FM → AM → USB → LSB → DMR 循环切换;
AM 和 SSB 用 RSSI 静噪,SSB 以 100 Hz 步进调谐,要调到被抑制的载波频率上。 - 开发用:
make RX_CAPTURE=1会把收到的每个 AMBE 帧记录到数据 Flash,用tools/debug/rx_capture.py读出。正式版里不包含。
限制:AM 和 LSB 还没有完整的空中实测(USB 测过);没有语音提示;校准只读;没有主题;APRS 解码、热点 CW ID、卫星过境、
脱网、按距离排序、220 MHz 的 DMR 发射时序还没有完整空中实测;仅限非商业用途。