Merge branch 'master' of github.com:Hamlib/Hamlib

pull/1688/head
Michael Black W9MDB 2025-03-22 14:47:18 -05:00
commit 44014b914e
4 zmienionych plików z 134 dodań i 123 usunięć

Wyświetl plik

@ -81,13 +81,15 @@ Use
.I device .I device
as the file name of the port connected to the radio. as the file name of the port connected to the radio.
.IP .IP
Typically /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 , Typically
.IR /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
etc. on Linux, etc. on Linux,
.IR COM1 ", " COM2 , .IR COM1 ", " COM2 ,
etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations. etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations.
See your system's documentation. See your system's documentation.
.IP .IP
Can be a network address:port, e.g. 127.0.0.1:12345 Can be a network address:port, e.g.
.IR 127.0.0.1:12345
.IP .IP
The special string \(lquh\-rig\(rq may be given to enable micro-ham device The special string \(lquh\-rig\(rq may be given to enable micro-ham device
support. support.
@ -189,27 +191,27 @@ above. Will exit if no -r is given. Note the dummy device has no serial paramete
Set configuration parameter(s). Some common ones are: Set configuration parameter(s). Some common ones are:
.in +4n .in +4n
.EX .EX
.RB async: "True enables asynchronous data transfer for backends that support it. This allows use of transceive and spectrum data." .BR async: "True enables asynchronous data transfer for backends that support it. This allows use of transceive and spectrum data."
.RB auto_power_on: "True enables compatible rigs to be powered up on open" .BR auto_power_on: "True enables compatible rigs to be powered up on open"
.RB auto_power_off: "True enables compatible rigs to be powered down on close" .BR auto_power_off: "True enables compatible rigs to be powered down on close"
.RB auto_disable_screensaver: "True enables compatible rigs to have their screen saver disabled on open" .BR auto_disable_screensaver: "True enables compatible rigs to have their screen saver disabled on open"
.RB dcd_type: "Data Carrier Detect (or squelch) interface type override" .BR dcd_type: "Data Carrier Detect (or squelch) interface type override"
.RB dcd_pathname: "Path name to the device file of the Data Carrier Detect (or squelch)" .BR dcd_pathname: "Path name to the device file of the Data Carrier Detect (or squelch)"
.RB disable_yaesu_bandselect: "True disables the automatic band select on band change for Yaesu rigs" .BR disable_yaesu_bandselect: "True disables the automatic band select on band change for Yaesu rigs"
.RB dtr_state: "ON turns on DTR, OFF turns it off, Unset disables it" .BR dtr_state: "ON turns on DTR, OFF turns it off, Unset disables it"
.RB lo_freq: "Frequency to add to the VFO frequency for use with a transverter" .BR lo_freq: "Frequency to add to the VFO frequency for use with a transverter"
.RB post_write_delay: "Delay in ms between each command sent out" .BR post_write_delay: "Delay in ms between each command sent out"
.RB ptt_share: "True enables ptt port to be shared with other apps" .BR ptt_share: "True enables ptt port to be shared with other apps"
.RB ptt_type: "Push-To-Talk interface type override" .BR ptt_type: "Push-To-Talk interface type override"
.RB ptt_pathname: "Path name to the device file of the Push-To-Talk" .BR ptt_pathname: "Path name to the device file of the Push-To-Talk"
.RB ptt_bitnum: "Push-To-Talk GPIO bit number" .BR ptt_bitnum: "Push-To-Talk GPIO bit number"
.RB retry: "Max number of retry" .BR retry: "Max number of retry"
.RB rts_state: "ON turns on DTR, OFF turns it off, Unset disables it" .BR rts_state: "ON turns on DTR, OFF turns it off, Unset disables it"
.RB twiddle_timeout: "For satellite ops when VFOB is twiddled will pause VFOB commands until timeout" .BR twiddle_timeout: "For satellite ops when VFOB is twiddled will pause VFOB commands until timeout"
.RB twiddle_rit: "Suppress get_freq on VFOB for RIT tuning satellites" .BR twiddle_rit: "Suppress get_freq on VFOB for RIT tuning satellites"
.RB timeout: "Timeout in ms" .BR timeout: "Timeout in ms"
.RB write_delay: "Delay in ms between each byte sent out" .BR write_delay: "Delay in ms between each byte sent out"
.RB tuner_control_pathname: "Path name to a script/program to control a tuner with 1 argument of 0/1 for Tuner Off/On" .BR tuner_control_pathname: "Path name to a script/program to control a tuner with 1 argument of 0/1 for Tuner Off/On"
.EE .EE
.in .in
.IP .IP
@ -335,7 +337,7 @@ Sets the cookie to be used for remote access security
. .
.TP .TP
.BR \-# ", " \-\-skip_init .BR \-# ", " \-\-skip_init
Skips most startup intialization. Skips most startup initialization.
. .
.TP .TP
.B \- .B \-
@ -701,7 +703,7 @@ and
.IP .IP
Number is 1-based antenna# (\(oq1\(cq, \(oq2\(cq, \(oq3\(cq, ...). Number is 1-based antenna# (\(oq1\(cq, \(oq2\(cq, \(oq3\(cq, ...).
.IP .IP
Option depends on rig..for Icom it probably sets the Tx & Rx antennas as in the IC-7851. See your manual for rig specific option values. Most rigs don't care about the option. Option depends on rig. For Icom it probably sets the Tx & Rx antennas as in the IC-7851. See your manual for rig specific option values. Most rigs don't care about the option.
.IP .IP
For the IC-7851, FTDX3000 (and perhaps others) it means this: For the IC-7851, FTDX3000 (and perhaps others) it means this:
.IP .IP
@ -727,7 +729,7 @@ A value of 0 for Antenna will return the current TX antenna
.IP .IP
Option returned depends on rig..for Icom is likely the RX only flag. Option returned depends on rig. For Icom it is likely the RX only flag.
. .
.TP .TP
.BR b ", " send_morse " \(aq" \fIMorse\fP \(aq .BR b ", " send_morse " \(aq" \fIMorse\fP \(aq
@ -737,6 +739,7 @@ symbols. For Yaesu rigs use memory#1-5 or up to 50 char msg
.EX .EX
Example from command line: rigctl -m 3073 -r /dev/ttyUSB0 b "CQ CQ DE ME" Example from command line: rigctl -m 3073 -r /dev/ttyUSB0 b "CQ CQ DE ME"
Yaesu example to send message#1: rigctl -m 1035 -r /dev/ttyUSB0 b 1 Yaesu example to send message#1: rigctl -m 1035 -r /dev/ttyUSB0 b 1
.EE
. .
.TP .TP
.BR 0xbb ", " stop_morse " .BR 0xbb ", " stop_morse "
@ -828,7 +831,7 @@ code.
.BR 0x93 ", " get_dcs_sql .BR 0x93 ", " get_dcs_sql
Get Get
.RI \(aq "DCS Sql" \(aq .RI \(aq "DCS Sql" \(aq
code. code.
. .
.TP .TP
.BR N ", " set_ts " \(aq" "\fITuning Step\fP" \(aq .BR N ", " set_ts " \(aq" "\fITuning Step\fP" \(aq
@ -1138,7 +1141,6 @@ Sets memory channel information
Get channel memory. Get channel memory.
.IP .IP
If readonly!=0 then only channel data is returned and rig remains on the current channel. If readonly=0 then rig will be set to the channel requested. If readonly!=0 then only channel data is returned and rig remains on the current channel. If readonly=0 then rig will be set to the channel requested.
data.
. .
.TP .TP
.BR A ", " set_trn " \(aq" \fITransceive\fP \(aq .BR A ", " set_trn " \(aq" \fITransceive\fP \(aq
@ -1405,68 +1407,63 @@ Returns current lock mode status 1=On, 2=Off (only useful when using rigctld)
. .
.TP .TP
.BR send_raw " \(aq" \fITerminator\fP "\(aq \(aq" \fIString\fP \(aq .BR send_raw " \(aq" \fITerminator\fP "\(aq \(aq" \fIString\fP \(aq
.EX
Can send ASCII string or 0xnn values or xnn values -- there can be no spaces in the command string. Can send ASCII string or 0xnn values or xnn values -- there can be no spaces in the command string.
Possible terminator values are CR, LF, ;, ICOM, 0-100 (bytes to read), or -1 meaning unknown (will timeout on read) Possible terminator values are CR, LF, ;, ICOM, 0-100 (bytes to read), or -1 meaning unknown (will timeout on read)
Examples (note that a ; must be escaped in Unix/Linux): Examples (note that a ; must be escaped in Unix/Linux):
.IP
For Windows & Unix/Linux we have a new colon-separated format for hex digits For Windows & Unix/Linux we have a new colon-separated format for hex digits
.EX
send_raw icom 0xFE:0xFE:0x94:0x03:0xFD Note: colon-separated does not have to be escaped on Unix/Linux send_raw icom 0xFE:0xFE:0x94:0x03:0xFD Note: colon-separated does not have to be escaped on Unix/Linux
send_raw -1 0xFE:0xFE:0x94:0x03:0xFD send_raw -1 0xFE:0xFE:0x94:0x03:0xFD
send_raw 14 0xFE:0xFE:0x94:0x03:0xFD send_raw 14 0xFE:0xFE:0x94:0x03:0xFD
Note that ASCII commands still require escaping the semicolon on Unix/Linux Note that ASCII commands still require escaping the semicolon on Unix/Linux
send_raw \; FA\;MD\; send_raw \; FA\;MD\;
.EE
For Windows: For Windows:
.EX
send_raw icom 0xFE;0xFE;0x94;0x03;0xFD send_raw icom 0xFE;0xFE;0x94;0x03;0xFD
send_raw -1 0xFE;0xFE;0x94;0x03;0xFD send_raw -1 0xFE;0xFE;0x94;0x03;0xFD
send_raw 14 0xFE;0xFE;0x94;0x03;0xFD send_raw 14 0xFE;0xFE;0x94;0x03;0xFD
.EE
For Unix/Linux For Unix/Linux
.EX
send_raw icom 0xFE\;0xFE\;0x94\;0x03\;0xFD send_raw icom 0xFE\;0xFE\;0x94\;0x03\;0xFD
send_raw \; FA\;MD\; send_raw \; FA\;MD\;
send_raw -1 0xFE\;0xFE\;0x94\;0x03\;0xFD send_raw -1 0xFE\;0xFE\;0x94\;0x03\;0xFD
send_raw 14 0xFE\;0xFE\;0x94\;0x03\;0xFD send_raw 14 0xFE\;0xFE\;0x94\;0x03\;0xFD
.EE
. .
.TP .TP
.BR client_version " \(aq" \fIString\fP "\(aq .BR client_version " \(aq" \fIString\fP "\(aq
.EX
Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives
.TP .TP
.BR hamlib_version .BR hamlib_version
.EX
Returns hamlib version with ISO8601 date/time Returns hamlib version with ISO8601 date/time
. .
.TP .TP
.BR test .BR test
.EX
Performs test routines. Under development. Performs test routines. Under development.
. .
.TP .TP
.BR set_gpio " \(aq" \fIGPIO#\fP "\(aq .BR set_gpio " \(aq" \fIGPIO#\fP "\(aq
.EX
Sets GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port Sets GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port
Can also use 1,2,3,4 Can also use 1,2,3,4
. .
.TP .TP
.BR get_gpio " \(aq" \fIGPIO#\fP "\(aq .BR get_gpio " \(aq" \fIGPIO#\fP "\(aq
.EX
Reads GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port Reads GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port
Can also use 1,2,3,4 Can also use 1,2,3,4
. .
.TP .TP
.BR skip_init .BR skip_init
.EX
Skips rig initialization -- useful when executing commands with rigctl to speed up things Skips rig initialization -- useful when executing commands with rigctl to speed up things
. .
.TP .TP
.BR freq_skip " " 'skip' .BR freq_skip " " 'skip'
.EX
When skip!=0 skips setting freq on TX_VFO when in RX and on RX_VFO when in TX -- for use with gpredict and rigs that do not have TARGETABLE_VFO When skip!=0 skips setting freq on TX_VFO when in RX and on RX_VFO when in TX -- for use with gpredict and rigs that do not have TARGETABLE_VFO
. .
.SH READLINE .SH READLINE
. .
.SH READLINE
.
If If
.B Readline .B Readline
library development files are found at configure time, library development files are found at configure time,

Wyświetl plik

@ -112,13 +112,15 @@ Here is a summary of the supported options:
.BR \-m ", " \-\-model = \fIid\fP .BR \-m ", " \-\-model = \fIid\fP
Select radio model number. Defaults to dummy device. Select radio model number. Defaults to dummy device.
.IP .IP
See model list (use \(lqrigctl -l\(rq). See model list (use \(lqrigctld -l\(rq).
.IP .IP
.BR Note : .BR Note :
.B rigctl .B rigctl
(or third party software using the C API) will use radio model 2 for (or third party software using the C API) will use radio model 2 for
.B NET rigctl .B NET rigctl
(this model number is not used for rigctld even though it shows in the model (this model number is not used for
.B rigctld
even though it shows in the model
list). list).
. .
.TP .TP
@ -127,14 +129,16 @@ Use
.I device .I device
as the file name of the port connected to the radio. as the file name of the port connected to the radio.
.IP .IP
Typically /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 , Typically
.IR /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
etc. on Linux, etc. on Linux,
.IR COM1 ", " COM2 , .IR COM1 ", " COM2 ,
etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations. etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations.
See your system's documentation. See your system's documentation.
.IP .IP
.IP .IP
Can be a network address:port, e.g. 127.0.0.1:12345 Can be a network address:port, e.g.
.IR 127.0.0.1:12345
.IP .IP
The special string \(lquh\-rig\(rq may be given to enable micro-ham device The special string \(lquh\-rig\(rq may be given to enable micro-ham device
support. support.
@ -205,9 +209,11 @@ in which case it is hexadecimal.
. .
.TP .TP
.BR \-S ", " \-\-separator = \fIchar\fP .BR \-S ", " \-\-separator = \fIchar\fP
Use char as separator instead of line feed Use
.I char
as separator instead of line feed.
.IP .IP
The default is \n. Recommend using $ or @ as they work on both Unix and Windows The default is \(oq\\n\(cq. Recommend using $ or @ as they work on both Unix and Windows.
.IP .IP
. .
.TP .TP
@ -256,7 +262,7 @@ rigctl -m 2 ip6-localhost
Exceptions: Exceptions:
.EX .EX
rigctl -m 2 -r 127.0.0.1 (only works if localhost is IPV4 address) rigctl -m 2 -r 127.0.0.1 (only works if localhost is IPV4 address)
rigctl -m 2 -r ::1 (only works localhost is IPV6 address) rigctl -m 2 -r ::1 (only works if localhost is IPV6 address)
.EE .EE
.in .in
. .
@ -295,27 +301,27 @@ above.
Set configuration parameter(s). Some common ones are: Set configuration parameter(s). Some common ones are:
.in +4 .in +4
.EX .EX
.RB async: "True enables asynchronous data transfer for backends that support it. This allows use of transceive and spectrum data." .BR async: "True enables asynchronous data transfer for backends that support it. This allows use of transceive and spectrum data."
.RB auto_power_on: "True enables compatible rigs to be powered up on open" .BR auto_power_on: "True enables compatible rigs to be powered up on open"
.RB auto_power_off: "True enables compatible rigs to be powered down on close" .BR auto_power_off: "True enables compatible rigs to be powered down on close"
.RB auto_disable_screensaver: "True enables compatible rigs to have their screen saver disabled on open" .BR auto_disable_screensaver: "True enables compatible rigs to have their screen saver disabled on open"
.RB dcd_type: "Data Carrier Detect (or squelch) interface type override" .BR dcd_type: "Data Carrier Detect (or squelch) interface type override"
.RB dcd_pathname: "Path name to the device file of the Data Carrier Detect (or squelch)" .BR dcd_pathname: "Path name to the device file of the Data Carrier Detect (or squelch)"
.RB disable_yaesu_bandselect: "True disables the automatic band select on band change for Yaesu rigs" .BR disable_yaesu_bandselect: "True disables the automatic band select on band change for Yaesu rigs"
.RB dtr_state: "ON turns on DTR, OFF turns it off, Unset disables it" .BR dtr_state: "ON turns on DTR, OFF turns it off, Unset disables it"
.RB lo_freq: "Frequency to add to the VFO frequency for use with a transverter" .BR lo_freq: "Frequency to add to the VFO frequency for use with a transverter"
.RB post_write_delay: "Delay in ms between each command sent out" .BR post_write_delay: "Delay in ms between each command sent out"
.RB ptt_share: "True enables ptt port to be shared with other apps" .BR ptt_share: "True enables ptt port to be shared with other apps"
.RB ptt_type: "Push-To-Talk interface type override" .BR ptt_type: "Push-To-Talk interface type override"
.RB ptt_pathname: "Path name to the device file of the Push-To-Talk" .BR ptt_pathname: "Path name to the device file of the Push-To-Talk"
.RB ptt_bitnum: "Push-To-Talk GPIO bit number" .BR ptt_bitnum: "Push-To-Talk GPIO bit number"
.RB retry: "Max number of retry" .BR retry: "Max number of retry"
.RB rts_state: "ON turns on DTR, OFF turns it off, Unset disables it" .BR rts_state: "ON turns on DTR, OFF turns it off, Unset disables it"
.RB twiddle_timeout: "For satellite ops when VFOB is twiddled will pause VFOB commands until timeout" .BR twiddle_timeout: "For satellite ops when VFOB is twiddled will pause VFOB commands until timeout"
.RB twiddle_rit: "Suppress get_freq on VFOB for RIT tuning satellites" .BR twiddle_rit: "Suppress get_freq on VFOB for RIT tuning satellites"
.RB timeout: "Timeout in ms" .BR timeout: "Timeout in ms"
.RB write_delay: "Delay in ms between each byte sent out" .BR write_delay: "Delay in ms between each byte sent out"
.RB tuner_control_pathname: "Path name to a script/program to control a tuner with 1 argument of 0/1 for Tuner Off/On" .BR tuner_control_pathname: "Path name to a script/program to control a tuner with 1 argument of 0/1 for Tuner Off/On"
.EE .EE
.in .in
.IP .IP
@ -345,7 +351,7 @@ Windows. The output can be piped to
.BR more (1) .BR more (1)
or or
.BR less (1), .BR less (1),
e.g. \(lqrigctl -l | more\(rq. e.g. \(lqrigctld -l | more\(rq.
. .
.TP .TP
.BR \-o ", " \-\-vfo .BR \-o ", " \-\-vfo
@ -375,12 +381,12 @@ Should only be needed when controlling software should be "paused"
so you can move the VFO. Continuous movement extends the timeout. so you can move the VFO. Continuous movement extends the timeout.
. .
.TP .TP
.BR \-x ", " \-\-uplink=option .BR \-x ", " \-\-uplink = \fIoption\fP
1=Sub, 2=Main 1=Sub, 2=Main
.IP .IP
For GPredict use to ignore get_freq for Sub or Main uplink VFO. For GPredict use to ignore get_freq for Sub or Main uplink VFO.
.IP .IP
Should allow downlink VFO movement without confusing GPredict or the uplink Should allow downlink VFO movement without confusing GPredict or the uplink.
. .
.TP .TP
.BR \-Z ", " \-\-debug\-time\-stamps .BR \-Z ", " \-\-debug\-time\-stamps
@ -392,15 +398,21 @@ option as it generates no output on its own.
. .
.TP .TP
.BR \-A ", " \-\-password .BR \-A ", " \-\-password
Sets password on rigctld which requires hamlib to use rig_set_password and rigctl to use \\password to access rigctld. A 32-char shared secret will be displayed to be used on the client side. Sets password on
.B rigctld
which requires hamlib to use rig_set_password and rigctl to use \\password to access rigctld. A 32-char shared secret will be displayed to be used on the client side.
. .
.TP .TP
.BR \-R ", " \-\-rigctld\-idle .BR \-R ", " \-\-rigctld\-idle
Will make rigctld close the rig when no clients are connected. Normally remains connected to speed up connects. Will make
.B rigctld
close the rig when no clients are connected. Normally remains connected to speed up connects.
. .
.TP .TP
.BR \-b ", " \-\-bind\-all .BR \-b ", " \-\-bind\-all
Will make rigctld try to bind to first network device available. Will make
.B rigctld
try to bind to first network device available.
. .
.TP .TP
.BR \-h ", " \-\-help .BR \-h ", " \-\-help
@ -409,7 +421,7 @@ Show a summary of these options and exit.
.TP .TP
.BR \-V ", " \-\-version .BR \-V ", " \-\-version
Show version of Show version of
.B rigctl .B rigctld
and exit. and exit.
. .
.PP .PP
@ -703,7 +715,7 @@ Set
number (\(oq0\(cq, \(oq1\(cq, \(oq2\(cq, ...). number (\(oq0\(cq, \(oq1\(cq, \(oq2\(cq, ...).
.IP .IP
.IP .IP
Option depends on rig..for Icom it probably sets the Tx & Rx antennas as in the IC-7851. See your manual for rig specific option values. Most rigs don't care about the option. Option depends on rig. For Icom it probably sets the Tx & Rx antennas as in the IC-7851. See your manual for rig specific option values. Most rigs don't care about the option.
.IP .IP
For the IC-7851 (and perhaps others) it means this: For the IC-7851 (and perhaps others) it means this:
.IP .IP
@ -732,6 +744,7 @@ symbols. For Yaesu rigs use memory# (1-5 for most rigs) or up to 50 char messag
.EX .EX
Example from rigctld socket: b CQ CQ DE ME Example from rigctld socket: b CQ CQ DE ME
Yaesu example to send message#1 frm rigctld socket: b 1 Yaesu example to send message#1 frm rigctld socket: b 1
.EE
. .
.TP .TP
.BR 0xbb ", " stop_morse " .BR 0xbb ", " stop_morse "
@ -739,7 +752,7 @@ Stop sending the current morse code.
. .
.TP .TP
.BR 0xbc ", " wait_morse " .BR 0xbc ", " wait_morse "
Wait for morse to finish -- only works on full break-in Wait for morse to finish -- only works on full break-in.
. .
.TP .TP
.BR 0x94 ", " send_voice_mem " \(aq" \fIMsgnum\fP \(aq .BR 0x94 ", " send_voice_mem " \(aq" \fIMsgnum\fP \(aq
@ -823,7 +836,7 @@ code.
.BR 0x93 ", " get_dcs_sql .BR 0x93 ", " get_dcs_sql
Get Get
.RI \(aq "DCS Sql" \(aq .RI \(aq "DCS Sql" \(aq
code. code.
. .
.TP .TP
.BR N ", " set_ts " \(aq" "\fITuning Step\fP" \(aq .BR N ", " set_ts " \(aq" "\fITuning Step\fP" \(aq
@ -882,7 +895,7 @@ Set
and and
.RI \(aq "Level Value" \(aq. .RI \(aq "Level Value" \(aq.
.IP .IP
evel is a token: \(oqPREAMP\(cq, \(oqATT\(cq, \(oqVOXDELAY\(cq, \(oqAF\(cq, Level is a token: \(oqPREAMP\(cq, \(oqATT\(cq, \(oqVOXDELAY\(cq, \(oqAF\(cq,
\(oqRF\(cq, \(oqSQL\(cq, \(oqIF\(cq, \(oqAPF\(cq, \(oqNR\(cq, \(oqPBT_IN\(cq, \(oqRF\(cq, \(oqSQL\(cq, \(oqIF\(cq, \(oqAPF\(cq, \(oqNR\(cq, \(oqPBT_IN\(cq,
\(oqPBT_OUT\(cq, \(oqCWPITCH\(cq, \(oqRFPOWER\(cq, \(oqMICGAIN\(cq, \(oqPBT_OUT\(cq, \(oqCWPITCH\(cq, \(oqRFPOWER\(cq, \(oqMICGAIN\(cq,
\(oqKEYSPD\(cq, \(oqNOTCHF\(cq, \(oqCOMP\(cq, \(oqAGC\(cq, \(oqBKINDL\(cq, \(oqKEYSPD\(cq, \(oqNOTCHF\(cq, \(oqCOMP\(cq, \(oqAGC\(cq, \(oqBKINDL\(cq,
@ -1013,7 +1026,6 @@ Not implemented yet.
Get channel memory. Get channel memory.
.IP .IP
If readonly!=0 then only channel data is returned and rig remains on the current channel. If readonly=0 then rig will be set to the channel requested. If readonly!=0 then only channel data is returned and rig remains on the current channel. If readonly=0 then rig will be set to the channel requested.
data.
. .
.TP .TP
.BR A ", " set_trn " \(aq" \fITransceive\fP \(aq .BR A ", " set_trn " \(aq" \fITransceive\fP \(aq
@ -1021,7 +1033,7 @@ Set
.RI \(aq Transceive \(aq .RI \(aq Transceive \(aq
mode. mode.
.IP .IP
Transcieve is a token: \(oqOFF\(cq, \(oqRIG\(cq, \(oqPOLL\(cq. Transceive is a token: \(oqOFF\(cq, \(oqRIG\(cq, \(oqPOLL\(cq.
.IP .IP
Transceive is a mechanism for radios to report events without a specific call Transceive is a mechanism for radios to report events without a specific call
for information. for information.
@ -1208,43 +1220,36 @@ Returns current lock mode status 1=On, 2=Off (only useful with rigctld)
. .
.TP .TP
.BR send_raw " \(aq" \fITerminator\fP "\(aq \(aq" \fIString\fP \(aq .BR send_raw " \(aq" \fITerminator\fP "\(aq \(aq" \fIString\fP \(aq
.EX
Can send ASCII string or 0xnn values -- there can be no spaces in the command string. Can send ASCII string or 0xnn values -- there can be no spaces in the command string.
Possible terminator values are CR, LF, ;, ICOM, 0-100 (bytes to read), or -1 meaning unknown (will timeout on read) Possible terminator values are CR, LF, ;, ICOM, 0-100 (bytes to read), or -1 meaning unknown (will timeout on read)
Examples: Examples:
.EX
send_raw ; FA;MD; send_raw ; FA;MD;
send_raw icom 0xFE;0xFE;0x94;0x03;0xFD send_raw icom 0xFE;0xFE;0x94;0x03;0xFD
send_raw -1 0xFE;0xFE;0x94;0x03;0xFD send_raw -1 0xFE;0xFE;0x94;0x03;0xFD
send_raw 14 0xFE;0xFE;0x94;0x03;0xFD send_raw 14 0xFE;0xFE;0x94;0x03;0xFD
.EE
. .
.TP .TP
.BR client_version " \(aq" \fIString\fP "\(aq .BR client_version " \(aq" \fIString\fP "\(aq
.EX Client can send its version to
Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives .B rigctld
and get feedback on compatibility, deprecation, and alternatives
.TP .TP
.BR hamlib_version .BR hamlib_version
.EX Returns Hamlib version with ISO8601 date/time
Returns hamlib version with ISO8601 date/time
.
.TP
.BR hamlib_version
.EX
Returns hamlib version with ISO8601 date/time
. .
.TP .TP
.BR test .BR test
.EX
Performs test routines. Under development. Performs test routines. Under development.
. .
.TP .TP
.BR set_gpio " \(aq" \fIGPIO#\fP "\(aq .BR set_gpio " \(aq" \fIGPIO#\fP "\(aq
.EX
Sets GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port Sets GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port
Can also use 1,2,3,4 Can also use 1,2,3,4
. .
.TP .TP
.BR get_gpio " \(aq" \fIGPIO#\fP "\(aq .BR get_gpio " \(aq" \fIGPIO#\fP "\(aq
.EX
Reads GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port Reads GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port
Can also use 1,2,3,4 Can also use 1,2,3,4
. .

Wyświetl plik

@ -392,6 +392,7 @@ transaction_write:
skip |= strncmp(cmdstr, "RD", 2) == 0; skip |= strncmp(cmdstr, "RD", 2) == 0;
skip |= strncmp(cmdstr, "KYW", 3) == 0; skip |= strncmp(cmdstr, "KYW", 3) == 0;
skip |= strncmp(cmdstr, "KY ", 3) == 0; skip |= strncmp(cmdstr, "KY ", 3) == 0;
skip |= strncmp(cmdstr, "KY0", 3) == 0;
skip |= strncmp(cmdstr, "KY2", 3) == 0; skip |= strncmp(cmdstr, "KY2", 3) == 0;
skip |= strncmp(cmdstr, "PS1", 3) == 0; skip |= strncmp(cmdstr, "PS1", 3) == 0;
skip |= strncmp(cmdstr, "PS0", 3) == 0; skip |= strncmp(cmdstr, "PS0", 3) == 0;
@ -400,7 +401,8 @@ transaction_write:
if (skip) if (skip)
{ {
// most command we give them a little time -- but not KY // most command we give them a little time -- but not KY
if (strncmp(cmdstr, "KY ", 3) != 0 && strncmp(cmdstr, "KY2", 3) != 0) if (strncmp(cmdstr, "KY", 2) != 0 || (cmdstr[2] != ' ' && cmdstr[2] != '0'
&& cmdstr[2] != '2'))
{ {
hl_usleep(200 * 1000); // give little settle time for these commands hl_usleep(200 * 1000); // give little settle time for these commands
} }

Wyświetl plik

@ -61,9 +61,8 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <errno.h> #include <errno.h>
#include "mutex.h"
#include <hamlib/rig.h> #include "mutex.h"
#include "serial.h" #include "serial.h"
#include "parallel.h" #include "parallel.h"
#include "network.h" #include "network.h"
@ -957,9 +956,7 @@ int HAMLIB_API rig_open(RIG *rig)
{ {
struct rig_caps *caps; struct rig_caps *caps;
struct rig_state *rs; struct rig_state *rs;
hamlib_port_t *rp = RIGPORT(rig); hamlib_port_t *rp, *pttp, *dcdp;
hamlib_port_t *pttp = PTTPORT(rig);
hamlib_port_t *dcdp = DCDPORT(rig);
int status = RIG_OK; int status = RIG_OK;
value_t parm_value; value_t parm_value;
//unsigned int net1, net2, net3, net4, net5, net6, net7, net8, port; //unsigned int net1, net2, net3, net4, net5, net6, net7, net8, port;
@ -975,6 +972,9 @@ int HAMLIB_API rig_open(RIG *rig)
caps = rig->caps; caps = rig->caps;
rs = STATE(rig); rs = STATE(rig);
rp = RIGPORT(rig);
pttp = PTTPORT(rig);
dcdp = DCDPORT(rig);
rp->rig = rig; rp->rig = rig;
rs->rigport_deprecated.rig = rig; rs->rigport_deprecated.rig = rig;
@ -1685,9 +1685,7 @@ int HAMLIB_API rig_open(RIG *rig)
int HAMLIB_API rig_close(RIG *rig) int HAMLIB_API rig_close(RIG *rig)
{ {
const struct rig_caps *caps; const struct rig_caps *caps;
hamlib_port_t *rp = RIGPORT(rig); hamlib_port_t *rp, *pttp, *dcdp;
hamlib_port_t *pttp = PTTPORT(rig);
hamlib_port_t *dcdp = DCDPORT(rig);
struct rig_state *rs; struct rig_state *rs;
if (!rig || !rig->caps) if (!rig || !rig->caps)
@ -1701,6 +1699,9 @@ int HAMLIB_API rig_close(RIG *rig)
caps = rig->caps; caps = rig->caps;
rs = STATE(rig); rs = STATE(rig);
rp = RIGPORT(rig);
pttp = PTTPORT(rig);
dcdp = DCDPORT(rig);
if (!rs->comm_state) if (!rs->comm_state)
{ {
@ -7476,9 +7477,10 @@ int HAMLIB_API rig_send_morse(RIG *rig, vfo_t vfo, const char *msg)
LOCK(1); LOCK(1);
retcode = caps->send_morse(rig, vfo, msg); retcode = caps->send_morse(rig, vfo, msg);
LOCK(0); LOCK(0);
#else
retcode = push(rs->fifo_morse, msg);
#endif #endif
push(rs->fifo_morse, msg); RETURNFUNC(retcode);
RETURNFUNC(RIG_OK);
} }
if (!caps->set_vfo) if (!caps->set_vfo)
@ -7545,14 +7547,18 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo)
resetFIFO(rs->fifo_morse); // clear out the CW queue resetFIFO(rs->fifo_morse); // clear out the CW queue
LOCK(1);
if (vfo == RIG_VFO_CURR if (vfo == RIG_VFO_CURR
|| vfo == rs->current_vfo) || vfo == rs->current_vfo)
{ {
RETURNFUNC(caps->stop_morse(rig, vfo)); retcode = caps->stop_morse(rig, vfo);
LOCK(0);
RETURNFUNC(retcode);
} }
if (!caps->set_vfo) if (!caps->set_vfo)
{ {
LOCK(0);
RETURNFUNC(-RIG_ENAVAIL); RETURNFUNC(-RIG_ENAVAIL);
} }
@ -7562,6 +7568,7 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo)
if (retcode != RIG_OK) if (retcode != RIG_OK)
{ {
LOCK(0);
RETURNFUNC(retcode); RETURNFUNC(retcode);
} }
@ -7576,6 +7583,7 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo)
retcode = rc2; retcode = rc2;
} }
LOCK(0);
RETURNFUNC(retcode); RETURNFUNC(retcode);
} }
@ -7645,14 +7653,18 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo)
caps = rig->caps; caps = rig->caps;
LOCK(1);
if (vfo == RIG_VFO_CURR if (vfo == RIG_VFO_CURR
|| vfo == STATE(rig)->current_vfo) || vfo == STATE(rig)->current_vfo)
{ {
RETURNFUNC(wait_morse_ptt(rig, vfo)); retcode = wait_morse_ptt(rig, vfo);
LOCK(0);
RETURNFUNC(retcode);
} }
if (!caps->set_vfo) if (!caps->set_vfo)
{ {
LOCK(0);
RETURNFUNC(-RIG_ENAVAIL); RETURNFUNC(-RIG_ENAVAIL);
} }
@ -7662,6 +7674,7 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo)
if (retcode != RIG_OK) if (retcode != RIG_OK)
{ {
LOCK(0);
RETURNFUNC(retcode); RETURNFUNC(retcode);
} }
@ -7676,6 +7689,7 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo)
retcode = rc2; retcode = rc2;
} }
LOCK(0);
RETURNFUNC(retcode); RETURNFUNC(retcode);
} }
@ -8392,20 +8406,6 @@ void rig_lock(RIG *rig, int lock)
struct rig_state *rs = STATE(rig); struct rig_state *rs = STATE(rig);
#if 0
if (rs->multicast == NULL)
{
rig_debug(RIG_DEBUG_BUG, "%s: locking skipped, lock = %d\n", __func__, lock);
return;
} // not initialized yet
if (!rs->multicast->mutex_initialized)
{
rs->multicast->mutex = initializer;
rs->multicast->mutex_initialized = 1;
}
#endif
if (lock) if (lock)
{ {
pthread_mutex_lock(&rs->api_mutex); pthread_mutex_lock(&rs->api_mutex);
@ -9046,7 +9046,7 @@ int morse_data_handler_set_keyspd(RIG *rig, int keyspd)
* Get the address of a structure without relying on changeable * Get the address of a structure without relying on changeable
* internal data organization. * internal data organization.
* *
* \retval The address of the enumed structure * \retval The address of the enumed structure, NULL if error
* *
* Note: This is meant for use by the HAMLIB_???PORT macros mostly. Only * Note: This is meant for use by the HAMLIB_???PORT macros mostly. Only
* compatibility with them is supported. * compatibility with them is supported.
@ -9055,6 +9055,13 @@ int morse_data_handler_set_keyspd(RIG *rig, int keyspd)
*/ */
HAMLIB_EXPORT(void *) rig_data_pointer(RIG *rig, rig_ptrx_t idx) HAMLIB_EXPORT(void *) rig_data_pointer(RIG *rig, rig_ptrx_t idx)
{ {
if (!rig)
{
rig_debug(RIG_DEBUG_ERR, "%s: missing rig\n", __func__);
return NULL;
}
switch (idx) switch (idx)
{ {
case RIG_PTRX_RIGPORT: case RIG_PTRX_RIGPORT: