Dale Farnsworth
Dale Farnsworth Update version to v1.0.4
Latest commit 4120223 Nov 20, 2018
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
dll Revert "Update dll files to latest version from ST Micro" Dec 11, 2017
logo Add image files for logo Feb 24, 2018
.gitignore Provide win32 binaries as well as win64 Oct 15, 2017
99-md380.rules Update Makefile to supply 99-md380.rules udev file Dec 17, 2017
LICENSE Initial code commit Oct 9, 2017
Makefile Display debugging and panic messages on Windows Oct 30, 2018
README.md Change README to include getting libraries Nov 21, 2017
basicInformation.go Add possible radio types to the Basic Information Oct 27, 2018
buttonDefinitions.go Optimize updating of dependent field widgets Nov 1, 2018
channels.go Better handle GPS & non-GPS codeplugs Oct 26, 2018
checkCodeplug.go Better handle GPS & non-GPS codeplugs Oct 26, 2018
contacts.go Add ability to set button definitions Oct 19, 2018
dmrRadio.nsi Add installer for windows version of dmrRadio Sep 4, 2018
editcp.go Optimize updating of dependent field widgets Nov 1, 2018
editcp.ico Add a icon for editcp.exe Jan 2, 2018
editcp.nsi windows: Do uninstall silently, without a popup window Jul 15, 2018
editcp.sh Turn off QT debugging on Linux Nov 5, 2018
generalSettings.go Enable General Settings column 3 for all models Nov 15, 2018
generateChangelog Clean up changelog generation script Sep 28, 2018
gpsSystems.go Add ability to set button definitions Oct 19, 2018
groupLists.go Add ability to set button definitions Oct 19, 2018
install.sh Update Makefile to supply 99-md380.rules udev file Dec 17, 2017
libraries Initial code commit Oct 9, 2017
menuItems.go Add ability to set button definitions Oct 19, 2018
preferences.go Add ability to remove buttons from the main window Oct 26, 2018
privacySettings.go Add ability to set button definitions Oct 19, 2018
radio.go Separate radio models on factory firmware Oct 30, 2018
scanLists.go Add ability to set button definitions Oct 19, 2018
textMessages.go Add ability to set button definitions Oct 19, 2018
version.go Update version to v1.0.4 Nov 20, 2018
zones.go Add ability to set button definitions Oct 19, 2018

README.md

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.

  1. Editcp is written in go. You must download and install go version 1.8 or later.

  2. Install git. On Debian, Ubuntu, and other Debian-derived systems that may be done by:

$ sudo apt-get install git
  1. 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.

  2. Get the source code:

$ go get github.com/dalefarnsworth/codeplug/...
$ go get github.com/google/gousb
$ go get github.com/tealeg/xlsx
  1. Change to the editcp source directory:
$ cd $GOPATH/src/github.com/dalefarnsworth/codeplug/editcp
  1. 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
  1. Build editcp:
$ make
  1. 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.

  1. 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

dale@farnsworth.org

IRC: freenode channel: #md380, user: dfarnsworth