8.16 Hamlib -- unsupported commands - FTdx101D contour and APF
In the FTdx101D, rigctl does not support Yaesu's contour and APF features. I therefore used \send_cmd_rx
The rig has separate contour and APF on/off switches but frequency adjustments share a single rotary control.
These switches and controls are duplicated for the two receivers.
On SSB, I can use contour. On CW, I can use contour or CW but not both.
From the FTdx101D CAT manual:
The CO.. command provides both contour and APF on /off switching and contour and APF frequency adjustment.
Contour frequency
For Main receiver, P1 = 0. For contour frequency, P2 = 1. P3 = four digit frequency, (nnnn below)
So all Main receiver contour frequency commands begin: CO01.....
Read request is: CO01; Set request is: CO01nnnn; Response data string is CO01nnnn;
The configuration for contour and APF frequency in the slidershl table is shown below (split because of width):
There is no caption because the adjacent contour on/off switch has the 'Cont' caption. vx = V so that the client sends current VFO, A or B. abx = A or B for Main and Sub receivers. See: vx and abx |
Reading contour frequency
For Main receiver we have: readmask = \send_cmd_rx CO01; 9.
The 9 informs rigctld to expect a 9 character response.
The answermask field is CO01mhtu;
Typical received data might be: CO010688; where the data (frequency) is 0688
I use the ASCII configuration software. mhtu maps to decimal digits: thousands, hundreds, tens and units.
Setting contour frequency
For Main receiver, we have setmask = \send_cmd_rx CO01#; 0 --n4
The 0 informs rigctld to expect no repsonse, ie 0 characters.
The --n4 informs piWebCAT that the # is to be substituted with 4 data digits.
piWebCAT scales slider position (internally 0 - 400) to the range 10 - 3200
(min and max fields are 10 and 3200)
--n4 causes leading zeros to be added when necessary to achieve a 4 digit data string
eg: 345 from slider scaling becomes 0345 and so piWebCAT sends to rigctld: \send_cmd_rx CO010345; 0
APF frequency
This is handled similarly to contour frequency, but note the following differences.
The APF frequency range on the rig is - 250 to + 250 Hz.
The CAT range is 0 to 50. We set min = 0 and max = 50 (min and max control scaling to and from the slider)
(Note that some FTdx101D commands return negative data using - and + chars. eg: IF shift -1200 to +1200 Hz.
piWebCAT decodes these with the s (sign) character in the mask. This is not needed here.)
Fields: offset, mult, divide, decpoint and units (and lookup) are only for the adjacent numeric display.
mult = 10 and divide =1 scales 0 - 50 to 0 - 500
offset = -250 then scales 0 - 500 to -250 to + 250
units = Hz to give a final display of eg: -125 Hz
Contour and APF on / off switching
From the CAT manual table above:
Read Sub recvr contour on/off is CO10; Response is: CO10nnnn; nnnn = 0000 for OFF and 0001 for ON.
Read Main recvr APF on/off is CO02; Response is: CO02nnnn; nnnn = 0000 for OFF and 0001 for ON.
Setting Sub contour on/off status is CO12nnnn, where nnnn = 0000 for OFF and 0001 for ON.
The buttonshl and catcodeshl records are shown below:
Each has a buttonshl record with vx = V (send VFO A or B) and two catcodeshl records with abx = A and B for Main and Sub.
Reading Main recvr. contour on/off status:
I use: readmask = \send_cmd_rx CO00; 9. The 9 informs rigctld to expect a 9 character response.
The answermask field is CO01000u; Mask data characters are 000u - u = units
Data is returned as 0000 or 0001.
Setting Main recvr. contour on/off status:
I use: setmask = \send_cmd_rx CO00#; 0 --n4
The 0 informs rigctld to expect no response, ie: a 0 character response.
The --n4 informs piWebCAT that the # is to be substituted with 4 data digits. (ie: 0000 = OFF or 0001 = ON )