Re: Lets TALK CI-V, an INTRO!


Michael WA7SKG
 

Trivia note:
I had always pronounced CI-V as "See-Eye-Vee", as did everybody I've ever heard discuss it. I had occasion to talk to an Icom guy a while back and he politely informed me it was properly pronounced "See-Eye-FIVE".

One of those FWIW things.

Michael WA7SKG


VE2DX wrote on 4/23/20 2:24 PM:

Ok,*ICOMs CI-V* it a very usefull and very simple protocol.
In this posting we will look at how we can figure out if the radio is in *RX or TX* and switch it to RX or TX.
First the CI-V protocol is a *handshake* protocol, someone must initiate the conversation and then who ever he is talking to will respond (sorry about the BAD english sometimes I am a frenchy and from the GREAT WHITE NORTH :P ) if available.
The structure of a CI-V exchange is simple enough;
*Header (Two FE)*
*address of the destination*
*address of the sender*
*command*
*sub command*
*Data (optional)*
*Trailer*
So if I want to know what is the radio doing (RX or TX) I would use the 1C command (see table below) and send;
*FE FE* (HEADER) *94* (Address for a 7300) *E9* (address I chose for my applications also known as Controller) *1C* (Command to reques/control tranceiver, tuner and other functions (see table attached)) 00 (Subcommand for RX/TX status/Control) *FD* (Trailer, notice NO DATA! very important)
Thus;
*FE FE 94 E9 1C 00 FD*
Note that *E9* is just an address I use to make it easier for locate my stuff, *E0* is more common, this can be anything that is not aready assigned on your CI-V buss.
the 7300 will respond like this;
*FE FE E9 94 1C 00 00 FD*
Note that now *DATA* is present aka our resonse; a *00* means (see table) I am in *Receive*, *01 TX*.  Also you noticed that the addresses are reversed, E9 94 thus 94 (7300) is responding to E9 (application).
*Ok what if I want to remotly put the radio in TX.*
you remember the *DATA* wasnt used in my command above, thats because I was doing a query, well what if I use it! if I were to put a *01* in there then I would be requesting the radio to transmit, thus;
*FE FE 94 E9 1C 00 01 FD*
so now instead of asking a status I am sending a command!
The response changes when you do this, the radio will now ACKNOLEDGE (*ACK* or ICOMs *FB* I like to remember this as FINE BUSINESS!) or return a NEGATIVE ACKNOLEDGE (*NACK or FA)* to the command.
in the second table below you see the format of these.
so if I send a GO TO TX command
*FE FE 94 E9 1C 00 01 FD*
if it does it will respond with ACK (FB) ;
FE FE E9 94*FB* FD
But if for ANY reason it can not it will respond with a *NACK (FA)*;
FE FE E9 94 *FA* FD
That was an *INTRO*,  I will try to go into more advance commands later.
*Hope this helped :-P*
Image preview
1C command set
Image preview
ICOMs CI-V handshake protocol,
*73*
*Richard VE2DX*
--
Only the Best ICOM, ERC and HRD
https://groups.io/g/CIV
Follow my projects on www.facebook.com/VE2DX/ <http://www.facebook.com/VE2DX/>
73
Richard VE2DX, Jesus Island, PQ-014
_._,_._,_

Join CIV@groups.io to automatically receive all group messages.