Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages