D7 Protocol

TH-D7 Protocol Specification

This document has been produced by examining the data going into and coming out of the TH-D7 HT from Kenwood. There may be errors in this document - so the authors of this document take no responsability for it's accuracy or for any damages or losses as a result of using this document.

Want to see in the TH-D7? Click HERE

Serial Paramaters
    9600, 8, N, 1

Return Values
 

Return Value Description
N Command Recognised but Invalid data entered. 
? Command Not Understood
[command] Command Accepted

Often entering a text command by itself or followed by the first paramater will return the present value of the setting.

Generally paramters have
 


0 1
State Off ON
Cannel (Band) A B

It may be able to tell if the unit attached has SkyCommand II by requesting the SkyCommand Call Sign. If the SkyCommand II is not available in the model, an error should be returned.

The most useful command is "AI 1". It sets the TH-D7 to transmoit out the serial port information about what the radio is doing. A 'Y' in the third column indicates that the radio will send this string out the serial port when it is varied.
 
 
 

Command Description
ABC [0|1]
Automatic Band Change [D-700]

ABLG
APRS BLN Group

AMGG
APRS MSG Group

AMR [0|1]
APRS auto msg reply

AD [0|1]
Auto Display Dim [D-700]

AI [0|1] Turns on output functions. Immediate functions output to the PC serial port.
AIP [0|1] Turns of Advanced Intercept Point - 1=On
APO [0-2],n Auto Power Off, 0=Off, 1 = 30 min, 2 = 60min APO *returns* two arguments, the first being the current APO setting and the second set to 1 if the unit is about to be powered off. I.e. if you adjust it, you'd send/receive "APO n,0" where n is the setting, but if you let it sit for 30 minutes or whatever, the D7 will start beeping and send "APO n,1" where n is the current setting.
APO returns 0 if APO is disabled. Returns APO1,0 when enabled.

ARL nnnn  Pos Limit (nnnn=km, 0000=off)
AMSG [01-16] Lets you view the corresponding APRS message with the
resulting format
AMSG a,KD6VYV-7,MESSAGE CONTENT HERE,b 
format of "a" 
        a = number 1-5 then a= number of transmission left for message. 
        a=* acknowledge received from receiving station (your message sent and received)
        a=M Mine - this makes me think that there might be B for bulletin, !,etc.
format of "b" 
        b is an unknown number and can be either one or three characters in length).

 AMSG [00] Lets you enter a new APRS message with the format:
 AMSG 00,KD6VYV-7,MESSAGE CONTENT HERE
 If no content, then at least one space is required after the comma.


ARO [0|1] Auto Repeater Offset 0=Off 1 = 0n
ASC [A|B],[0|1] Auto Simplex Check off and On?
BAL [0-4] Set the Balance - Band A Only = 0, Band B only = 4, Even levels from bands A and B = 2 [D-7 Only]
BC [0|1]
BC[0|1],[0|1]
Change Band to [A|B] Band. A= 0, B=1. [D700 two arguments. First is control band. Second is PTT] Y
BCN [0|1] Beacon mode [OFF|ON]
BEL [0|1],[0|1] Turns band [A|B] Tone Alert [OFF|ON] [D-7 Only]
BEP [0-3] BEEP. 0 = Off, 1 = Key, 2 = Key + New Data, 3 = All
BEPT [0-3]
Beep on APRS messages, 0 = off, 1 = mine, 2 = all new, 3 = all [D700]

BUF
[0|1],
Frequency,
Step,
Shift Direction,
Reverse,
Tone, 
CTCSS,
DCS Enable,
Tone Freq,
DCS Tone,
CTCSS Freq,
Offset,
Mode
Set the Frequency on the Radio
0 = Band A, 1 = Band B
 To the Hz, leading 0 to 99 GHz!!!
 0 = 5 HKz, 1=6.25, 2=10, 3=12.5, 4=15, 5=20, 6=25, 7=30, 8=50, 9=100 KHz
0=none 1=+ 2=-) i.e. repeaters ,
1 = Reverse on
1 = Tone On
1 = CTCSS On
1 = DCS On,
1 = 67Hz, 3=71.5Hz .... 39=250.5 Hz
Index
1 = 67Hz, 3=71.5Hz .... 39=250.5 Hz
As frequency Above  (i.e. 0.600/5.000)
0 = FM, 1 = AM

BVOL [0-7]
Beep Volume 0 is off, 7 is loud [D-700]

BY [0|1],[0|1] Squelch on band  [A|B] is now [CLOSED|OPEN]
CIN
Copies current values (frequency, offset etc) to Call Channel.

CTD a,n CTD Carrier Tone Detect 
a=band 0/1
n;detected=1/not detected=0

CH [0|1] Channel Display Mode OFF|On. 
CP [0-3]
COM port bit rate. 0 = 9600, 1 = 19200, 2 = 38400, 3 = 57600 [D-700]

CKEY [0|1]
CALL key function. 0 = call, 1 = 1750 Hz tone.

CR [0|1],0 Call Channel Retrieve - Band [A|B]
CW Write Call channel Record... (as returned by CR)
CT [0|1] CTCSS Enable Y
CNT [01-16] LCD Contrast - 08 is the default
CTN nn CTCSS Tone - As abive Y
DATP [0|1]
Data Speed - 0 = 1200, 1 = 9600. [D-700]

DCSN
Set DCS Mode - codes map from 0010 = DCS code 023 thru 1040 = DCS code 754. [D-700]

DIG [0|1]
APRS digipeater, 1 = enable

DIM [0-4]
Backlight Control - 0 = off, 1 = bright, 4=dim [D-700]

DL [0|1] Dual Channel - 1 = Both A and B bands are used. Y
DM cc,nn..nnn DTMF Write. Writes Channel cc with nn..nnnn
    ex. DM 01,12345 stores 123456 in DTMF memory 01

DMN cc, NAME DTMF Channel Name. Names the Channel
    ex. DMN 01,HELLO names DTMF memory 01 HELLO

DS [0|1] DCD Sense - 0 = Data Band Only, 1 = Both Bands
DTB [0|1] Data Band A/B
DTBA [0-3]
APRS data band, 0 = A, 1 = B, 2 = A:TX/B:RX, 3 = A:RX/B:TX [D700]

DTM [0|1]
DTMF Monitor [D-700]

DTX [0-2] APRS Data TX mode (0=manual, 1=PTT, 2=auto)
DUP [0|1] Turns radio to Full Duplex (1) or Half Duplex (0) [D7]
DW Move Frequency Down
ELK [0|1] Tune Enable 0= Off, 1=On [D-7]
FL Comma Delimitered list of BAND extents
FQ Returns present Frequency
FUNC [1-3]
Function menu mode 1-3 [D700]

GU [0|1|2] GPS Unit    1=NMEA GPS 2=NMEA9600 [2 is D700 only]
ICO [0|1],i Sets the APRS Icon
for [0] 0=Kenwood W, 1=Runner, 2=House, 3=Tent, 4=Boat - Sail, 5=SlowScan, 6=Plane, 7=Speedboat, 8=Car, 9=bicycle, Are there more?
for [1], i = Hex

ID Returns the Radio ID - 'TH-D7' or 'TM-D700'

KILO [0|1]
APRS 0 = Miles, 1 = Kilometers [D700]

LIST nn LIST  nn,<call>,<pos>,<icon>,<pos_comment>,<mess_type>,<icon_ext>,<comment>,<data>

Where:
<call>     callsign

<pos> position data in the form nnnnnnccmmmmmmmdd
           where:
             nn nn.nn  latitude
            mmm mm.mm  longitude
            cc 00 North, 01 South        
            dd 00 East,  01 West
         
<icon>      icon, 2 characters

<pos_comment>  1 character
     ?     None
     0     "Off Duty"
     1     "En Route"
     2     "In Service"
     3     "Returning"
     4     "Committed"
     5     "Special"
     6     "Priority"
     7     "Emergency"

<icon_ext> 1 character

<mess_type> Determins data, below
     0     CSESPD
     1     WEATHER
     2     CSESPD
     3     OBJECT
     4     PHG
     5     CSESPD
     6     CSESPD
 
<data>     12 characters
  For:
    CSESPD:     cccsss         where ccc is course and sss is speed
    WEATHER:    dddssstttrrr   where ddd is wind direction, sss is wind speed
                                   ttt is temperature and rr.r is rainfall
    OBJECT:     fffffff        f... = "from" field
    PHG:        phgd           where: p = POWER, h = HEIGHT, g = GAIN, d = DIR

  DIGITS   0  1  2   3   4   5   6    7    8    9  as used in the Pwr field
  -------------------------------------------------------------------------
  POWER    0, 1, 4,  9, 16, 25, 36,  49,  64,  81  watts  SQR(P)
  HEIGHT  10,20,40, 80,160,320,640,1280,2560,5120  feet   LOG2(H/10)
  GAIN     0, 1, 2,  3,  4,  5,  6,   7,   8,   9  dB
  DIR      0,45,90,135,180,225,270, 315, 360,   .  deg    D/45  This offsets
           *                                       the range circle in the
           * 0 means OMNI                          indicated direction
 


LK [0|1] Radio Lock (1 = Locked)
LMP [0|1] Radio Lamp ( 0 = OFF) [D7]
MAC [0-7] SSTV My Call Color
MC [0|1],n Switch to memory channel on band  [A|B], n=channel number
MCNT [0|1]
Mic Control 1=Enable [D700]

MCL [0|1],[0|1 Lock memory channel [A|B],[UNLOCK|LOCK]
MD [0|1] Set [FM|AM] on the 118 MHz Sub Band
MES HELLO Power On Message - Message is up to 8 Characters
MIN 0,0 Copies the currently displayed frequency and other settings into channel 32. MIN copies current VFO settings into current memory (like F, M.IN)
MON [0|1] Turns OFF|ON monitoring (Squelch)
MNA [0],nnn,Name Names a memory. nnn of form 015 or L6. Name = max 8 characters
MNF [0|1] Change between Name and frequency display on memories.
MP numbers
MP x,numbers
My Position
1234560N12345670W
N 0=North, 1=South   W 0=East 1=West
North/South = 12 deg 34.56 minutes
East/West = 123 deg 45.67 minutes
D700 allows you to have multple "my position" stored (1-5):
   MP 1,33411001151070710

MPNA n,label
label a "my position" memory. [D700]

MR [0],[0],nnn Reads memory nnn. nnn may be in the form 018, or L7 
Returns a MR string of the same form of BUF above, or form below. 
The absolute last parameter is a 0/1,   1 being memory lockout

The second parameter is used to store a split frequency.  For 
example, if you store a frequency of 145.00 rcv, 145.30 xmt in 
channel 20, you get the following:

MR 0,0,020,00145000000,0,0,0,0,0,,09,,09,,0,0
MR 0,1,020,00145300000,0
MR 0,0,nnn output from radio is:
    first three fields from input,
    freq,
    step,
    offset direction
    reverse,
    tone,
    ctcss,
    DCS on,
    tone freq,
    nnnn = dcs number, 0010 = 023 thru 1040 = 754
    ctcss freq,
    offset,
    mode,
    scan locked

 MR 0,1,nnn output is:
    first three fields from inout,
    freq,
    step (why?)


MSH Copy Memory to VFO - Same as F-VFO
MW
0,
nnn,
Frequency
Step,
Shift,
Reverse,
Tone,
CTCSS,
DCS Enabled
Tone Freq,
DCS Tone
CTCSS Freq,
Offset,
Mode,
0
MW   Memory Write... Needs a lot more work

This essentially mirrors MR. nnn is the Channel for the memory

MUTE [0|1]
Mute other side on PTT[D-700]

MYC VK2TDS Sets the APRS CALLSIGN
NSFT [0|1] Beat Shift - [OFF|ON]; [NORMAL|UPPER] [D7]
 

OS nnnn Repeater Offset in Hz - 9 Digits 0 Padded
PAMB n
sets digits of ambiguity reported GPS position.

PC Power Control
PC 0,0 'band A High power
PC 0,1 'incorrect command no function
PC 0,2 'band A Low power
PC 0,3 'band A EL power
PC 1,0 'band B High power
On D700 First field is band, second is power with
    0 = high, 1 = med, 2 = low

PF x,yy
PF x,yy - mic programmable function keys, x = key (1-4), yy = function
    00 = Power switch      13 = Rev               26 = Visual      
    01 = A/B               14 = Low               27 = Dim         
    02 = Monitor           15 = Mute              28 = Sub-Band Sel
    03 = Enter             16 = Ctrl              29 = DX          
    04 = Voice             17 = PM.In             30 = TNC         
    05 = 1750 Hz tone      18 = A.B.C             31 = List        
    06 = PM                19 = M>V               32 = P.Mon       
    07 = Menu              20 = M.In              33 = BCon        
    08 = VFO               21 = C.In              34 = Msg         
    09 = MR                22 = Lock              35 = Pos         
    10 = CALL              23 = T.Sel                              
    11 = MHz               24 = Shift                              
    12 = Tone              25 = Step [D700]

PIM n
Writes current "Programmable Memory" settings to memory N [D700]

PKSA [0|1]
APRS packet speed, 0 = 1200, 1 = 9600

PM n
selects "Programmable Memory" (aren't they all). [D700]

PMM n
Auto "Programmable Memory" store, 0 = enable, 1 = disable! [D700]

POSC n Position Comment - 0=Off Duty, 1=Enroute, 2=In Service, 3=Returning, 4=Committed, 5=Special, 6=Priority, 7=Emergency
PP path APRS Packet Path
PT [0-6] Transmit Speed Pause of DTMF (100,200,500,750,1000,1500,2000 mSec)
PV [1-6],f1,f2 Set or return the VCO 
1=Air Band, 2 = VHF A, 3 = VHF B, 6 = UHF
f1, f2 = MHz only 5 digits 0 leading
f1 = lower VCO freq. f2 = Higher VCO Freq
PV first arg on D700 is 1-9 (weird pattern)
                                band
    PV 1,00118,00135            A (AM)
    PV 2,00136,00199            A
    PV 3,00136,00174            B
    PV 4,00200,00299            A
    PV 5,00300,00399            B
    PV 6,00300,00399            A
    PV 7,00400,00523            B
    PV 8,00400,00469            A
    PV 9,00800,01299            B



RBN [1|2|3|6] Sets the VFO mode for the selected band.  If you're on
band A, 1 and 2 are valid settings and will switch between AIR and VHF_A.
If you're on band B, 3 and 6 are valid settings for VHF_B and UHF

RC [0|1]
remote control, 1 = enable [D700]

RCA [0|1]
remote control answer back, 1 = enable [D700]

RCC nnn
remote control code, default 000 [D700]

REP [0-2]
repeater, 0 = off, 1 = locked band, 2 = cross band [D700]

REPH [0|1]
Repeater Hold [D700]

REV [0|1] Sets the REVERSE mode - 1 = On
RSV text An RSV message  - usually Signal report
RSC [0-7] RSV Text Color
RX  Stop transmitting and go into recieve mode, or the radio has stopped transmitting
SC [0|1] Stop/Start Scanning
SCR [0-2] Scan Resume - 0=Time, 1 = Carrier, 2 = Seek
SCC callsign Sky Command Callsign
SCT callsign Sky Command To Callsign
SFT n Repeater Shift. 0=None, 1=minue, 2=Plus
SKTN nn Sky Command Access Tone - As CTCSS
SHT n
squelch hang time, 0 = off, 1 = 125 ms, 2 = 250 ms,   3 = 500 ms [D700]

SM [0|1],nn Recieved signal strength on band [A|B] - 05 is the highest I have seen
SMSG text SSTV Message
SMY mycall SkyCommand or SSTV (check) callsign
SMC [0-7] SSTV Message Color
    0=Black, 1=Blue, 2=Red, 3=Magenta, 4=Green, 5=Cyan, 6=Yellow

SQ [0|1],[00-1F]  Set the Squelch setting for the [A|B] band. The valid range is 00-05 (00=open)
D700 range is 00-1F

SSEL n
set speaker mode 1-2 [D700]

SSL b,l
S-meter squelch level, b = band, l = bars to open [D700]

SSQ b,n
set S-meter squelch, b = band, n = 1 enable [D700]

ST n Set Step Size
0 = 5 HKz, 1=6.25, 2=10, 3=12.5, 4=15,
5=20, 6=25, 7=30, 8=50, 9=100 KHz

STAT text Sets the APRS Status Text
STC call,n SSTV Superimpose Call - n=???
STS SSTV Transmit Mode - VC involved?
STP Stop Scanning - No RETURN !!! This may be a side effect and really be related to the SSTV VC.
STXR n
Status TX Rate, 0 = off, 1-8. [D700]

SV [0-9] Battery Save, 0=Off, 1=0.2Sec 2=0.4, 3=0.6, 4=0.8, 5=1.0, 6=2, 7=3, 8=4, 9=5 [D7]
TC [0|1] Turns FULL TNC ON/OFF - TC 0 turns full TNC on. TC 1 turns TNC off in TNC comamnd mode. Returns TS 1 !!!! Note the wrong return value.[D7]
TNC [0|1] Turns the TNC [OFF|ON]. Turning it on is only for APRS mode.
D700 1 = APRS, 2 = Packet

TO [0|1] Pl Tone Enable
TOT
PTT timeout, 0 = 3 minutes, 1 = 5 min, 2 = 10 min [D700]

TEMP [0|1]
APRS 0 = degrees F, 1 = degrees C

TN nn PL Tone - As above
TSP [0|1] DTMF Transmission Speed - 0 = Fast, 1 = Slow
TT [0|1] Turn OFF/On 1750 Mhz tone (D7E)
TX [0|1] Start transmitting on the [A|B] band.
TXH [0|1] Turns TXHold [OFF|ON]
TXI [0-7] APRS TX interval
   (0=0.5,1=1,2=2,3=3,4=5,5=10,6=20,7=30)

TXN Transmit Narrow (TH-D7E)
TXS [0|1] TX Inhibit 0=Off, 1=On [D7]
TDY
it's thought these are related to the diode matrix - for example,
  TH-G71 radios with the extended receive mod report different values.
  Handy if you could set them via the serial port!

UIDIG nnn
UIDIGI path [D700]

UNIT [0|1] APRS Display Unit
0 = Miles/F, 1=Km and Celcius (1 Should be the default :-) [D7]

UPR string Unproto String - APK001 = Default [APK101 for D700]
UP UP Moves the Memory Channel up (similar to DW) - Similar to DW
VCS [0|1] SSTV VC Shutter 1=on
VMC [0|1]|[0-3] Mode of band  [A|B] 0=VFO, 2=Memory, 3=call
VSC [0|1]
Visual Scan [D700]
VSL xxx,y
Visual scan output, I guess XXX is the "channel"
  number and "y" is the signal strength (ranges between 0 and 7 like
  the main signal strength) [D700]

VSM n
visual scan mode, 1 = 31 channel, 2 = 61 ch, 3 = 91 ch, 4 =   181 ch. [D700]

VW VFO Write ???
WAY n
waypoint reporting format -
    0 = off
    1 = 6 digits NMEA
    2 = 7 digits NMEA
    3 = 8 digits NMEA
    4 = 9 digits NMEA
    5 = 6 digits Magellan
    6 = DGPS


 

UNKNOWN COMMANDS

 
Command Comment
GC
GM
SR
TH
LAN
NMSG
OPTH No Return - VC?
STM No Return - VC?
STR No Return - VC?
STS No Return - VC?
STT No Return - VC
TXN
TYD
ULC 0,0

 

Format of the D7 Kenwood File

 

 
 



COMMENT Coments?
MEMORY Contents of radio memories
CALL Contents of Call Channels
VCO Contents of the VCO's
DTMF ???
RADIO MENU
APRS MENU APRS Setting
SSTV MENU Slow Scan TV Settings

MEMORY

TAB Delimitered

CHANNEL|FREQ|STEPflag|SHIFTflag|REV|TONEflag|CTSSflag
|Blank|TONEcode|Blank|CTSScode|Offset|LOCKflag|FM/Amflag|Blank|Blank|Blank|NAME



1 Memory Number - 3 Digits
2 Frequency - 9 Digits
3 VCO Number (1=118 MHz, 2=VHF, 3=SubVHF, 6=UHF
4 Frequency Step (0 = 5 HKz, 1=6.25, 2=10, 3=12.5, 4=15,
5=20, 6=25, 7=30, 8=50, 9=100 KHz)
5 Reverse On
6 Tone On (1=On)
7 CTCSS On (1=On)
8
9 Tone Frequency
10
11 CTCSS Frequency
12 Repeater Offset - 9 Digits
13

 
 
 

24-December-1999

This document has been produced by Darryl Smith, VK2TDS, and David Nesting WL7RO. Thanks also to Andre PE1RDW, Anthony Parise WA3HRL, Andrea Borgia and Glenn Cummings KG7IL. Please email comments and corrections to Darryl Smith VK2TDS. Thanks to Andrew McNamara for D700 updates. Thanks also to Willy Robison KC0JFQ for updates.

For a PERL module that can be used to operate the TH-D7 click HERE .
 
  The following table is from Jim Gill

TNC/Serial Port
is in
THIS MODE
TO GO TO
THIS MODE
SEND THIS IN
UPPERCASE
Is there a delay
for the TNC
to re-initialize
OFF APRS TNC 1 YES
OFF PACKET TNC 2 then TC 0 YES
OFF RC (not necessary)*  
APRS OFF TNC 0  
APRS RC (not necessary)*  
APRS PACKET TNC 2 then TC 0 YES
RC OFF TNC 0  
RC APRS TNC 1 YES
RC PACKET TC 0 NO
PACKET * OFF TC 1 then TNC 0  
PACKET * RC TC 1 NO
PACKET * APRS TC 1 then TNC 1 YES

* Don't forget to send a Ctrl-C (alt-3 on keypad, hex $03, etc) to get out of converse mode on the TNC if necessary!
*
You can enter any Radio Control (RC) commands while in the OFF or APRS modes.