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.

See Command masks on ASCII


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.

 

See Command masks on ASCII



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 )