[chirp_devel] Kenwood TK280

Glancing Blow
Fri Jun 17 23:47:49 PDT 2016


I have made some assumptions about the radio to get a leg up.  Keep in mind
I am working from a logical argument not an understanding of python or
chirp.

I am using the 760G driver set written by Pavel Milanes, tk760g.py, as a
starting point to understand and open the radio.  I edited that file by
copying the TK270G data and changing the model information to TK280 ...

@directory.register
class TK280G_Radios(Kenwood_Serie_60G):
    """Kenwood TK-280G Radio K/K1/M/E/NE/NT"""
    MODEL = "TK-280G"
    TYPE = "P2800"
    VARIANTS = {
        "P2800T\xff":    (128, 144, 174, "NE/NT"),   # 146-174 original
        "P2800$\xff":    (128, 144, 174, "E"),       # 146-174 original
        "P2800\x14\xff": (128, 150, 174, "M"),
        "P2800\x05\xff": (128, 136, 150, "K1"),
        "P2800\x04\xff": (128, 150, 174, "K"),
        }

This gave me the error wrong model with the message, "expected P2800 but
got v2.01k instead".  So I edited the string again ...

@directory.register
class TK280G_Radios(Kenwood_Serie_60G):
    """Kenwood TK-280G Radio K/K1/M/E/NE/NT"""
    MODEL = "TK-280G"
    TYPE = "v2.01k"
    VARIANTS = {
        "P2800T\xff":    (128, 144, 174, "NE/NT"),   # 146-174 original
        "P2800$\xff":    (128, 144, 174, "E"),       # 146-174 original
        "P2800\x14\xff": (128, 150, 174, "M"),
        "P2800\x05\xff": (128, 136, 150, "K1"),
        "P2800\x04\xff": (128, 150, 174, "K"),
        }

and got a Handshake error ...

File "/usr/lib/python2.7/dist-packages/chirp/drivers/tk760g.py", line 884,
in sync_in
    self._mmap = do_download(self)
  File "/usr/lib/python2.7/dist-packages/chirp/drivers/tk760g.py", line
517, in do_download
    _open_radio(radio, status)
  File "/usr/lib/python2.7/dist-packages/chirp/drivers/tk760g.py", line
501, in _open_radio
    _handshake(radio)
  File "/usr/lib/python2.7/dist-packages/chirp/drivers/tk760g.py", line
385, in _handshake
    raise Exception(mesg)
Exception: Handshake failed

from the code process at line 385 ...

def _handshake(radio, msg=""):
    """Make a full handshake"""
    # send ACK
    _raw_send(radio, ACK_CMD)
    # receive ACK
    ack = _raw_recv(radio, 1)
    # check ACK
    if ack != ACK_CMD:
        _close_radio(radio)
        mesg = "Handshake failed " + msg
        # DEBUG
        LOG.debug(mesg)
        raise Exception(mesg)

So basically the ACK failed.  If I understand the serial process this could
be the form of the ACK, bit length, stop bit etc.  Could it also be the
model mismatch raising it's head?

I will try a couple of other configurations to get in but suggestions are
always welcome.

David Davis
KG7ZMX
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://intrepid.danplanet.com/pipermail/chirp_devel/attachments/20160617/0380ebbb/attachment-0001.html 


More information about the chirp_devel mailing list