A zone is a named bank of channels inside a codeplug. Zones exist because a codeplug typically holds far more channels than fit on the radio's channel selector at one time — the user picks a zone first, and the channel knob then steps through that zone's channels.
A codeplug has an ordered list of zones, and each zone has its own ordered list of channels.
| Field | Purpose |
|---|---|
name |
The full display name of the zone. |
shortName |
A truncated label used on radios with a short-text display. The codeplug's shortZnLength controls how many characters are shown. |
voiceAnnounce |
Voice clip played when the zone is selected. |
channels |
Ordered list of channel entries belonging to this zone. |
Each zone remembers the last channel the user selected within it. The codeplug's runtimeMetadata.zoneChannelMemory stores this mapping (zoneIndex → channelIndex). When the user steps back into a zone, the radio restores the channel they were on when they left.
When a zone is selected:
voiceAnnounce clip plays, if configured.0 if this is the first time.On models flagged as shortTextModels in the codeplug, the radio displays zone.shortName truncated to the codeplug's shortZnLength characters, alongside the channel name. On full-text models it uses zone.name.