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.

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

Building from Source

Source code is available at https://github.com/DaleFarnsworth/codeplug/blob/master/editcp.

Installing Pre-built Windows Binaries

I have tested Editcp on 64-bit Windows 7 and Windows 10. It should also work on 32-bit systems, but I don't have a 32-bit windows system to test with.

It will not work on windows XP.

To install Editcp:

  1. Download the latest installer file from https://www.farnsworth.org/dale/codeplug/editcp/downloads/windows.

  2. Run the installer file (Click on the filename)

    Note: on Windows 10, you will see a popup screen, "Windows protected your PC". Click on "More info" and then click on "Run anyway". I won't pay the several hundred dollars a year to become a "known publisher" to avoid this step.

    Respond to the installer's prompts and editcp.exe will be installed.

Installing Pre-built 64-bit Linux Binaries

I have tested Editcp on Ubuntu (versions 14.04, 16.04, and17.04) and Fedora version 26. It only works on 64-bit distributions.

It will likely work on most relatively recent desktop distributions. I would love to hear success or failure reports for other distributions.

To install the pre-built binaries:

  1. Download the latest tar file from https://www.farnsworth.org/dale/codeplug/editcp/downloads/linux.

  2. Extract the binary file, replacing:

    • Destdir with the name of the directory where Editcp and its libraries should be placed.
    • PathToTarFile with the path of the compressed tar file downloaded in the previous step.

      $ tar -C DestDir -xJf PathOfTarFile

  3. Install the executable, replacing:

    • installdir with a directory in your $path. If you run ./install without arguments, it will present you with a menu of directories to select from.

      $ ./install installdir

  4. Editcp depends on the libusb-1.0-0 package. It is probably already installed, but if not, you will need to install it. On debian-derived systems this can be done by

    $ sudo apt-get install libusb-1.0-0

  5. By default, access to usb devices requires root user access. If you would like to enable non-root-user access, cd to the directory where you extracted the tar archive, and run the command:

    $ sudo cp 99-md380.rules /etc/udev/rules.d/

    This only needs to be done once, not on each install of editcp.

  6. Run editcp, optionally passing the name of a codeplug file:

    $ editcp
    

    or

    $ editcp file.rdt
    

Note: If you get the error message

    editcp: cannot execute binary file: Exec format error

it means your system is 32-bit only. The Go QT GUI framework I use to develop editcp only works on 64-bit systems.

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.

Author

Dale Farnsworth

dale@farnsworth.org

IRC: freenode channel: #md380, user: dfarnsworth