[chirp_devel] VX2r progress

Andrew Errington
Tue Mar 27 01:59:00 PDT 2012


Hi everyone,

I have found the location of the start of the memories (0x17c5) and the size 
of each record (0x12 bytes).  I am picking apart the bits for tones, power 
level, etc.

There is a bug in the VX7 code that constructs the memory name string.

Around line 161

        for i in _mem.name:
            if i == "\xFF":
                break
            mem.name += CHARSET[i]
        mem.name = mem.name.rstrip()

In the loop, i is a byte.  "\xFF" is a character.  Looking for a byte value 
this way doesn't work.  It is correct in other code (the VX3 code, for 
example):

            if i == 0xFF:

The VX7 code will appear to work, since a series of 0xFF bytes are mapped to a 
series of 0x00 bytes by the character lookup.  These bytes are then removed 
by the rstrip() function.

In the VX2 code I still haven't looked for (or found) the checksum.  I 
commented out the check, so all I have right now is the following:

Read data from VX2r
My home-made USB->VX2r interface is working with a transistor buffer on the 
FTDI Tx line.

Save .img file without verifying checksum
This is useful as I can view it with a hex editor

Display some channels
I can parse the frequency and name, and I think repeater offset is correct 
too.  Some other fields are parsed, but I haven't verified their correctness.


So, progress is slow, but it's taking shape.

I also edited line 518 in mainapp.py as originally the dialog box title 
was "Discard changes?" but the dialog box contents said "Save changes?".  I 
experienced cognitive dissonance every time it appeared, so I fixed it.  
Please fix it in the main code (it's not worth a patch...)

73,

Andrew
ZL3AME



More information about the chirp_devel mailing list