8.5 Hamlib - Using rigctl at the command line
In the above example, to start rigctl, I entered: rigctl -m 1040 -s 38400 -r /dev/ttyAMA0 --vfo
-m 1040 selects the FTdx101D
-s 38400 sets the baudrate
-r /dev/ttyAMA0 selects the RPi serial port connected to the radio's RS232 connector.
( For USB, I would have entered -r /dev/ttyUSB0 )
--vfo selects vfo mode (see --vfo option )
I then entered three commands:
- \set\freq Main 3664000 Sets the main VFO frequency
- \get_freq Main Read the main VFO frequency
- f Main Read the main VFO frequency (short command format)
These commands are rigctl commands. rigctl translates them into the radio's CAT commands.
Using rigctl in configuring a radio
rigctl at the command line allows:
- Testing of commands on the radio
- Examination of responses - eg: to check ranges of returned data.
- List of available command options for the radio
- Testing the use of \send_command_rx for commands not supported by Hamlib.
The CAT manual says that RF gain is sent and received as R G P1 P2 P2 P2 ;
where P1 = 0 / 1 for Main /Sub and P2 is 000 to 255
Using the Main receiver:
We set RF gain at minimum and send rigctl command \get_level Main RF This returns 0.000.
We set RF gain at maximum and send rigctl command \get_level Main RF This returns 1.000
So the range returned to piWebCAT is 0.000 to 1.000.
In the slidershl table, the min and max fields control the slider range.
We set min = 0.000 and max = 1.000.
piWebCAT will internally automatically scale these returned CAT levels to the working slider range of 0 - 400.
(All sliders have internal HTML range 0 - 400)
Conversely, on user slider action, the slider position 0 - 400 will be sent as 0.000 - 1.000
piWebCAT also displays a numeric value against the slider.
You have a choice. You can configure to display 0.00 - 1.00 0 - 100 0 - 255 or whatever you choose.
The mult, divide and and decpoint fields convert the CAT value (0.000 - 1.000) to the displayed value.
Setting mult = 255 and divide = 1 would display 0.000 - 1.000 as 0 - 255 (the actual rig CAT range)
Setting mult = 100 and divide = 1 and units = "%" would display 0 - 100%
rigctld at the command line
You can also test with rigctld at the command line,
eg, type: rigctld -m 1040 -s 38400 -r /dev/ttyAMA0 --vfo
Then open another terminal window on the RPi and use Telnet:
Enter: telnet 127.0.0.1 4532 This will connect telnet to the rigcrld socket on port 4532.