5.7 YAESU5 configuration - frequency - FT920 example
You need to first look at the documentation on ASCII command masks.
The outgoing commands for all YAESU5 radios are five bytes:
- four bytes of optional bcd (binary coded decimal) data
- following by a hexadecimal opcode byte.
- The readbytes and setbytes fields are always set to 10 (ie: 10 chars generating 5 bytes)
Set frequency - FT920 example
The manual specifies the frequency in four bytes: P4 P3 P2 P1 followed by opcode = 0A
(Be aware that the FT818 manual notation is reversed, ie: P1 P2 P3 P4 Opcode)
Thus: 56 34 42 01 will set 14.234560 MHz (frequency resolution = 10 Hz)
We configure this in the catcodes table as: setmask = htcmedgf01
ie: ten ascii characters which will be translated into five bytes.
In detail: ht cm ed gf 01. t is replaced by tens, h by hundreds, m by thousands
c by ten thousands d by hundred thousands
e by millions, f by ten millions g by hundred millions
(Note that their is no u = units because the resolution is 10Hz )
All a bit tricky ... but that's how it is! .... It works fine !
With YAESU5, the setbytes field is ALWAYS set to 10.
Read frequency FT920 example
The command ('Status update') specified as; Opcoded = 10 then P1 ** ** P4
P1 = 03 returns 2 x14 bytes of data for:
VFOA in bytes 0 -1 3 (specified as 1 to E)
VFOB in bytes 14 - 27 (specified as 1 to E)
P4 is unused here with P1 = 03;
Within each 14 byte VFO block (I use 0 to 13 here, rather than the stated 1 to 14):
- byte 0 Band selection ?? what is it .. no explanation
- bytes 1 to 4 Operating frequency - Discovered to be in binary (not BCD)
- bytes 5 and 6 Clarifier offset - binary 2s complement
- byte 7 Mode data
- bytes 8 Flag .. clarifier on/off, antenna selection etc
- bytes 9 and 10 Filter data
- bytes 11 and 12 CTCSS decoder data
- byte 13 Memory recall data
Therefore, for VFOA, we need bytes 1 to 4 of the first 14 byte block
(= bytes 1 to 4 of the combined 28 byte block.)
We set the answermask to: #28:04:01:FF:bbbbbbbb
- Receive 28 bytes ( we have to inform the USB/serial code how many bytes to wait for.)
- Extract 04 bytes starting at bytes 01
- Ignore the FF -- This is a mask to extract specific bits ... only for single byte extract.
- bbbbbbbb - translate the four bytes into 8 characters as a hexadecimal (binary) string.
The corresponding mask for VFOB is #28:15:01:FF:bbbbbbbb
ie: The same, but starting at byte 1 of the second 14 byte half of the block = 14 + 1 = 15.
We must set the answerbytes field to 8 = no of chars in bbbbbbbb.
This system is designed to fit into the existing character based system (ASCII option)
All the interpretation is done on the server and returned to the web browser as a numeric string.
(ie: the data is transmitted back with the value part of the returned data array = 14234560)
This is all perhaps a little complex - but hopefully, the examples for F818, FT847 and FT920
with assist in applying a configuration to other radios (with help from the iogroup if needed)
The actual answermask for data is the 8 characters: bbbbbbbb,
hence we set answerbytes = 8 ( NOT 28 )
Clarifier FT920 (Rx only)
The clarifier is the one control where I can set up a slider with both on/off and reset buttons.
(and with two- way communication)