Code Monkey home page Code Monkey logo

codeplug's People

Contributors

dalefarnsworth avatar nivex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

codeplug's Issues

Suggestion: Add new channel under current one

When adding new channels they always wind up at the bottom. Adding them under the currently selected channel would behave logically and make it a lot easier to add channels to a long list of existing channels.

Could I pull recorded raw AMBE files?

Using RT3S with RECORD version.
Did you discovered RECORD(RAW AMBE FILES) flash structures? and any chance to pull the recorded files like AnyTone?

editcp allows setting digital channels to 25khz

This is pretty picky, but small quirk in the editor that doesn't disallow setting a digital channel to 25khz. It really should disable the option or only offer 12.5khz.

I've tested it and there does not seem to be any ill effect from attempting to set a channel to 25khz. The radio programs fine, still transmits the expected 12.5khz deviation, other radios receive just fine.

Can't import unmodified json file

Hello! Cool program, thanks for developing. I am having an issue, however. I pulled in my codeplug using editcp and exported it to json, but I when I try to import that same json file, it crashes. I'll attach my codeplug to see if you can reproduce.

codeplug.zip

Crash when trying to edit a zonefile after a channel rename

When renaming a channel WHILE the zone window is also open, there is an inconsistency with how the channel is named in the zone.
Presumably because the zone editor does not know it would now be an appropriate to reload the zone and repopulate the display.
However when you try to remove the entry with the old name there is a crash

Delete Member pops up a dialog box that says

"fieldNameToField:%!(EXTRA string=bad list record name 'DpMR446_1')"

If you hit 'cancel' or 'ignore' editcp crashes

What probably ought to happen is that you go back to the zone and the zone is reread to get the new channel name

Steps to recreate

  1. open a code plug
  2. open the channels editor
  3. open the zone editor
  4. select a zone
  5. rename a channel in this zone in the channels editor
  6. try to remove the old name from the zone in the zone editor

I have not checked to see if similar issues occur when for example renaming a TG referenced in an open channel. interactions in scan lists etc

in my terminal this is returned after the crash

$ ./editcp
panic: runtime error: index out of range

goroutine 1 [running, locked to thread]:
github.com/dalefarnsworth/codeplug/codeplug.(*Record).RemoveFieldsChange(0xc420330f20, 0x0, 0x0, 0x0, 0x0)
/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/codeplug/change.go:238 +0x12a
github.com/dalefarnsworth/codeplug/ui.(*VBox).AddFieldMembers.func3()
/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/ui/fieldList.go:660 +0x136
github.com/dalefarnsworth/codeplug/ui.(*Button).ConnectClicked.func1(0x8bd700)
/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/ui/ui.go:1409 +0x24
github.com/therecipe/qt/widgets.callbackQAbstractButton_Clicked(0x2c84a50, 0xc400000000)
/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:117 +0x7d
github.com/therecipe/qt/widgets._cgoexpwrap_49467942c257_callbackQAbstractButton_Clicked(0x2c84a50, 0x0)
github.com/therecipe/qt/widgets/_obj/_cgo_gotypes.go:16857 +0x34
github.com/therecipe/qt/widgets._Cfunc_QApplication_QApplication_Exec(0xc400000000)
github.com/therecipe/qt/widgets/_obj/_cgo_gotypes.go:2496 +0x49
github.com/therecipe/qt/widgets.(*QApplication).Exec(0xc4200ea9c0, 0xc4200eaa00)
/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:2865 +0x22
github.com/dalefarnsworth/codeplug/ui.(*App).Exec(0xc4200ea9c0)
/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/ui/ui.go:78 +0x2d
main.main()
/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/editcp/editcp.go:268 +0x1a6

General Setting Window does not scale to users screen size.

My Laptop is typically set to 1368x768 and when displaying the general settings there is no way to exit or save data. Changing screen resolution will resolve the problem however the type gets a bit hard to read due to my aging eyes. I run Mint Linux 18.3, and v 1.0.0 of editcp
Attached is a screen shot.

Great piece of code. Thanks for your effort
Regards,
George
image

Drag and Drop entries from another codeplug can silently fail to copy

I was dragging and dropping between two codeplugs (which, btw thank you, that is awesome) and I found some which wouldn't work. Just quietly did nothing. I eventually figured out that the Scan List in the channel I was copying didn't exist in the destination codeplug. If I created the Scan List (or set it to None in the channel to copy) it worked. I did not test to see if this also applied to another things like RX Group, Contact Name etc but I would guess it probably does. I was moving some analog channels into an existing pre-set DMR codeplug I found from one I'd started putting together when I found this.

User database incomplete, compared to that obtained by md380tools.

I used the editcp UI to update the user database on my rig. I listen on the 262 German talkgroup. As it happened, the user with DMR ID 2624560 spoke. The rig did not know that id.

I double-checked with the user.bin from md380tools file. That one did list 2624560.

So from the outside, it looks like editcp uses a different way to obtain the data for the user database, compared with md380tools, and editcp's results in incomplete data.

For what it's worth: Neither way seem to dig up the id of the German parrot 262997.

Regards, and thank you for providing fine software! Andreas, DJ3EI

Serveral md-380 related Problems

After some DMR absence, I installed the recent binary release (0.15.7) to work on my md-380 codeplug (created with an older EditCp release).

Observed behavior with a TYT MD-380:

  • When starting a new codeplug using File -> New... selecting MD-380, 400-480 MHz, a new codeplug is started but under Basic Information the model is a DR780. When trying
  • When downloading a codeplug from a md-380, EditCp reports several invalid fields and the codeplug is for the model DR780 according to Basic Information.
  • Older Backups (codeplugs created, edited with older releases of EditCp) show the same errors. The indicated model changed to DR780 as well.

On a first try to understand the issue and solve it by myself, I found this travisgoodspeed/md380tools#41 that is maybe related.

Import errors

Tested versions: 0.9.8, 10.0.0, 10.0.9.

When trying to export and reimport a codeplug, either as a text or as a spreadsheet, I always get the following error message:
"ScanLists.PriorityChannel1: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel2: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel1: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel2: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel1: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel2: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel1: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel2: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel1: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel2: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel1: bad record name '+ Soloth 2-9'
ScanLists.PriorityChannel2: bad record name '+ Soloth 2-9'"

I thought it could be the "+", but exchanging it to some letter did not help.

I used this codeplug (but also tested others):
http://ham-dmr.ch/wp-content/uploads/2015/09/MD-380-FREE_2016-12-06.zip

Duplicating a zone, scan list, etc, is creating invalid entries

I noticed today when attempting to create a new zone that editcp seems to create a bunch of blank invalid entries in the new zone. At first they are not visible, but if you save the file, hit Ignore on the errors, then reload edit and load the file again, they show up as invalid. This happens for Scan and Zone, it might also happen for others but I haven't tried them.

I am able to work around it by deleting a few of the entries, adding in some valid entries, then deleting the remaining invalid entries. Oddly if I just try to delete all of the invalid entries it entirely breaks the parent entry and I can't add anything to it. I have to delete it and start over.

I have a codeplug I've been using for a while, updating, writing to my MD-380, so maybe it has some internal issues from being used over various editcp versions.

Reproduction steps are pretty basic, load a codeplug, open Zones, duplicate any Zone. For giggles I also exported to text and it exported Zones: Name: NewName Channel: "" Channel: "" etc. All empty names, if the original Zone had 6, there are 6 there etc. If you can't reproduce I can attach files or do stuff local if useful? I noticed this on 1.0.3, updated to 1.0.6 and still reproduced it.

I will split this repository into multiple repositories

I will soon create multiple repositories to hold the code that is currently contained in this single repository. At least the following repositories will be included.
editcp - The codeplug editor GUI program
codeplug-ui - A library containing the codeplug UI elements used by editcp.
dmrRadio - The CLI program for reading/writing firmware/codeplugs from/to a radio
codeplug - A library dealing with the manipulation of a codeplug.
userdb - A library handling the user database used by the MD380.
radio - A library for reading/writing the flash (including SPI flash) memory of the MD380.
genFileData - A program for creating a go source file containing the data from a binary file.

editcp does not expose keypad beep settings

I do not currently see how to set the keypad tones on/off in editcp. It does maintain the setting from the radio when read from the radio, but if I turn them on the radio, read from it, then keep using that codeplug without reading from the radio again and I've since disabled keypad beeps on the radio, I found it kept turning them back on because it was still set in the codeplug.

Of course, reading from the radio and saving the updated codeplug resolves it but would be nice to expose this in the gui. Hopefully I'm not just missing the option!

editcp does not expose Privacy codes to set in radio

Obviously hams can not use privacy codes, however, someone using the radio for commercial use might need privacy codes. It is exposed at the channel level to pick but you cannot set what the actual code is anywhere that I've seen. Also, the channel gui does not make it clear you're picking a preconfigured privacy entry but it appears to be freeform, but it only accepts 0-15 as there are only 16 of each type of code available for setting in the radio. Might be better if that is a -/+ UI like color code.

Private call contact in a channel does not work (for me).

I'm trying to program a channel so that pressing PTT will give me a private call to a user.

The user I've been choosing for initial experiment is the German parrot 262997. I have a "Call Type: Private" contact for the parrot.

Now I enter a new channel. I copy it from the normal TS2 channel of DB0OUD, my local repeater.

grafik

When I send to that channel, the Parrot comes back to me with an extremely short transmission. As if I had touched my PTT only momentarily. My speculation is that the problem is going from my rig to the parrot, not vice versa.

When I stay on that channel, and in addition select the Parrot from my contacts, and then push PTT, all is well.

FWIW: When I stay on that channel, select the Parrot from my contacts, send for a while, then quickly press "back" enough time so that the channel display is displayed, before the Parrot answers, all is well still.

I'm completely unsure whether this is a editcp problem or something else, including me goofing.

Regards, and thank you for providing fine software, Andreas, DJ3EI

Index error in channel list window

Steps to reproduce:

  • Start editcp
  • Open codeplug
  • Open Channels window
  • Scroll to end of channel list
  • Click on empty entry on list
  • Edit one of the fields

Result:

panic: runtime error: index out of range

goroutine 1 [running, locked to thread]:
github.com/dalefarnsworth/codeplug/ui.(*RecordList).SelectedRecords(0xc42000c0c0, 0xc42000c0c0, 0xc, 0x3)
	/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/ui/recordList.go:111 +0x164
github.com/dalefarnsworth/codeplug/ui.selectedRecords(0xc420477600, 0xc4204f7614, 0xc, 0x0)
	/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/ui/ui.go:2149 +0x3e
github.com/dalefarnsworth/codeplug/ui.setMultipleRecords(0xc420512cc0, 0xc420406ad8, 0x3, 0x0)
	/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/ui/ui.go:1151 +0x60
github.com/dalefarnsworth/codeplug/ui.setFieldString(0xc420512cc0, 0xc420406ad8, 0x3, 0xc420406ad8, 0x3)
	/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/ui/ui.go:1026 +0x74
github.com/dalefarnsworth/codeplug/ui.newFieldLineEdit.func1()
	/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/ui/ui.go:1446 +0xbe
github.com/therecipe/qt/widgets.callbackQLineEdit_EditingFinished(0x2cd41a0)
	/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:12613 +0x70
github.com/therecipe/qt/widgets._cgoexpwrap_bf025265ed45_callbackQLineEdit_EditingFinished(0x2cd41a0)
	_cgo_gotypes.go:21236 +0x2b
github.com/therecipe/qt/widgets._Cfunc_QWidget_EventDefault(0x2cd41a0, 0x7ffe6dda9050, 0x0)
	_cgo_gotypes.go:17051 +0x4a
github.com/therecipe/qt/widgets.(*QWidget).EventDefault.func1(0x2cd41a0, 0x7ffe6dda9050, 0x7ffe6dda9050)
	/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:21890 +0x8f
github.com/therecipe/qt/widgets.(*QWidget).EventDefault(0xc4204759f0, 0xa7b780, 0xc4205cd3c0, 0x5)
	/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:21890 +0x74
github.com/therecipe/qt/widgets.callbackQWidget_Event(0x2cd41a0, 0x7ffe6dda9050, 0xc420475a68)
	/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:21857 +0xdd
github.com/therecipe/qt/widgets._cgoexpwrap_bf025265ed45_callbackQWidget_Event(0x2cd41a0, 0x7ffe6dda9050, 0x0)
	_cgo_gotypes.go:22823 +0x35
github.com/therecipe/qt/widgets._Cfunc_QWidget_EventDefault(0x2cd41a0, 0x7ffe6dda9c90, 0x0)
	_cgo_gotypes.go:17051 +0x4a
github.com/therecipe/qt/widgets.(*QWidget).EventDefault.func1(0x2cd41a0, 0x7ffe6dda9c90, 0x7ffe6dda9c90)
	/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:21890 +0x8f
github.com/therecipe/qt/widgets.(*QWidget).EventDefault(0xc420475c88, 0xa7b780, 0xc4205cd3a8, 0x5)
	/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:21890 +0x74
github.com/therecipe/qt/widgets.callbackQWidget_Event(0x2cd41a0, 0x7ffe6dda9c90, 0xc420475d00)
	/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:21857 +0xdd
github.com/therecipe/qt/widgets._cgoexpwrap_bf025265ed45_callbackQWidget_Event(0x2cd41a0, 0x7ffe6dda9c90, 0x7ffe6dda9ae0)
	_cgo_gotypes.go:22823 +0x35
github.com/therecipe/qt/widgets._Cfunc_QApplication_QApplication_Exec(0xc400000000)
	_cgo_gotypes.go:2786 +0x49
github.com/therecipe/qt/widgets.(*QApplication).Exec(0xc420114480, 0xc42009e2e0)
	/home/user/work/src/github.com/therecipe/qt/widgets/widgets-minimal.go:3343 +0x22
github.com/dalefarnsworth/codeplug/ui.(*App).Exec(0xc420114480)
	/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/ui/ui.go:76 +0x2d
main.main()
	/media/sf_GOPATH0/src/github.com/dalefarnsworth/codeplug/editcp/editcp.go:326 +0x37c

Expected result:

  • Empty entry at end of channel list should not be present

JSON Import most channels incorrect GPS Settings

I have an automatic generated JSON file, when I import this file the GUI of EditCP shows every thing as expected, but when written to the radio most channels have incorrect GPS settings in the radio.

I included three files in the zip

  1. An example JSON file
  2. The rdt codeplug file from the radio after programming the JSON file
  3. The rdt codeplug file from the radio after manually (on the radio) editing the channels GPS Settings
    Example Files.zip

Crash on json import

I'm running editcp version 0.10.7

I have a codeplug json export. It is working, that is, I can import it into editcp.

I changed the "Model": "MD380" to "Model": "MD390" (as that is the rig I own).

Expectation: I can still import it into editcp. Or else, if more changes are needed, I get a decent error message telling me about any problems the code plug might have.

Actually seen: The edited codeplug breaks editcp, it crashes on the attempt to read it:

$ editcp

(editcp:27462): Gtk-WARNING **: Invalid input string

(editcp:27462): Gtk-WARNING **: Invalid input string
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
2017/12/30 12:46:37 runtime error: invalid memory address or nil pointer dereference

I attach the two JSON files, in the ZIP archive editcp-bug.zip.

Regards, and thank you for providing eminently useful software

Andreas, DJ3EI

Add button when duplicating a channel sometimes leaves TX Offset as Invalid

If you duplicate a channel by clicking the Add button on an existing channel (Analog, DMR, doesn't seem to matter) the new channel sometimes shows as INVALID. Sometimes have to click the new channel, then an older one, then back to the new one. It's a bit of an odd set of reproduction steps but it's pretty easy to reproduce none the less.

I had to add a few, then looked at the new ones and they were fine. Added a few more, looked, were fine. Added a few more, then I started seeing ones that were fine previously were now showing as Invalid.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.