Kenwood 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 theresulting 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 Radio0 = 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 Detecta=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..nnnnex. DM 01,12345 stores 123456 in DTMF memory 01
DMN cc, NAME DTMF Channel Name. Names the Channelex. 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 Iconfor [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 numbersMP x,numbers My Position1234560N12345670W

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 L7Returns a MR string of the same form of BUF above, or form below.

The absolute last parameter is a 0/1,   1 being memory lockoutThe 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
MW0,

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 workThis 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 ControlPC 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 = function00 = Power switch      13 =
Rev26 = 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 VCO1=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,00135A (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 onband 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 Color0=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 Size0 = 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 Unit0 = 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 TOTHIS MODE SEND THISIN

UPPERCASE

Is there a delayfor 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.