Skip to content

About

Multi-radio Linux CPS (Anytone + nicFW) — native GTK4 Codeplug Studio

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

30 Commits

Folders and files

Repository files navigation

Codeplug Studio

CI GitHub total downloads Release APT repository License: GPL v3

Linux Codeplug Studio — one native GTK application for programming multiple ham radio families, starting with:

GitHub topics: ham-radio · amateur-radio · codeplug · dmr · radio-programming · gtk4 · libadwaita · linux · anytone · tyt · retevis · nicfw · cps

Backend Radios Backup format
anytone Anytone D878UV / D878UV II / D578UV .atcp
nicfw TIDRADIO TD-H3 (nicFW) .h3cp

More firmwares will plug in as backends become available.

Status

Both radio cores are live. GTK has Open/Save/Read/Write plus capability pages: Channels (both; AnyTone DMR refs + CC/TS), Settings & Band plans (nicFW), Contacts, Zones, Radio IDs, Scan lists, RX groups, and schema-backed Optional settings (APRS/GPS/Boot/…). Debian packages and GitHub CI are live at hardenedpenguin/CodeplugStudio. Migrated from:

Target UI: GTK4 + libadwaita (not WebKit). Optional HTTP API may remain for automation; the desktop app is native widgets.

Layout

common/           Shared shell: serial helpers, session, util, cJSON
backends/
  anytone/        Anytone program-mode + ATCP + schemas
  nicfw/          nicFW EEPROM + H3CP + JSON
ui/
  gtk/            Native GTK4 frontend
packaging/        .desktop, icons
udev/             Combined USB rules
docs/             Architecture and backend guide
third_party/      Vendored dependencies

Design

  • One binary, many radio backends behind a common plugin interface.
  • Capability-driven UI — only show Channels / Zones / APRS / Band plans / … when the active backend supports them.
  • Native backup formats stay first-class (.atcp, .h3cp); open/save picks the right adapter by magic, extension, or USB probe.
  • Write safety is per-backend (e.g. nicFW power-table guard, Anytone CPS map checks).

See docs/architecture.md for design layers. See docs/STATUS.md for what’s done and what’s next (keep that file updated).

Install

Debian (.deb) — latest release

From Releases:

wget https://github.com/hardenedpenguin/CodeplugStudio/releases/download/v0.0.2/codeplug-studio_0.0.2-1_amd64.deb
sudo apt install ./codeplug-studio_0.0.2-1_amd64.deb

Transitional metapackages (depend on codeplug-studio; same release):

Verify checksums: SHA256SUMS.

Hardened Penguin APT

curl -fsSLO https://hardenedpenguin.github.io/hardenedpenguin-apt/pool/main/h/hardenedpenguin-archive-keyring/hardenedpenguin-archive-keyring_1.2_all.deb
sudo apt install ./hardenedpenguin-archive-keyring_1.2_all.deb
sudo apt update
sudo apt install codeplug-studio

Build

cd /home/repos/CodeplugStudio
sudo apt install build-essential pkg-config libgtk-4-dev libadwaita-1-dev
make
./codeplug-studio backends
./codeplug-studio detect
./codeplug-studio dump -o backup.h3cp          # nicFW
./codeplug-studio dump -o backup.atcp          # AnyTone
./codeplug-studio export -i backup.h3cp -o nicfw.json
./codeplug-studio export -i backup.atcp -o anytone.json
./codeplug-studio restore -i backup.h3cp       # refuses blank PA tables unless --force
./codeplug-studio restore -i backup.atcp       # refuses model mismatch unless --force
./codeplug-studio ui

Needs libgtk-4-dev and libadwaita-1-dev for the desktop UI. Without them, the CLI still builds; ui reports that GTK was not linked.

Debian package

sudo apt install debhelper fakeroot lintian pkg-config libgtk-4-dev libadwaita-1-dev
make lint   # builds .deb under .. and runs lintian

Produces codeplug-studio, plus transitional anytone and nicfw metapackages that depend on codeplug-studio.

License

GPL-3.0-or-later (same as the existing CPS tools).

About

Multi-radio Linux CPS (Anytone + nicFW) — native GTK4 Codeplug Studio

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages