Search found 11 matches

by oh1fss
Sun May 24, 2020 3:47 pm
Forum: CPS
Topic: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
Replies: 16
Views: 391

Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)

CPS works fine with Wine 5.0 in Fedora 30. Menu texts are visible normally. It's very easy to install Wine and use CPS in Linux: # dnf install wine $ wine OpenGD77CPSInstaller.exe Install as usual, except no USB drivers, because USB does not work in CPS with Wine. Then execute CPS from the Wine menu...
by oh1fss
Sun May 24, 2020 12:31 pm
Forum: CPS
Topic: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
Replies: 16
Views: 391

Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)

In the attached version there are two changes:

- Change delay in serial communications from 0.2 to 0.0
- When reading a codeplug, initialize first 0x0E bytes (which are not read nor written from/to the radio) so that CPS is happy

No changes in usage, see "./GD77transfer -h".
by oh1fss
Sun May 24, 2020 9:31 am
Forum: CPS
Topic: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
Replies: 16
Views: 391

Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)

CPS (MainForm.cs, function openCodeplugFile()) checks the first 8 bytes of the codeplug file that it opens. Those 8 bytes must be FF or contain the current radio model. Otherwise you get error "Model does not match". So I should set all gaps that are not read from the radio as FF - is that enough? T...
by oh1fss
Sun May 24, 2020 8:48 am
Forum: CPS
Topic: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
Replies: 16
Views: 391

Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)

I still don't know what the data in the codeplug is file that I read from the radio is incorrect I copied the logic for reading the codeplug from GD-77 from function worker_DoWork(), case READ_CODEPLUG in file OpenGD77Form.cs. That piece of code leaves gaps in the codeplug file: def getMemoryArea(s...
by oh1fss
Thu May 21, 2020 3:07 pm
Forum: CPS
Topic: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
Replies: 16
Views: 391

Read/write GD-77 codeplug in Linux in Python 3 (experimental)

I have written a program in Python 3 to read and write GD-77 codeplug in Linux. I have tested this program only with my own GD-77. Before trying this make backups! Usage: $ ./GD77transfer.py -h GD-77 Data Transfer v0.0.4 Usage: GD77transfer.py [OPTION] -h, --help : Display this help text, -r, --read...
by oh1fss
Wed May 20, 2020 4:47 am
Forum: Developer discussions
Topic: Codeplug EEPROM 128 byte alignment when uploading from CPS
Replies: 2
Views: 97

Re: Codeplug EEPROM 128 byte alignment when uploading from CPS

File OpenGD77-master/docs/data_sheets/Atmel-8720-SEEPROM-AT24C512C-Datasheet.pdf says: "128-byte Page Write Mode Partial Page Writes Allowed" When I look at file OpenGD77-master/firmware/source/hardware/EEPROM.c it looks like function EEPROM_Write() handles 128 byte boundaries so that the caller doe...
by oh1fss
Tue May 19, 2020 12:20 pm
Forum: Developer discussions
Topic: Codeplug EEPROM 128 byte alignment when uploading from CPS
Replies: 2
Views: 97

Codeplug EEPROM 128 byte alignment when uploading from CPS

I have looked at function WriteEEPROM() in OpenGD77Form.cs. The function uploads EEPROM data to GD-77 in chunks of MAX_TRANSFER_SIZE (32 bytes) but on every 128 byte boundary it begins a new chunk. Why is this necessary? If we begin a new chunk every 32 bytes, a new chunk will be started every 128 b...
by oh1fss
Tue May 19, 2020 12:03 pm
Forum: CPS
Topic: Experimental program to read codeplug from GD-77 in Linux (in Python)
Replies: 5
Views: 203

Re: Experimental program to read codeplug from GD-77 in Linux (in Python)

Yes, of course.

I'm writing now code to upload codeplug to GD-77. So far I have written code to upload flash memory and now I'm looking at EEPROM. So hopefully there will be a new version soon.
by oh1fss
Mon May 18, 2020 6:43 am
Forum: CPS
Topic: Experimental program to read codeplug from GD-77 in Linux (in Python)
Replies: 5
Views: 203

Experimental program to read codeplug from GD-77 in Linux (in Python)

I looked at gd-77_screen_grabber.py and OpenGD77Form.cs and wrote a program in Python 3 which reads the OpenGD77 codeplug from GD-77. Next I'll try to run the CPS in Wine and then I'll write a program to upload a codeplug to GD-77. Usage: $ ./GD77transfer.py - reading 24352 bytes: 100% - reading 151...