Releases: oetiker/p64tool
Releases · oetiker/p64tool
Release list
p64tool v0.2.1
0.2.1 - 2026-07-17
New
- Complete codeplug decode.
decode --expertnow covers every field the vendor
CPS binds to a control; bytes the vendor leaves reserved are preserved verbatim.
Newly decoded channel fields: TX-admit criteria, TX-timeout + pre-alert +
re-key, text-message confirm/format, private-call-confirm, timed-preamble
preference, emergency alarm/reply/call-indication flags, auto-scan /
off-network / solo-work, encryption random-key + multi-key-decrypt, direct
dual-slot, and the analog reset-time / whisper / tail-elimination / RX-squelch
fields. Scan lists gain reply-channel mode, designated-TX channel, probe and
hold times, and the talk-back / nuisance-delete / scan-LED flags. General
settings gain the master voice-encryption enable and encryption type.
Changed
Fixed
- The crate now builds from a clean checkout. An identity test embedded a real
device dump viainclude_bytes!("../mydump/r01.bin")-- a git-ignored path, so
a fresh clone failed to compile. Replaced with a synthetic, in-code r01 fixture
that carries only the model label the test checks (no device-extracted data). - Serial handshake reliability. The radio returns no data unless a modem-control
line is asserted; the port is now opened with DTR and RTS raised instead of
relying on the driver's (kernel- and re-enumeration-dependent) default. This
also resolves the intermittent "connect handshake failed (got 0 bytes)" seen
on a freshly-powered radio.
p64tool v0.2.0
0.2.0 - 2026-07-16
New
- Device identity + firmware-version gating.
infonow reads the radio's live
MCU identity (model token, firmware version, build date) via theMCU-GET
command and prints a gate verdict.writeruns a read-only identity
pre-check first and refuses to write to a radio whose model p64tool does not
recognise (the MCU name must contain theDM5token); for a recognised model
whose firmware/revision is outside p64tool's validated set it warns and
proceeds, or refuses with--require-known-version. Rawread/dump is never
gated.decodewarns when a dump's model label is not in the validated set.
Changed
infonow reports the device model/firmware/build date and the write-gate
verdict, instead of only confirming the handshake.
Fixed
p64tool v0.1.0
0.1.0 - 2026-07-14
New
- Read the full P64 / P4 codeplug over the serial programming cable (
read),
and a quick liveness check (info). - Decode a dump into an editable TOML config (
decode) and validate it against
a country regulation profile (check, PMR446 for CH/CEPT). - Write a config back to the radio (
write) — writes only changed regions,
with a pre-write regulation check and post-write read-back verification. roundtripself-test proving decode→apply is byte-faithful across all regions.- Full feature coverage: channels, contacts, RX groups, zones, scan lists,
messages, emergency/alarm systems, one-touch, and encryption keys
(ARC4/AES128/AES256, openssl-compatible hex). --commentsannotates the config;--expertreveals fixed/advanced fields
(frequencies, timeslot, bandwidth, DMR service internals).