Basically CHIRP doesn't have support for TR-N7 yet, and it would be nice if it can be implemented. This is current in progress. But hopefully will be worked out in the near future.


XINGCHUG N7 radio Serial Sniffing

Source Files of Serial Sniffing Log

End of reading from (Radio to Computer): 015306: 26.02.2015 17:35:51.880 +0.0

End of Writing To (Radio from computer): 021746: 26.02.2015 17:36:52.495 +0.0


Observations

General form for both Read and Writing.


READING FROM RADIO GENERAL FORM:
--> Computer to Radio
<-- Radio to Computer

-->
000052: 26.02.2015 17:35:16.794 +0.0

-->
000107: 26.02.2015 17:35:34.359 +0.0
 02 50 52 4F 47 52 41
 .PROGRA

<--
000124: 26.02.2015 17:35:34.374 +0.0
 [ACK:x02]
 .

-->
000133: 26.02.2015 17:35:34.390 +0.0
 4D 02
 M.

<--
000150: 26.02.2015 17:35:34.405 +0.0
 FF FF FF FF FF FF FF FF
 ÿÿÿÿÿÿÿÿ

-->
000159: 26.02.2015 17:35:34.421 +0.0
 [ACK:x02]
 .

<--
000176: 26.02.2015 17:35:34.421 +0.0
 [ACK:x02]
 . 

...
    >>DATA READ SEQUENCE HERE
...

-->
015315: 26.02.2015 17:35:51.895 +0.0
 45
 E

<-- 
015306: 26.02.2015 17:35:51.880 +0.0
 [ACK:x02]

-->
015330: 26.02.2015 17:35:51.911 +0.0
    >> CONNECTION CLOSED <<




WRITING TO RADIO GENERAL FORM:
--> Computer to Radio
<-- Radio to Computer

-->
015437: 26.02.2015 17:36:27.990 +0.0
 [STX:x02] 50 52 4F 47 52 41
 .PROGRA

<-- {Probbly just acknowledges when it detects the first few characters}
015452: 26.02.2015 17:36:28.006 +0.0
 [ACK:x02]

-->
015463: 26.02.2015 17:36:28.021 +0.0
 4D [STX:x02]
 M.

<--
015480: 26.02.2015 17:36:28.037 +0.0
 FF FF FF FF FF FF FF FF
 ÿÿÿÿÿÿÿÿ

-->
015489: 26.02.2015 17:36:28.053 +0.0
 [ACK:x02] 

<--
015506: 26.02.2015 17:36:28.053 +0.0
 [ACK:x02]

 ... 
    >>DATA WRITE SEQENCE HERE<<
 ...

--> {NOTE: I think E stands for "End" here}
021755: 26.02.2015 17:36:52.511 +0.0
 45
 E

-->
021770: 26.02.2015 17:36:52.527 +0.0
    >>CONNECTION CLOSED<<



Both the read and write operations first starts with ".PROGRAM." ( . is a place holder for non alphanumeric characters )

    .PROGRAM.   <-- Signify start of programming mode

    M.          <-- General Information Request? (Generally gets an 0x"FF FF FF FF FF FF FF FF" reponse)

    ACK ACK     <-- Lets both sides know that the writing/reading sequence is now active

    E           <-- Close Programming Mode

Clues from SV83 Software

The software that was used to communicate to the n7 device is SV83.

There is not much documentation for it and it is typically all in chinese.

But you can get important information about this. Namely that they let you edit these channel information in a spreadsheet like:


CH | RX Freq |  TX Freq | Decode | Encode | BCL | Scan | TX Power | ChName

e.g.

1  | 476.42500 | 476.42500 | None | None | Off | Add | Low | ""
10 | 476.65000 | 476.65000 | None | None | Off | Add | Low | "CONVY"


Reading Sequence

Based on observation, I think a read request cycle consist of this

-->
Read Request (4 bytes) ( Please send channel X ):
    [CommandHeader? (1 byte) x52 ] [ ChannelNo/Register Position (3 Bytes) ]
    e.g.
        52 00 00 10
        52 00 10 10
        52 00 20 10
        52 00 30 10
        52 ...

<--
Read Response ( Here is the information requested) :
    [CommandHeader? (1 byte) x57 ] [ ChannelNo/Register Position (3 Bytes) ]
        [ Lots of bytes of unknown purpose... magical stuff here]
    e.g.
        57 00 00 10 00 25 64 47 00 25 64 47 FF FF FF FF 19 FF FF FF
        57 00 10 10 00 50 64 47 00 50 64 47 FF FF FF FF F9 FF FF FF
        57 00 20 10 00 75 64 47 00 75 64 47 FF FF FF FF F9 FF FF FF
        57 ...

-->
Acknowledgement From Computer (1 byte) (I got it):
    [ACK:x02]

<--
Acknowledgement From Radio (1 byte) ( That's good to hear. Any more needed? ):
    [ACK:x02]