Tuesday, 10 May 2016

Icom IC-M802 Remote Interface

Hi everyone,

This is a technical post!

For several years I've been asking various Icom representatives for information on the M802's Remote Interface.  These enquiries have been met with either no response or a negative response without explanation.

The interface is commonly used by software such as Airmail and RMS Express.  A limited number of commands have been described on the web.  I wish to use the interface for SSB Minder and want to make maximum use of whatever the Remote Interface offers.  Therefore in recent months I have been working to find additional commands.

The work has taken a considerable time but has yielded useful results.  Here is what I found...


Icom IC-M802 Remote Interface
An Unofficial Description

1             Introduction

The Icom IC-M802 transceiver provides a REMOTE interface.  The Icom Instruction Manual says it “connects to a PC via an RS232C cable for remote control in NMEA or RS232 format”.  The manual does not describe the commands available at the interface.  There appears to be no publicly available document which describes the commands.

This document aims to provide some of the missing information.  The information was gathered by research on the web and by simply trying putative commands at the REMOTE Interface.  All single, double and triple character commands were tried.  With commands identified each was tested to establish valid values and the scenarios in which the commands were applicable.

The information provided has only been tested on the IC-M802.  It is highly likely but not proven that the IC-M801E will have an almost identical command set.  The command set may also apply to other Icom marine radios, particularly the IC-M800 and potentially even the IC-M700 series.

The information presented in this document comes with no warranty of any kind. 
It probably contains errors and certainly contains omissions. 
The information presented is simply my opinion!

2             Overview

Research and testing have shown the following to be the case:
·      The SET MODE item REMOTE I/F should be set to NMEA
·      The REMOTE Interface uses RS232 voltages (not NMEA 0 to 5V)
·      The REMOTE Interface RTS/CTS and DTR/DSR signals are used
·      Commands are custom NMEA0183 sentences, all including standard checksum
·      Commands include 20 $PICOA sentences and one $CCFSI/$CTFSI sentence
·      Valid command sentences produce a response sentence
·      The $PICOA sentences support remotely setting and reading most non-DSC settings available manually at the front panel
·      Some commands can write and read settings while others are read-only

3             Operational States

The IC-M802 appears to have five operational states.  These do not include configuration states.  The operational states and transitions from each are described below:
·      Off
o   Power not applied (eg breaker switch off)
o   Goes to Standby, Local or DSC Watch when power applied.  Goes to the previously held state except it goes to Local when previously in Remote
·      Standby
o   Radios (transceiver and DSC receiver) not operating
o   Goes to Off when power removed
o   Goes to Local or DSC Watch (whichever was last active) when (A) POWER button pushed or (B) when RTS/DTR are asserted and then a valid command is written
·      Local
o   Radios operating, with transceiver under manual control
o   Goes to Off when power removed
o   Goes to Standby when POWER button pushed
o   Goes to DSC Watch when DSC button pushed
o   Goes to Remote when (1) RTS/DTR asserted, (2) a valid command is written and (3) either the REMOTE parameter is set to ON or any other parameter is written
·      DSC Watch
o   Radios scan DSC scan and emergency frequencies, with DSC transmission accessed via SET/MODE button
o   Goes to Off when power removed
o   Goes to Standby when POWER button pushed
o   Goes to Local when DSC button pushed
o   Goes to Remote when (1) RTS/DTR asserted, (2) a valid command is written and (3) either the REMOTE parameter is set to ON or any other parameter is written
o   Note 1 – the transceiver does not respond reliably to a rapid sequence of parameter reads at the REMOTE Interface while in this mode
·      Remote
o   Radios operating, with main transceiver controlled via the REMOTE Interface
o   Goes to Off when power removed
o   Goes to Standby when POWER button pushed
o   Goes to Local when RTS/DTR negated
o   Goes to Local when the REMOTE parameter is set to OFF
o   Note 1 - entering Remote mode by writing the REMOTE parameter does not change transceiver settings
o   Note 2 - no known command to go to DSC Watch from Remote

4             Sentences

Two main sentences are known to exist:
·      $CCFSI – Write or read frequency/modulation
·      $PICOA – Write and/or read Icom-specific settings, states and meters

4.1        $CCFSI/$CTFSI

The $CCFSI sentence syntax is:
·      $CCFSI,<tx>,<rx>,<mode>,<power>*<checksum>
o   <tx> is six character transmit frequency in 100Hz units
o   <rx> is six character receive frequency in 100Hz units
o   <mode> is ‘m’ for USB, ‘o’ for AM, ‘q’ for AFS, ‘{‘ for CW or null for LSB or FSK
o   <power> is always set to ‘0’
o   <checksum> is identical to that for NMEA0183
·      notes:
o   A $CTFSI response sentence is returned with identical format
o   Entering this command with null <tx>, <rx>, <mode> and <power> produces a $CTFSI response sentence showing current state

4.2        $PICOA

The $PICOA sentence syntax is:
·      $PICOA,<sa>,<da>,<parameter>,<value>,<checksum>
o   <sa> is source address “90”
o   <rx> is destination address “08” for the IC-M802
o   <parameter> is an upper-case string
o   <value> is a parameter-dependent upper-case string
o   <checksum> is identical to that for NMEA0183
·      notes:
o   A $PICOA response sentence is returned with identical format except <sa> and <da> are reversed
o   Entering these commands with null <value> reads current state
o   Entering any of these commands with a valid <value> sets REMOTE=ON
A set of 20 $PICOA commands are known to exist.  Each command has a meaningful parameter name and also a three-character code.  Trying all parameter names with three alphanumeric characters yielded the latter, and their response showed the meaningful parameter name.  The synonyms are “ALL” to “AL4” inclusive, with “ALL” being atypical in that it produces a multiline response.  The meaningful names should normally be used.

The table below describes the sentences.

Table 1.                  $PICOA Command Parameters and Values
Purpose
Parameter
Values
rw/ro
Notes
Read ALL status
ALL1
none
R

Receive Frequency
RXF
FF.FFFFFF
RW
Frequency in MHz
Transmit Frequency
ALM or TXF
FF.FFFFFF
RW
Frequency in MHz
Modulation Mode
ALN or MODE
AM, LSB, USB, AFS, CW, FSK
RW

FSK/AFS Filter Bandwidth
ALO or FIL
NAR, MID, WIDE
RW
MID valid for AFS only
RF Gain
ALP or RFG
1..9
RW

Transmit Power
ALQ or TXP
1..3
RW
1=Lo; 2=Med; 3=Hi
Automatic Gain Control
ALR or AGC
ON, OFF
RW

Noise Blanker
ALS or NB
ON, OFF
RW

Squelch Control
ALT or SQLC
ON, OFF
RW

Audio Volume
ALU or AFG
0..255
RW

Tuner
ALV or TUNER
ON, OFF
RW
Setting ON initiates tune
Transmit/Receive
ALW or TRX
TX, RX


Squelch State
ALX or SQLS
OPEN, CLOSED
RO

Rx Signal Meter
ALY or SIGM
0..8
RO

Tx Power Meter
ALZ or POM
0..8
RO
20W => 2; 50W => 4
Tx Antenna Current
AL1 or ANTM
0..8
RO
20W => 2;  50W => 4
Speaker
AL2 or SP
ON, OFF
RW

Display Dimmer
AL3 or DIM
ON, OFF
RW

Remote Control
AL4 or REMOTE
ON, OFF, DSC2
RW

Notes:
1.  The ALL command actually executes the set of ALM..AL4 commands in sequence, generating a multiline response.
2.  DSC Remote Control mode appears to be intended for use with an external DSC Controller such as an Icom GM-110DSC.  Research ongoing.

5             DSC Watch

No commands have yet been found providing control of DSC Watch operation.

Icom may have simply “merged” the standalone GM-110DSC into the transceiver.  If this is the case the integrated DSC unit may still communicate via a separate NMEA interface inside the M802.  The M802’s apparent slow response to commands at the REMOTE Interface when the M802 is in DSC Watch may support  this suspicion.  If so it may be that communication from the REMOTE Interface to the DSC unit is not possible.

Research is continuing.

6 comments:

  1. Hi,

    I'm in the process of writing a simple control program for the M802 thank you for the outstanding information.

    ReplyDelete
  2. Hi W0PRH, Thanks for the kind words! Mike.

    ReplyDelete
  3. Thanks a lot for the share. Any command to tune ? How do you program or recover a memory location ? any idea.

    ReplyDelete
  4. Hi Charudatt, The Tuner command documented above should initiate tuning. I don't know of a means of programming a memory location using this interface, but it may well be possible. I use the cs-m802 programming software. Mike.

    ReplyDelete
  5. Thank you Mike for your response. Also does this hardware have a CI-V interface ?

    ReplyDelete
  6. No. CS-M802 uses the above RS-232 interface. So all the commands you want are there somewhere!

    ReplyDelete