==================================================

ICOM IC-R2500/PCR-2500 PROTOCOL

==================================================

ICOM PCR-1500/2500 Command Set:

Frequency: K0GMMMKKKHHHmmff00

where K0 G MMM KKK HHH mm ff 00

G=GHz

MMM=MHz

KKK=KHz

HHH=Hz

mm = mode

ff = Filter

00 = Padding Bytes (always there)

Mode Settings:

00 = LSB

01 = USB

02 = AM

03 = CW

04 = Not used or Unknown

05 = NFM

06 = WFM

07 = DSTAR (PCR-2500 Only)

08 = P25 (PCR-2500 Only)

Filter Settings:

00 = 3 Khz (actually 2.8 Khz) (CW USB LSB AM)

01 = 6 Khz (CW USB LSB AM NFM)

02 = 15 Khz (AM NFM)

03 = 50 Khz (AM NFM WFM)

04 = 230 Khz (WFM)

If the command is good you should get a G000 back.

I got G001 when I tried modes above 6 which means bad command.

The memory file is CSV but uses FM and P25 for the mode entries.

__________________________________________________ ___

Command Return Code:

G0xx

xx = 00 when command is accepted

xx = 01 when command is bad

Baud Rate:

G1xx

xx = 00 300

xx = 01 1200

xx = 02 4800

xx = 03 9600

xx = 04 19200

xx = 05 38400

Signal Update:

G3xx

00 = off (Software must manually poll signal strength, DTMF tone, Center,

etc) See I1? to I3? below

01 = on (Radio returns Status when a parameter changes) See Ix? commands

02 = binary mode (Update off)

03 = binary mode (Update on)

Power:

H1? Is radio alive?

Radio responds: H101 (on) or H100 (off)

CTCSS/DTCS SCAN OPERATION:

When CTCSS/DTCS scanning the S/W sends (Rcvr 1):

H600 – When CTCSS/DTCS scanning is to stop

H601 – Is sent, prior each J51xx CTCSS or J520yxx DTCS Code command

CTCSS/DTCS SCAN OPERATION:

When CTCSS/DTCS scanning the S/W sends (Rcvr 2):

H700 – When CTCSS/DTCS scanning is to stop

H701 – Is sent, prior each J71xx CTCSS or J720yxx DTCS Code command

Inquire signal information. These commands can be Polled or are

returned as a packet if Autoupdate is ON (See G301) and one of the

values changes.

I0? Squelch Status: returns 04 = Closed, 07 = Open

I1? Signal Strength: returns 00 to FF

I2? Signal Centering: returns 00 = Low, 80 = Centered, FF = High

I3? DTMF Tone

returns I300 if NO DTMF tone present

returns I31 + ASCII digit 0 to F (0~9, *=E, #=F)

J0000 RELATED TO ANTENNA / DIVERSITY: UNKNOWN SETTING/OPTION

Icom Software uses this during radio init and MODE IS FM.

J0001 ANTENNA DIVERSITY OFF

J0002 ANTENNA DIVERSITY ON

Volume:

J40xx xx Range 00 to FF (Rcvr 1)

J60xx xx Range 00 to FF (Rcvr 2)

Squelch (alway resets VSC when switching to/from OPEN SQL and back):

J41xx xx Range 00 (OPEN) to FF (Rcvr 1)

J61xx xx Range 00 (OPEN) to FF (Rcvr 2)

Unkown:

J42xx Unknown Rcvr1 Option

J62xx Unknown Rcvr2 Option

IF Shift:

J43xx xx Range 00 to FF (Rcvr 1)

J63xx xx Range 00 to FF (Rcvr 2)

AGC (Auto Gain Control):

J45xx xx = 00=OFF, 01=ON (Rcvr 1)

J65xx xx = 00=OFF, 01=ON (Rcvr 2)

NB (Noise Blanker):

J46xx xx = 00=OFF, 01=ON (Rcvr 1)

J66xx xx = 00=OFF, 01=ON (Rcvr 2)

Attenuator:

J47xx xx = 00=OFF, 01=ON (Rcvr 1)

J67xx xx = 00=OFF, 01=ON (Rcvr 2)

PROG SCAN:

J48/68xx PROGram Scan Mode Options for Rcv1/Rcvr2:

This tells the radio that quick (HEX) tuning is to follow,

i.e. no change of mode or SQL options expected. (See K2/3xxxxxxx)

xx=00 OFF, Back to normal tuning/response mode

xx=01 ON , Expect abbreviated tunning accepted

**** Expected response is H9xx for Rcvr1 and HDxx for Rcvr2.

VSC (Voice Squelch Carrier):

J50xx xx = 00=OFF, 01=ON (Rcvr 1)

J70xx xx = 00=OFF, 01=ON (Rcvr 2)

T.SQL (Tone Squelch):

J51xx xx = 00=OFF (Rcvr 1)

xx = 01=67Hz ~ 33=254.1Hz)

J71xx xx = 00=OFF (Rcvr 2)

xx = 01=67Hz ~ 33=254.1Hz)

DTCS (DCS Squelch):

J520yxx y = 0 Normal DTCS SQL (Rcvr 1)

y = 1 Lockout DTCS Code

y = 2 Reverse DTCS Polarity

y = 3 Lockout the Reversed DCS Code

xx = 00=OFF

xx = 68=D754

J530000 Rcvr1: CLEAR ALL SET RCVR SETTINGS AND OPTIONS (Usually during init)

Icom software uses this during radio init.

J720yxx y = 0 Normal DTCS SQL (Rcvr 2)

y = 1 Lockout DTCS Code

y = 2 Reverse DTCS Polarity

y = 3 Lockout the Reversed DTCS Code

xx = 00=OFF

xx = 68=D754

J730000 Rcvr2: CLEAR ALL SET RCVR SETTINGS AND OPTIONS (Usually during init)

Icom software uses this during radio init.

__________________________________________________ _________

DSP Command Set:

J8x Are the DSP commands below have to be sent as a packet

followed by a Cr + Lf

J8001|J8101|J820F|J8301 <- The pipes are there only for visual reference.

On startup the software sends GD?

Returns GD00 if NO DSP installed

Returns GD01 if DSP Installed

Autoupdate must be ON (send G301 + cr + lf):

J8001 Always the same

J81xx DSP Power (UT-106)

xx is 00=OFF

xx is 01=ON

J82xx This is the ANR function (Automatic Noise Reduction)

xx is 00 if ANR OFF.

xx is 01 ~ 0F, when you turn knob on the DSP Popup-Panel.

J83xx is the ANF function (Automatic Notch filter)

xx is 00=OFF

xx is 01=ON

JA200 UNKNOWN SETTING/OPTION

Icom Software uses this during radio init.

JA201 UNKNOWN SETTING/OPTION

Icom Software uses this during radio init.

__________________________________________________ _________

JBx Are P25 OPTION COMMANDS

JB1xx is the P25 D.SQL Enabler (NAC FILTER)

xx is 00=D.SQL (NAC FILTER) OFF: Allow ANY NAC,TGID or UNIT ID through

xx is 01=D.SQL (NAC FILTER) ON: Allow ANY NAC,TGID or UNIT ID through

xx is 02=D.SQL (NAC FILTER) ON: ALL Stored filter values are used.

You should now explicity set them (see JB2x/3x/4x)

JB2xxxx is the P25 NAC value, when D.SQL is enabled

0000 is ALL NACs accepted

JB3xxxx is the TGID Filter/Mask, when D.SQL is enabled

0000 is ANY TGID

value is HEX for 0-65535 (0-FFFF)

JB4xxxxxxx is the UNIT (Radio) ID value, when D.SQL is enabled

0000001 is OFF or ALL UNIT IDs

value is in HEX for 1-9999999 (1-98967F)

P25 NOTE: UNKOWN BUT JB20000,JB30000,JB4000001 ARE SENT

WHEN NO P25 FILTERING IS SET.

__________________________________________________ _________

JC000 UNKNOWN SETTING/OPTION

Icom Software uses this during radio init.

JC500 UNKNOWN SETTING/OPTION

Icom Software uses this during radio init.

K2xxxxxxx PROGram Scan Quick Tune (Rcvr1),

K3xxxxxxx PROGram Scan Quick Tune (Rcvr2):

This means that the radio expects abbreviated freq tunning (See

K2/3xxxxxxxx) instructions from the s/w

to help speed up the scanning process.

Every tune message (K2/3xxxxxxxx where Xs=HEX) must be followed by an

H897/HC91 “execute” instruction.

This allows the s/w to set SQL/DSP params prior to using the H9/HC “execute”

instruction.

The radio will then tune to the freq and return H9/C02, then H9/C01. These

two response values back-to-

back mean that this freq did not contain a carrier, and is expecting the

next freq to be sent.

If there was a carrier, then the normal Ixxx signal strength value would

have been returned.

Scanning should stop at this point until carrrier is lost, then resume.

** Expected responses are H9xx=Rcvr1 and HDxx=Rcvr2.

================================================== ==

RADIO REPLIES

I0xx Squelch Status xx=04 Closed, 07 Open.

I1ss ss is Signal Strength 00 to FF

I2xx xx=00 Signal Frequency < Display Frequency

xx=80 Signal Frequency = Display Frequency

xx=FF Signal Frequency > Display Frequency

I300 No DTMF Present

I31t t is DTMF tone (0-9 or *=E, #=F)

P25: Receive Status Packet (From Rcvr)

————————————–

Digital|TGID|UnitID (Hex)

——-+——+—————

JB602 |0002|001C1D

__________________

=================================

On the 2500 Commands,

JA2xx Controls the Audio (USB?), 00=OFF & 01=On.

J42xx J4201=Squelch Delay:Long, J4200=Squelch Delay:Short

J62xx Haven’t seen this one yet! Could be the SUB Rcvr Squelch Delay?

J00xx -> Diversity/Tuners:

J0002=Dual Diversity ON, 1 display using 2 tuners

J0001=Single Diversity OFF, 1 display using 1 tuner

J0000=OFF Diversity OFF, 2 displays using 2 tuners

J720yxx -> Dual DTCS

Y=0 – Normal, =1 – Reverse Polarity, =2 – Reverse Action, =3 – Both

JC001=Option Unit Power=ON, JC000 Option Unit Power=Auto

JC401=DV Monitor:Analog, JC400=DV Monitor igital

JC501=DataBaudRate:4800, JC500=DataBaudRate:9600

JB6TYGGGGRRRRRR

TY = System Type

GGGG = TalkGroup 0 to FFFF (Hex)

RRRRRR = UserID 1 to 98967F (Hex)