Skip to main content

Simplified DMR Zone Channel Builder for Anytone 878/890 radios

Project description

dzcb-simple

DMR Zone Channel Builder - Simplified for Anytone 878/890

A streamlined Python tool to generate Anytone radio codeplug CSV files from K7ABD format input files.

Features

  • ✅ Read K7ABD CSV format (Analog, Digital-Repeaters, Digital-Others, Talkgroups)
  • ✅ Generate Anytone 878UVii CSV files
  • ✅ Generate Anytone 890 CSV files
  • ✅ Support APRS configuration on analog channels
  • ✅ Simple command-line interface
  • ✅ Modern Python packaging (Python 3.8+)

Installation

# Install from source
git clone https://github.com/yourusername/dzcb-simple.git
cd dzcb-simple
pip install -e .

Usage

Basic Usage

# Generate for both radios
dzcb input_directory output_directory

# Generate for 890 only
dzcb input_directory output_directory --radio 890

# Generate for 878 only
dzcb input_directory output_directory --radio 878

Sorting Options

Control zone and channel ordering with --sort:

# Alphabetical (default) - zones and channels sorted A-Z
dzcb input_directory output_directory --sort alpha

# Repeaters first - digital repeater zones first, then analog/others, preserving file order
dzcb input_directory output_directory --sort repeaters-first

# Analog first - analog/digital-others zones first, then repeaters, preserving file order
dzcb input_directory output_directory --sort analog-first
Mode Zone Order Channel Order Within Zones
alpha All zones sorted A-Z Channels sorted alphabetically
repeaters-first Repeater zones first, then analog/others Preserves input file order
analog-first Analog/others first, then repeater zones Preserves input file order

Input File Format

Place your K7ABD format CSV files in a directory:

Analog__YourName.csv:

Zone,Channel Name,Bandwidth,Power,RX Freq,TX Freq,CTCSS Decode,CTCSS Encode,TX Prohibit,APRS RX,APRS PTT Mode,APRS Report Type
Simplex,146.520,25,High,146.520,146.520,Off,Off,Off,Off,Off,Off

Digital-Repeaters__YourName.csv:

Zone Name,Comment,Power,RX Freq,TX Freq,Color Code,TG1,TG2,TG3
K7ABD;K7ABD,Seattle,High,440.600,445.600,1,1,2,-

Digital-Others__YourName.csv:

Zone,Channel Name,Power,RX Freq,TX Freq,Color Code,Talk Group,TimeSlot,Call Type,TX Permit
Simplex,DMR Simplex 1,High,433.450,433.450,1,Local,1,Group Call,Always

Talkgroups__YourName.csv:

Local,9
Worldwide,91
North America,93
TAC 310,310

Output

The tool generates four CSV files in the output directory for each radio:

  • Channel.CSV - All channels
  • TalkGroups.CSV - Contact list
  • Zone.CSV - Zone assignments
  • ScanList.CSV - Scan lists

Import these files into your Anytone CPS.

APRS Support

Add APRS configuration to analog channels with these optional columns:

  • APRS RX - Off or On
  • APRS PTT Mode - Off, Start, End, or Both
  • APRS Report Type - Off, Analog, or Digital

Example:

Zone,Channel Name,...,APRS RX,APRS PTT Mode,APRS Report Type
APRS,144.390,...,On,Both,Analog

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Format code
black src/

# Run tests
pytest

Differences from Original dzcb

This is a simplified fork focused on:

  • Local K7ABD CSV input only (no network fetching)
  • Anytone 878/890 output only (no other radio formats)
  • APRS support for analog channels
  • Modern Python packaging
  • Simpler codebase and maintenance

For the full-featured version with Repeaterbook integration, PNWDigital support, and multiple output formats, see the original dzcb.

Credits

Based on the original dzcb by Masen Furer.

Simplified and modernized by Joe (AF1E) for personal use with Anytone 878UVii and 890 radios.

License

MIT License - see LICENSE file

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dzcb_simple-0.1.0.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dzcb_simple-0.1.0-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file dzcb_simple-0.1.0.tar.gz.

File metadata

  • Download URL: dzcb_simple-0.1.0.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dzcb_simple-0.1.0.tar.gz
Algorithm Hash digest
SHA256 78f3ab4540268787eb03dd421ba467b69595571355ee85015b9aa42a8be2bda5
MD5 c4798f999dbd64ef90bdd4181f2d1c64
BLAKE2b-256 3d0564669dc8be3732a47c96e18469849b3e90589b94371ff21e597f5093e9c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for dzcb_simple-0.1.0.tar.gz:

Publisher: publish.yml on AF1E/dzcb-simple

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dzcb_simple-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dzcb_simple-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dzcb_simple-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4267a212686f57981d9733ea78265aa9b58bfa807c936df4d89336eb9580c844
MD5 07c4d5e4116b92b0841ce7c9f3cfb9c6
BLAKE2b-256 930c528be2c1875645e6a86437d6b189e3f96a589c1417e9345f2581e4f37625

See more details on using hashes here.

Provenance

The following attestation bundles were made for dzcb_simple-0.1.0-py3-none-any.whl:

Publisher: publish.yml on AF1E/dzcb-simple

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page