# README
Codeplug editor for the MD380/MD390/MD40 DMR Radios
Introduction
This program is similar in purpose to the MD380 CPS program provided by TYT Electronics
Technology Co., LTD. It provides several features that CPS lacks,
while not implementing all features of CPS.
I wrote editcp
because I wanted to be able to edit codeplugs in Linux.
This codeplug editor works for the Tytera MD380 and MD390 as well as the Alinco DJ-MD40 radios. Support for additional radio models is likely, but is not scheduled at this time.
Features
Editcp
permits the editing of General Settings, Channels, Contacts, Zones, Group Lists, and Scan Lists.- It supports reordering list items via drag-and-drop.
- Multiple codeplugs may be opened simultaneously and items may be copied from one code plug to another via drag-and-drop.
Editcp
provides unlimited undo/redo.Editcp
performs extensive input validation and codeplug entry validation.- Codeplug information may be exported to and imported from human readable text files.
Editcp
can edit .rdt files as well as the .bin files produced by md380tools.
Building from Source
Editcp
development has been done on Linux (specifically Ubuntu 17.04),
so that is the recommended platform for building from source.
-
Editcp
is written in go. You must download and install go version 1.8 or later. -
Install git. On Debian, Ubuntu, and other Debian-derived systems that may be done by:
$ sudo apt-get install git
-
Editcp
uses the QT GUI library. You'll need to install the Qt binding for Go. I recommend you follow the instructions in the Minimal Installation paragraph on this page: https://github.com/therecipe/qt/wiki/Installation. -
Get the source code:
$ go get github.com/dalefarnsworth/codeplug/...
$ go get github.com/google/gousb
$ go get github.com/tealeg/xlsx
- Change to the
editcp
source directory:
$ cd $GOPATH/src/github.com/dalefarnsworth/codeplug/editcp
Editcp
uses the libusb-1.0-0-dev package. You'll need to install it. If you're using the qt Minimal Installation, you'll need to install libusb-1.0-0-dev in the docker images it uses. This can be done by running
$ docker tag therecipe/qt:windows_32_static therecipe/qt:windows_32_static-orig
$ docker tag therecipe/qt:linux therecipe/qt:linux-orig
$ make docker-usb
- Build
editcp
:
$ make
- Install
editcp
:
$ make install
You will be prompted for a directory name where a symbolic link to
the editcp
executable will be placed. If you don't have write permissions
for that directory, you will need to run this command as root.
- You man now run
editcp
, optionally passing the name of a codeplug file.
$ editcp
or
$ editcp file.rdt
Installing Pre-built Executables
Instructions for downloading pre-built executables for Windows and Linux are available at https://www.farnsworth.org/dale/codeplug/editcp.
Disclaimer
Editcp
has only been used by a small number of people at present. While
no problems have been observed in radios after loading codeplugs edited by
editcp
, I can't guarantee that such will never occur. Use editcp
at
your own risk.
Contributing
Contributions to editcp
are welcome. If you've fixed a bug or implemented
a cool new feature that you would like to share, please feel free to open
a pull request here.
Author
Dale Farnsworth
IRC: freenode channel: #md380, user: dfarnsworth