4.0 CI-V Command overview

When the CI-V protocol was first used with the IC-735 it supported only a handful commands. Meanwhile (2006) there are rigs which support nearly 200 different commands.

The basic set of commands ($00 to $10) are nearly identically used on all rigs, with some variation. Later commands are sometimes working on one or a few radios only. Further many commands have different effects on different rigs, i.e. two rigs may offer the same function but with different commands. A later section tries to give an overview about which rigs understands which command.

This list of CI-V commands is just an overview, the following sections will explain them in more depth and with examples. Also in the following sections are detailed listings for some radios which are too long and complex to include them here.

CI-V Command overview

In column data some abbreviations are used:

Many commands can be issued with or without data. With data the command sets the value, without data the value is read. This does work on many rigs and many commands, but not on all (rigs and commands). Unfortunately my information at hand is not sufficient to document each case.

Cmd Sub Data Operation Comment
$00 - fd Transfer operating frequency data No reply from rig, not even $FB
$01 - md,pd Transfer operating mode data No reply from rig, not even $FB. See next section for some remarks.
$02 - fd,fd Read lower/upper freq. data Replies with lower/upper limit, separated by "-" ($2D)
$03 - fd Read operating freq. data If a blank mem channel is selected, only $FF is sent back; except for IC-761 and older CI-IV radios.
$04 - md,pd Read operating mode data See cmd $03
$05 - fd Write operating freq. data to VFO.  
$06 - md,pd Write operating mode data to VFO. See next section for some remarks.
$07 - - Select VFO mode  
$00 - Select VFO A  
$01 - Select VFO B  
$A0 - VFO A = VFO B  
$B0 - Exchange VFO A/B or MAIN/SUB  
$B1 - MAIN = SUB  
$C0 - Dual watch off  
$C1 - Dual watch on  
$D0 - Select MAIN band  
$D1 - Select SUB band  
$E0 wn Select front window (R7100 only) wn=$00, $01
$08 - - Select Memory mode  
- mn Select memory channel When currently in VFO mode, the mode is not changed (stays in VFO mode), but just selects the memory channel "mn"
$A0 bn Select memory bank IC-R8500 (0 to 24), IC-7000 (1 to 5)
$09 - - Memory write Writes displayed data (Freq, mode) to currently selected memory
$0A - - Memory to VFO Transfers memory contents to VFO.
IC-706xxx When in VFO mode, only the currently selected VFO (A or B) is programmed. When in memory mode before issuing this command, VFO A and B and Split status are programmed if the selected memory has split data.
$0B - - Memory clear IC-706xxx has to be in memory mode to clear a mem; IC-756 can be in VFO or MEM mode for this command to function; other rigs unknown
$0C - fd Read duplex offset freq This command simply tells the default offset, not the one programemd into a split memory. So this command is not usable to determine whether a mem channel is in split (duplex) mode or not.
$0D - fd Write offset freq  
$0E $00   Stop scan  
$01   Start programmed scan / memory scan  
$02   Start programmed scan  
$03   Start Δf scan  
$04   Start auto memory-write scan  
$12   Start fine programmed scan  
$13   Start fine Δf scan  
$22   Start memory scan  
$23   Start selected number memory scan  
$24   Start selected mode memory scan  
$42   Start priority / window scan  
$A0   Unfix center freq for Δf scan  
$AA   Fix center freq. for Δf scan  
$A1   Set Δf to ± 2.5kHz  
$A2   Set Δf to ± 5kHz  
$A3   Set Δf to ± 10kHz  
$A4   Set Δf to ± 20kHz  
$A5   Set Δf to ± 50kHz  
$A6   Set Δf to ± 500kHz IC-756Pro, 756ProII
$A7   Set Δf to ± 1000kHz IC-756Pro, 756ProII
$B0   Include memory for scan IC-7800 requires one additonal byte (1-3) to select the scan select group.
$B1   Exclude memory from scan  
$B2 b Set scan number  
$C0   VSC off  
$C1   VSC on  
$D0   Scan resume indefinetely IC-R9000, IC-R8500, IC-7000
IC-910: Scan resume Off
$D1   Scan resume off IC-R9000, IC-R8500
$D2   Scan resume "B" IC-R9000
$D3   Scan resume "A" IC-R9000, IC-R8500:Delay
IC-7000: Scan resume off
IC-910: Scan resume On
$0F $00   Cancel split freq. op  
$01   Start split freq. op  
$10   Cancel duplex op  
$11   Select duplex "-" op  
$12   Select duplex "+" op  
$10 $00   Select minimum tuning step Available tuning steps vary from radio to radio.
See table in Section 4.1
$01   Select tuning step 1  
$02   Select tuning step 2  
$03   Select tuning step 3  
$04   Select tuning step 4  
$05   Select tuning step 5  
$06   Select tuning step 6  
$07   Select tuning step 7  
$08   Select tuning step 8  
$09   Select tuning step 9  
$10   Select tuning step 10  
$11   Select tuning step 11  
$12   Select tuning step 12  
$13   Select tuning step 13  
$11 -   Attenuator status  
$00   Attenuator off Most radios
$01   Select 3dB attenuator IC-7800
$02   Select 6dB attenuator IC-7800
$03   Select 9dB attenuator IC-7800
$04   Select 12dB attenuator IC-7800
$05   Select 15dB attenuator IC-7800
$06   Select 6db attenuator IC-756Pro, 756ProII
IC-7800: Select 18dB attenuator
$07   Select 21dB attenuator IC-7800
$10   Select 10db attenuator  
$12   Select 12db attenuator IC-756Pro, 756ProII, IC-756ProIII, IC-7000
$18   Select 18db attenuator IC-756Pro, 756ProII
$20   Select 20db attenuator Many radios
$30   Select 30db attenuator IC-R8500
$12 -   Antenna status Issued w/o subcommand: reads out the currently selected antenna
$00   Select Antenna 1 IC-R9000: turns antenna switch off
$00 $00 Select Antenna 1, RXA off IC-756, IC-756Pro, IC-7800
$00 $01 Select Antenna 1, RXA on IC-756, IC-756Pro, IC-7800
$01   Select Antenna 2 IC-R9000: turns antenna switch on
IC-746: Select Antenna 1
$01 $00 Select Antenna 2, RXA off IC-756, IC-756Pro, IC-7800
$01 $01 Select Antenna 2 for TX, RXA for RX IC-756, IC-756Pro, IC-7800
$02   Select Antenna 2 IC-746
$02 $00 Select Antenna 3, RXA off IC-7800
$02 $01 Select Antenna 3, RXA on IC-7800
$03 $00 Select Antenna 4, RXA off IC-7800
$03 $01 Select Antenna 4, RXA on IC-7800
$13 $00   Announce all data Requires optional speech synthesizer
$01   Announce frequency (and S-Meter) Requires optional speech synthesizer
$02   Announce RX mode only Requires optional speech synthesizer
$14   sq,gd Set AF, RF, Sql gain IC-R9000 all, IC-R7100 only AF gain
$14 $01 - $1A - Level settings When submitted w/o data, many rigs answer with current setting, 1 or 2 bytes BCD. Does not work on IC-R8500
$01 level AF level setting -
$02 level RF level setting -
$03 level SQL level setting -
$04 level IF shift setting IC-R8500
$05 level APF level setting IC-R8500, IC-7800
$06 level NR level setting -
$07 level Twin PBT setting (inner) -
$08 level Twin PBT setting (outer) -
$09 level CW pitch setting -
$0A level RF power -
$0B level MIC Gain -
$0C level Key Speed -
$0D level Notch Freq. -
$0E level Compressor level -
$0F level BKin Delay -
$10 level Balance (Dual Watch) -
$11 level AGC setting IC-7800
$12 level NB level IC-756Pro3, IC-7000
$13 level DIGI-SEL setting IC-7800
$14 level DRIVE level IC-7800
$15 level Monitor gain IC-756Pro3, IC-7800, IC-7000
$16 level VOX gain IC-756Pro3, IC-7800, IC-7000
$17 level Anti-VOX gain IC-756Pro3, IC-7800, IC-7000
$18 level LCD contrast IC-756Pro3, IC-7800, IC-7000
$19 level LCD brightness IC-756Pro3, IC-7800, IC-7000
$1A level Notch filter 2 IC-7000
$15 $01   Read Sql status $00=sql closed, $01=sql open
$02   Read signal strength 2 bytes BCD, 0000 to 0255
$11   Read RF power meter IC-746Pro, IC-756Pro3, IC-7000, 2 bytes BCD, 0000 to 0255
$12   Read SWR meter IC-746Pro, IC-756Pro3, IC-7000, 2 bytes BCD, 0000 to 0255
$13   Read ALC meter IC-746Pro, IC-756Pro3, IC-7000, 2 bytes BCD, 0000 to 0255
$14   Read COMP meter IC-756Pro3, IC-7000, 2 bytes BCD, 0000 to 0255
$15   Read VD value IC-7800, 2 bytes BCD, 0000 to 0255
$16   Read ID value IC-7800, 2 bytes BCD, 0000 to 0255
$16 $02 $00 | $01 | $02 Preamp Setting $00=PreAmp off, $01=PreAmp1, $02=PreAmp2
$10 - AGC Off IC-R8500 only
$11 - AGC On IC-R8500 only
$12 $00 - $03 AGC setting $00=AGC off, $01=AGC fast, $02=AGC middle, $03=AGC slow
$20 - NB Off IC-R8500 only
$21 - NB On IC-R8500 only
$22 $00 | $01 Noise Blanker off/on $00=NB off, $01=NB on
$30 - APF Off IC-R8500 only
$31 - APF On IC-R8500 only
$32 $00 | $01 APF off/on $00=APF off, $01=APF on
$40 $00 | $01 Noise reduction off/on (DSP required)  
$41 $00 | $01 Auto notch off/on (DSP required)  
$42 $00 | $01 Repeater tone off/on  
$43 $00 | $01 TSQL off/on  
$44 $00 | $01 Compressor off/on  
$45 $00 | $01 Monitor off/on  
$46 $00 | $01 VOX off/on  
$47 $00 | $01 | $02 BKin setting $00:Off; $01:Semi; $02:Full
$48 $00 | $01 Manual Notch off/on  
$49 $00 | $01 RTTY Filter off/on IC-756Pro
$4A $00 | $01 AFC off/on IC-910 only
$4B $00 | $01 DTCS off/on IC-746Pro, IC-7000
$4C $00 | $01 VSC off/on IC-746Pro, IC-7000
$4D $00 | $01 Manual AGC off/on IC-7800
$4E $00 | $01 DIGI-SEL off/on IC-7800
$4F $00 | $01 Twin peak Filter off/on IC-756Pro3, IC-7800
$50 $00 | $01 Dial Lock off/on IC-756Pro3, IC-7800, IC-7000
$51 $00 | $01 Manual Notch off/on IC-7000
$17 - data Send CW chars IC-775DSP
$18 $00   Turn receiver power OFF When RX is already off, answer is still "Ok" from rig.
IC-R75: doc error (On/Off reversed)
IC-R8500: Power off, Activating sleep mode
$01   Turn receiver power ON When RX is already ON, sending this command returns an error. Disappointing, but understandable.
IC-R75: doc error (On/Off reversed)
IC-R8500: Power On, from active sleep mode
$19 $00   Read transceiver ID code This command returns the default CI-V adress of the rig, regardless of the actual setting (which might have been changed by the user).
$1A $00 data Send/Read ext. memory Format differs for various rigs, details see Section 4.3
$01 data   Details for some rigs, Section 4.3
IC-R75: IF filter settings
IC-746, IC-756Pro, IC-7000: Set bandstacking registers
IC-R8500: Read ext. memory
IC-910: Set satellite mem.
$02 data   Details for some rigs, Section 4.3
IC-R75: mode contents
IC-746, IC-756Pro, IC-7000: Mem. keyer contents
IC-910: Set VOX gain level
$03 data   Details for some rigs, see Section 4.3
IC-746, IC-7000: Set/Read IF filter setting
IC-R8500: Read bank name
IC-910: Set VOX delay
$04 level   IC-910: Set Anti-VOX level
IC-7000:Set/read AGC time constants
$05 level Set Attentuation level IC-910 only
$05xx   Many new commands IC-756Pro2/3, IC-746Pro, IC-7800, IC-7000 and others, see own section for each radio
$06 b   IC-910: Set RIT off/on: $00=Off, $01=On, $02=sub dial
IC-756Pro2/3, IC-746Pro, IC-7800 Data Mode (LSB-D, USB-D): $00=Off; $01=On
IC-7000 Set/read SSB TX bandwidth: $00=wide, $01=mid, $02=narrow
$07 b   IC-910: Set satellite mode: $00=Off, $01=On
IC-756Pro2/3, IC-746Pro, IC-7800 SSB Tx bandwidth: $00=wide, $01=mid, $02=narrow
IC-7000 Set/Read DSP filter shape: $00=sharp, $01=soft
$08 b   IC-910 Set simple bandscope: $00=Off, $01=On
IC-746Pro, IC-7800 DSP filter shape: $00=sharp; $01=soft
IC-7000 Set/read Manual Notch 1 bandwidth: $00=wide, $01=mid, $02=nar
$09 b   IC-7800 Set/Read roofing filter:$00=6kHz, $01=15kHz
IC-7000 Set/read Manual Notch 2 bandwidth: $00=wide, $01=mid, $02=nar
$0A b   IC-7800 Set/read Manual Notch 2 width: $00=wide, $01=mid, $02=nar
IC-7000 Set/read 9600bps mode $00=Off, $01=On
$10 b   IC-7800 Set/read Lock function set $00=Off, $01=On
$1B $00 BCD Set/Read the tone frequency for repeater use Data is 3 byte BCD in 1/10 Hz, i.e. 88.5Hz is sent as $00 $08 $85. The first byte is always $00 and can be omitted. When reading the data, the rig replies with three bytes.
$01 BCD Set/Read the tone frequency for tone squelch Data is 3 byte BCD in 1/10 Hz, i.e. 103.7Hz is sent as $00 $10 $37. The first byte is always $00.
$02 data DTCS code and polarity IC-746Pro, IC-7000
$1C $00 $00 | $01 Transmit On/Off $00=Tx Off; $01=Tx on
$01 $00 | $01 | $02 Ant.Tuner function IC-746Pro, IC-756Pro3, IC-7800, IC-7000 $00=Off; $01=On; $02=Start tuning or while tuning
$7F $00 - $D4 ? Optocom extensions Optoelectronics Inc. proprietary extensions to the CI-V command set; used only with their eqipment. See Optoelectronics, Inc. website (technical documents) for many downloadable documents with all details.