Wykres commitów

441 Commity (43191ced2d6bc18090dca94c7551e47c9f00a6e9)

Autor SHA1 Wiadomość Data
Michael Black W9MDB 1d74711a00 Fix filling of range_list which affects vfo_list
See also
https://github.com/Hamlib/Hamlib/issues/498
https://github.com/Hamlib/Hamlib/issues/490
2021-01-08 17:49:56 -06:00
Michael Black W9MDB cf858bfa3c Change rig.c to return RIG_ENAVAIL instead of RIG_ENTARGET when set_vfo==NULL
Add IC706* to rigs that don't do dsp settings
Remove dynamic detection of transceive status in icom/frame.c
https://github.com/Hamlib/Hamlib/issues/490
2021-01-08 12:04:25 -06:00
Michael Black W9MDB 19e819948f Add RIG_TARGETABLE_ANT and fix Yaesu rigs -- Yaesu are only ones needing this right now
https://github.com/Hamlib/Hamlib/pull/495
2021-01-08 07:16:45 -06:00
Michael Black W9MDB 5fdf5f0e63 Fix freq_new error
https://github.com/Hamlib/Hamlib/issues/485
2021-01-02 16:32:16 -06:00
Michael Black W9MDB 92c6d98e8e Fix set_freq to not call get_freq if get_freq is not available
Correct cache setting for set_freq
https://github.com/Hamlib/Hamlib/issues/485
2021-01-02 15:22:01 -06:00
Michael Black W9MDB dbb06f9e7b Add debug to show vfos in vfo_list
https://github.com/Hamlib/Hamlib/issues/482
2020-12-29 16:15:54 -06:00
Michael Black W9MDB f484c4fdc8 Update copyright 2020-12-29 09:09:14 -06:00
Michael Black W9MDB 18e9d56b47 Add some debug for set_mode stuff 2020-12-22 17:01:06 -06:00
Michael Black W9MDB 3211e3aea1 astyle files 2020-12-21 23:50:29 -06:00
Michael Black W9MDB 2b1bce89bf Fix icom default filter settings
https://github.com/Hamlib/Hamlib/issues/471
2020-12-19 14:30:31 -06:00
Michael Black W9MDB 1e1f7529fa Fix debug statements in rig.c 2020-12-13 10:20:02 -06:00
Michael Black W9MDB 8c265a85f2 Fix debug statement in rig.c 2020-12-13 10:00:37 -06:00
Michael Black W9MDB 74356b3a99 Add RIG_TARGETABLE_PTT and RIG_TARGETABLE_RITXIT
For most rigs these are non-vfo specific commands so we can avoid doing VFO switching
Add flags to all Yaesu, Icom, and Kenwood in rig_open
Some rigs do have VFO specific but it's already in the backend
More rigs can use these flags..TBD...
https://github.com/Hamlib/Hamlib/issues/430
2020-10-31 17:19:08 -05:00
Michael Black W9MDB 3ffbeae881 clean up cppcheck warnings 2020-10-25 16:30:09 -05:00
Michael Black W9MDB 4e748df12b Add -x/--uplink switch for GPredict. Will avoid reading freq from the uplink VFO 1=Sub, 2=Main
This will likely deprecate the twiddle option
https://github.com/Hamlib/Hamlib/issues/404
2020-10-23 11:34:42 -05:00
Michael Black W9MDB 8a769c7011 Add VFO_CURR to set_cache_freq and get_cache_freq
https://github.com/Hamlib/Hamlib/issues/300
2020-10-19 22:22:59 -05:00
Michael Black W9MDB bafd6e97f4 Add a 200ms to wait_morse to allow previous CW request to assert PTT
https://github.com/Hamlib/Hamlib/issues/422
2020-10-19 12:28:13 -05:00
Michael Black W9MDB a8961426b0 Invalidate the cache so get_ptt is current
https://github.com/Hamlib/Hamlib/issues/422
2020-10-19 12:03:38 -05:00
Michael Black W9MDB 7e8bfc8b49 https://github.com/Hamlib/Hamlib/issues/422 2020-10-19 11:50:02 -05:00
Michael Black W9MDB 0443afc794 Add wait_morse command with generit wait_morse_ptt function
This should work for any send_morse with full breakin
https://github.com/Hamlib/Hamlib/issues/422
2020-10-18 12:34:36 -05:00
Michael Black W9MDB e1b3bcff9e New caching non-interfering side-by-side with old until 4.1 development underway
https://github.com/Hamlib/Hamlib/issues/280
2020-10-17 23:55:22 -05:00
Michael Black W9MDB 5add4b343d Add rig_stop_morse to API and stop_morse command for rigctl
No rigs implemented yet
https://github.com/Hamlib/Hamlib/issues/240
2020-10-16 08:41:57 -05:00
Michael Black W9MDB 4faad82da7 Change get_ptt RTS/DTR to keep serial port open
New option --set-conf=ptt_share=1 to revert to old behavior where serial port is opened/closed every get_ptt
https://github.com/Hamlib/Hamlib/issues/383
2020-10-12 23:27:13 -05:00
Michael Black W9MDB 34e9327446 Don't expire cache if we just read the freq 2020-10-11 23:40:29 -05:00
Michael Black W9MDB 6d51f65528 astyle files 2020-10-06 23:14:27 -05:00
Michael Black W9MDB fca4cc7903 Lots of changes to get Main/Sub recognized across rigctl/rigctld boundary
Needs lots of testing
https://github.com/Hamlib/Hamlib/issues/395
2020-10-06 21:50:37 +01:00
Michael Black W9MDB d18196f685 Lower log level of debug statement 2020-09-04 17:42:11 -05:00
Daniele Forsi d7b332c3f7 Fix spelling errors
Fixed using the following command:
codespell --write-changes --summary --skip=*.m4 --ignore-words-list="develope,get's,quitt,setts,som,ue,vektor"
codespell --write-changes --summary --skip=aclocal.m4,lib --ignore-words-list="develope,get's,quitt,setts,som,ue,vektor"

Codespell home page: https://github.com/codespell-project/codespell
2020-07-24 09:02:48 +02:00
c vw d0bff25bb9 Corrections 2020-07-17 12:22:21 +02:00
Bill Somerville 3f40029720
Add missing config parameters for rig power on/off and screen-saver
Defaults set to by compatible with prior released versions to avoid
regressive behaviour.
2020-07-04 19:42:37 +01:00
Michael Black W9MDB 699927b3e7 Add additional get_freq if freq > 100MHz to update cache
This covers rigs that round VHF/UHF freqs to different intervals
https://github.com/Hamlib/Hamlib/issues/334
2020-07-04 11:20:38 -05:00
Michael Black W9MDB e31500842c Ensure cache invalidated before re-reading freq in set_freq 2020-07-02 15:54:26 -05:00
Michael Black W9MDB 1ad029bfb3 astyle rig.c 2020-07-02 11:18:33 -05:00
Michael Black W9MDB 4cb0f2917e Fix rig_debug in rig.c 2020-07-02 11:15:27 -05:00
Michael Black W9MDB 613b7a6830 Add get_freq to set_freq for confirmation if < 100Hz interval
Should correct incorrect cache reporting and doppler issues
https://github.com/Hamlib/Hamlib/issues/334
2020-07-02 09:40:48 -05:00
Michael Black W9MDB d42d837162 Normalize cache namespaces to hamlib_ and HAMLIB_ 2020-07-01 22:33:32 -05:00
Michael Black W9MDB a789cb06bb Remove unnecessary debug 2020-06-27 23:21:39 -05:00
Michael Black W9MDB 720c123be0 Add some debug to rig.c 2020-06-25 05:54:06 -05:00
Michael Black W9MDB 4ff31d008f Fix rigctl -o with rigctld
https://github.com/Hamlib/Hamlib/issues/287
2020-06-22 23:16:02 -05:00
Michael Black W9MDB a3c4eb9ee0 Fix cppcheck warnings 2020-06-21 22:31:31 -05:00
Michael Black W9MDB e092a4a0a4 rigctld -T ::1 now works with rigctl -r ::1
More IPV6 testing needed on Windows and MacOS
Still not binding to link local addresses to be addressed next
https://github.com/Hamlib/Hamlib/issues/29
2020-06-21 17:47:04 -05:00
Michael Black W9MDB 379caace7c update comm_state when port_close is called 2020-06-21 16:15:00 -05:00
Michael Black W9MDB 3b3c2abb00 On a 2nd rig_open call it would fail since port was still open.
We now force close the port during rig_open.
This should prevent the invalid configuration error WSJT-X sees on rig_open
2020-06-19 23:26:59 -05:00
Michael Black W9MDB b0a956df81 Clean up compile/cppcheck warnings 2020-06-14 10:35:44 -05:00
Michael Black W9MDB ad08ee02e1 Fix get_split behavior in rig.c
This needs a lot of testing on different rigs
https://github.com/Hamlib/Hamlib/issues/303
2020-06-14 17:29:18 +02:00
Michael Black W9MDB f323a54b5a Fix cppcheck warnings and compile error 2020-06-13 16:31:25 -05:00
Michael Black W9MDB c5388b9f37 In icom.c remove priv->curr_vfo and change to rig->state.current_vfo
https://github.com/Hamlib/Hamlib/issues/299
2020-06-13 15:53:37 -05:00
Michael Black W9MDB 31fdc8cc0c Add some debug to rig.c 2020-06-13 12:54:33 -05:00
Michael Black W9MDB 2611cad188 Fix spelling error in rig.c 2020-06-13 07:36:31 -05:00
Michael Black W9MDB a11cddfd24 Clean up network_open pathname logic
https://github.com/Hamlib/Hamlib/issues/298
2020-06-13 06:57:27 -05:00
Michael Black W9MDB e54bc7e860 Change variable name for clarity 2020-06-12 22:51:16 -05:00
Michael Black W9MDB de20cadc85 Allow localhost, hostnames, and IPV6 addresses to enable NETWORK rig type
network_open still does not recognize valid IPV6 addresses yet
https://github.com/Hamlib/Hamlib/pull/290
2020-06-12 17:40:10 -05:00
Michael Black W9MDB b15c73d2d2 Fix segmentation fault/endless loop for Icom rigs 2020-06-12 16:34:48 -05:00
Michael Black W9MDB 1317bb8034 Fix vfo_fixup link error
Make vfo_fixup a HAMLIB function so it can be used elsewhere
https://github.com/Hamlib/Hamlib/issues/299
2020-06-12 08:28:05 -05:00
Michael Black W9MDB ef451705b8 Clean up redundant code in rig.c 2020-06-11 22:29:00 -05:00
Michael Black W9MDB f71c12da94 astyle files 2020-06-09 22:37:03 -05:00
Michael Black W9MDB ee6703107f Fix 'f VFOB' staying on VFOB instead of reverting to VFOA when VFOA is current VFO 2020-06-07 23:31:20 -05:00
Michael Black W9MDB 1cbdc5a7ea Fix incorrect setting of VFOA when VFOB requested using vfo_opt mode
Only affected rigs that were not (caps->targetable_vfo & RIG_TARGETABLE_FREQ) like the dummy rig
https://github.com/Hamlib/Hamlib/issues/284
2020-06-06 16:03:16 -05:00
Michael Black W9MDB 2a05008bd4 Add vfo_fixup to rig_get_split_freq 2020-06-04 10:27:00 -05:00
Michael Black W9MDB 4502769c8d Add FT-DX101D as a rig that can't get VFOA freq while VFOB is transmitting
Move the IC910 of the same problem to rig.c instead of icom.c
Eventually this may become a backend flag
https://github.com/Hamlib/Hamlib/issues/279
2020-06-03 18:12:17 -05:00
Michael Black W9MDB 847b73cdb1 Merge branch 'master' of https://github.com/mdblack98/Hamlib 2020-06-03 11:35:16 -05:00
Michael Black W9MDB 52c3b1d3c9 Rigs with no set_vfo and asking for currVFO will have vfo changed to something sensible
https://github.com/Hamlib/Hamlib/issues/278
2020-06-03 11:27:45 -05:00
Michael Black W9MDB bf5e0e21af Rigs with no set_vfo capability will now have a logical VFO assigned to vfo_curr
https://github.com/Hamlib/Hamlib/issues/278
2020-06-03 11:27:23 -05:00
Michael Black W9MDB fa6b0c3d04 Rigs with no set_vfo capability will now have a logical VFO assigned to vfo_curr
https://github.com/Hamlib/Hamlib/issues/275
2020-06-03 07:20:48 -05:00
Michael Black 567cd7145e Fix VFO_CURR return from vfo_fixup
https://github.com/Hamlib/Hamlib/issues/274
2020-06-01 17:07:20 -05:00
Michael Black W9MDB e49f1a9df9 Change rig.c to use some sensible defaults when rig_get_vfo fails
https://github.com/Hamlib/Hamlib/issues/274
2020-06-01 14:08:45 -05:00
Michael Black W9MDB 79fdfe8425 Change vfo_fixup to just return when currVFO is requested
https://github.com/Hamlib/Hamlib/issues/274
2020-06-01 12:53:07 -05:00
Michael Black W9MDB cbe269077b Fix one more cache expire for caps->get_vfo
https://github.com/Hamlib/Hamlib/issues/270
2020-05-31 10:05:44 -05:00
Michael Black W9MDB 58b1c36d29 Remove VFO_CURR fixup
https://github.com/Hamlib/Hamlib/issues/271
2020-05-30 22:49:49 -05:00
Michael Black W9MDB f4fee7913f Fix caching of get_vfo to avoid caching error returns
https://github.com/Hamlib/Hamlib/issues/270
2020-05-30 22:45:43 -05:00
Michael Black W9MDB 9ecc14f897 Fix RIG_PTT_NONE detection from rigctl client by adding ptt_type to dumpcaps
https://github.com/Hamlib/Hamlib/issues/270
2020-05-30 16:59:36 -05:00
Michael Black W9MDB 353066a232 Fix rigctl/rigctld split ops/queries
Add vfo_fixup function.  We should be able to do all vfo corrections in rig.c instead of backends.  So we're migrating that way....
https://github.com/Hamlib/Hamlib/issues/269
2020-05-30 09:34:13 -05:00
Michael Black W9MDB 4af80d44c7 Add cache setting in another rig_get_freq return location 2020-05-27 23:40:14 -05:00
Michael Black W9MDB 677ccac4bc astyle files 2020-05-27 12:23:08 -05:00
Michael Black W9MDB 87a83ffbb1 rigctld now works with rigctl in vfo mode
https://github.com/Hamlib/Hamlib/issues/259
set_vfo_opt can now dynamically change vfo mode on rigctld
So this example now works...does some non-vfo stuff then switches to vfo mode
rigctl -m 2 F 14074000 V VFOB F 14076000 V VFOA f V VFOB f set_vfo_opt 1 f VFOA
rigctl commands v,V and S have been changed to not require VFO arguments
New API function rig_set_vfo_opt -- only implemented for Net rigctl as it doesn't apply to any other rigs
2020-05-27 12:21:41 -05:00
Bill Somerville c78b98d36b
Revert "Add debug to serial.c"
This reverts commit be439ea394.

Remove debugging code that breaks  the intended functionality. How did
this change pass even the most basic of tests?
2020-05-27 11:22:46 +01:00
Michael Black W9MDB be439ea394 Add debug to serial.c 2020-05-25 15:31:58 -05:00
Michael Black W9MDB 4f3ad4f3da Add debug for RTS PTT 2020-05-25 14:35:49 -05:00
Michael Black W9MDB a8fdcc146a Add a littld debug to rig.c 2020-05-25 09:10:40 -05:00
Michael Black W9MDB 89cd5c2c99 on rig_get_vfo ask for the real split mode 2020-05-25 07:38:03 -05:00
Michael Black W9MDB 1add89bd71 Add rules for setting VFO_RX and VFO_TX for different rig types
https://github.com/Hamlib/Hamlib/issues/261
2020-05-24 23:42:35 -05:00
Michael Black W9MDB a77a57ff38 Disallow requesting a vfo that the rig doesn't have.
This could be changed to automatically selecting a valid VFO so
VFOA=Main or Main=VFOA for example but not sure if we want to do this.
This is already being done for the IC-9700 for example since satmode
only has Main/Sub where non-satmode has MainA/MainB/SubA/SubB
So the question is do we emulate VFOA/B and Main/Sub for all rigs?
2020-05-21 15:51:41 +02:00
Michael Black W9MDB 9320bfb6ea Fix main/sub frequency saved values 2020-05-18 17:53:49 -05:00
Michael Black W9MDB dc389d7908 Change rig.c to utilize caps function 2020-05-16 21:33:52 +02:00
Michael Black W9MDB 545081c8d4 Fix rigctl/rigctld "V VFOA" protocol error
4.0 rigctld now works with 3.3 rigctl client and 4.0 rigctl client
https://github.com/Hamlib/Hamlib/issues/246
2020-05-15 14:17:59 -05:00
Michael Black W9MDB baf0ee7169 Add debug to rig.c 2020-05-13 17:40:36 -05:00
Michael Black W9MDB 28ce6d0b54 Fix ptt cache -- not specific to IC910 but was noticed during debugging this problem
https://github.com/Hamlib/Hamlib/issues/237
2020-05-12 13:19:33 -04:00
Michael Black W9MDB 3b2225e489 Fix IC-910 split mode operation with gpredict
https://github.com/Hamlib/Hamlib/issues/237
2020-05-11 19:00:52 -04:00
Michael Black W9MDB 1a4e61b2dd Fix several strerror that should be rigerror 2020-05-09 11:52:27 -05:00
Michael Black W9MDB 8e744a4ad7 Do not ask for freq in rig_set_vfo unless we can set the VFO succesfully 2020-05-09 10:22:46 -05:00
Michael Black W9MDB 3fecc5d91e Only update cache.vfo when RIG_OK is returned 2020-05-08 11:24:33 -05:00
mdblack98 d3ebdc5737 Update cache only when retcode=RIG_OK 2020-05-05 09:59:55 -05:00
mdblack98 d5d2650c2e Update cache only when retcode=RIG_OK 2020-05-05 09:59:28 -05:00
mdblack98 bf1a05084d astyle files 2020-05-03 17:24:42 -05:00
mdblack98 b244fe234c Fix caching math...helps when you get the units right...nanoseconds...not microseconds
https://github.com/Hamlib/Hamlib/issues/228
2020-05-02 17:32:37 -05:00
mdblack98 baa3787bc5 Add ELAPSED_INVALIDATE for caching use
Change rig_get_vfo to use ELAPSED_INVALIDATE
Change elapsed_ms code to make a little more sense
https://github.com/Hamlib/Hamlib/issues/231
2020-05-02 11:19:44 -05:00
mdblack98 4dd1b03d56 Add some debug to rig.c 2020-05-02 07:25:17 -05:00
mdblack98 c4430b7cb9 Fix split caching 2020-05-01 16:58:22 -05:00
mdblack98 9e710156e3 Add ability for rigctld client to turn vfo mode on/off with (,)
https://github.com/Hamlib/Hamlib/issues/232
Add caching of some limited rig information
Can be adjusted or turned off with rig_cache_set_timeout_ms or in rigctl with \set_cache_timeout
https://github.com/Hamlib/Hamlib/issues/228
2020-05-01 12:03:54 -05:00
Michael Black 2d0c157b09 Improve logic slightly in rig.c 2020-04-25 11:18:45 -05:00
c vw f6e3570e37 Allow device addresses of the form ":19000" to switch from serial to TCP
(not only aaa.bbb.ccc.ddd.port)
2020-04-25 17:44:07 +02:00
Michael Black 0267c1b7c9 astyle all files 2020-04-10 09:13:35 -05:00
Michael Black f1f0d7f129 Fix some of the documentation 2020-04-09 17:56:19 -05:00
Michael Black 46cb356f11 Fix numerous gcc v10 warnings 2020-04-04 22:49:27 -05:00
Michael Black 4f3ff0fc08 Fix compile error on last patch 2020-04-03 08:27:52 -05:00
Michael Black 67d09427d3 Add experimental network serial mode for network-based serial interfaces 2020-04-03 08:02:31 -05:00
Michael Black 8fd5e16363 astyle files 2020-03-26 11:11:46 -05:00
Michael Black 872d9b1f68 Add range_list2 to rig.c for setting available VFOs and modes 2020-03-23 16:22:54 -05:00
Michael Black c489f97624 More cppcheck changes 2020-03-20 07:51:32 -05:00
Michael Black 35fffc4f38 astyle files 2020-03-15 15:32:46 -05:00
Michael Black 8ef027c676 Fixes the default initialization of ranges by defaulting to range_list1.
Another step in migration of rigs to separate model numbers for variations in models
We default to using range_list1 now and eventually there will only be 1 range_list per model
We have enough room in the model numbers now to expand...so for example we will have
5 models for the IC-9700
IC-9700 USA
IC-9700 EUR
IC-9700 ITR
IC-9700 TPE
IC-9700 KOR
2020-03-06 08:49:21 -06:00
Michael Black d856248178 Add RIG_MODEL macro and change all rigs to support it 2020-03-05 08:44:18 -06:00
Michael Black 8b462a0242 Add set_twiddle and get_twiddle functions
Add -W switch to rigctld to set twiddle timeout..don't need switch for rigctl since it can set from there with \set_twiddle
2020-02-24 09:34:02 -06:00
Michael Black bceba85205 Temporarily disable twiddling detection in order to debug other stuff
Need to make this a switch
2020-02-24 00:03:42 -06:00
Michael Black 74b7900a52 Add get_freq to get_vfo to track freq for internal use
Move twiddling detection before set_vfo in set_freq
2020-02-23 23:20:33 -06:00
Michael Black ff8ddf018c astyle all C files 2020-02-23 11:26:09 -06:00
Michael Black 414b557b71 Add SCREENSAVER off to rig_open 2020-02-23 10:50:26 -06:00
Michael Black 81ea1efba2 Need to update rig->state.current_freq when twiddling 2020-02-23 08:45:25 -06:00
Michael Black 95986b9685 Add detection of VFO twiddling
In the case of gpredict there are times when one has to adjust the
VFO to dial in a frequency while gpredict is tracking.
We now detect this situation and have a 3-second delay every time
VFO twiddling is detected.  set_freq and set_vfo calls will be
ignored during this delay.
May make this a settable value if needed.
2020-02-23 08:28:19 -06:00
Michael Black e315f5e3ac Added skeleton for new get_ant function that will return ant_tx and ant_rx if known
Every rig will need to be reviewed to fill these in as appropriate
2020-02-18 23:10:14 -06:00
Michael Black c40ff7fce6 Re-enable -u modes and vfo lists using *_range_list1 entries for the moment
This logic needs to be overhauled as Icom (and probably others) are putting out
rigs with no way to tell what model you have from CAT control.
So we may end up having to explicitly list all rig models which is more user friendly anyways
and will work with WSJT-X and other user-space programs.
So, e.g., IC-9700 would be listed as 5 models: IC-9700-USA, IC_9700-EUR, IC_9700-ITR, IC-9700-TPE, IC-9700-KOR
2020-02-17 08:46:01 -06:00
Michael Black 8089e2c9d2 Remove region logic from rig.c 2020-02-17 06:43:41 -06:00
Michael Black fdef21f068
Merge pull request #193 from mdblack98/master
2020-02-05 Patches
2020-02-05 23:24:48 -06:00
Dawid Szymanski c6e06bfb01 ICOM Voice Keyer implemented. 2020-02-06 01:00:34 +01:00
Michael Black 7e8938ae65 Changed y command to now use mandatory antenna argument
Put a looplimit on icom_get_ant_count trying to get autodetect to work
Changes to icom_get_ant_count to try and get this working
Added dummy antenna # args to rigs that don't care i.e. only have 1 antenna
2020-02-02 08:38:10 -06:00
Bill Somerville e1e6969e9e
Simplify closing of device files
By treating PTT/DCD devices differently from rig control devices.
2020-01-26 19:06:27 +00:00
Bill Somerville be0f371bde
Remove duplication across GPIO and GPION handling of PTT and DCD 2020-01-26 14:46:21 +00:00
Bill Somerville 6573a283a8
Fixed erroneous messages in rig_close with GPIO(N) PTT or DCD types 2020-01-26 12:50:07 +00:00
Michael Black d853c36fb3
Change get_ant to add another option for icom rigs (and others if needed) 2020-01-21 17:53:12 -06:00
Michael Black b7e8f01701 Fix mingw32 DLL linkage of hl_sleep 2020-01-10 15:58:16 -06:00
Michael Black 6fe29ad942
Fix cppcheck warnings in rig.c 2019-12-24 15:47:06 -06:00
Michael Black ef5d2b7838
Fix cppcheck warnings in rig.c 2019-12-19 10:57:17 -06:00
Michael Black 8ff9a682cc
Add set_powerstat to icom.c and debug msg to rig.c 2019-12-16 10:51:36 -06:00
Michael Black fb73e5abd7
Fix some cppcheck warnings
Fix declarations after statements
Remove some !rig checks...we either don't need them or need them everywhere with a new error code
If you pass a NULL rig you get what you deserve :-)
2019-12-09 17:12:13 -06:00
Michael Black 6c0f101900
Fix cppcheck warnings in rig.c 2019-12-08 22:45:29 -06:00
Michael Black dddf63ca16
Fix cppcheck warnings in rig.c 2019-12-08 22:37:56 -06:00
Michael Black 0ec255366f
Fix gpio file descriptor leak in gpio.c 2019-12-08 16:54:15 -06:00
Michael Black 6bf3b00c4f
astyle all files 2019-11-30 10:19:08 -06:00
Michael Black 73c1ecd165
Change freq & chan struct start/end to avoid colliding with LUA SWIG start/end 2019-08-17 23:20:48 -05:00
Michael Black cf2a551524
Fixup some amplifier code 2019-06-26 06:39:42 -05:00
Michael Black 7e9c566944
Add first cut at amplifier control 2019-06-12 15:52:35 -05:00
Michael Black 25736acd4b
Fix CM108 ptt_bitnum for pttport 2019-05-27 23:18:43 -05:00
C-Elegans d8f010cfa3
Add ability to have rigctld display transverter frequency
Use -C lo_freq=xxxxx to have rigctld add x to your vfo frequency
internally
2018-11-07 11:49:06 -05:00
Jeroen Vreeken bfa948ebc5 Add GPIO and GPION options for DCD.
Also bump abi version since the config params struct needed resizing.
2018-03-29 23:55:25 +02:00
Dieter Röver 1a272f5b0e Fix bug in vfo_comp calculation in Hamlib
I tried to control my "FUNcube Dongle Pro" SDR with Hamlib. At first it
worked fine, but when I tried to correct the frequency divergence with
the vfo_comp parameter, I found a bug in the software.

Example:
$ ./rigctl -m 2513 -C vfo_comp=0.01
  Rig command: F 100000000
  Rig command: f
  Frequency: 102010000

The correction must toke place when setting the frequency and when it
is read back. But one time the correction must work in on direction,
the other time quite opposite.

I found the code in the file rig.c and could see, that both times the
same calculation is used.

The simplest way to correct this is to go to the “rig_get_freq(“
subroutine and change it in the line 1188 from “+=” to “-=” , even that
is mathematically not correct.

Result:
$ ./rigctl -m 2513 -C vfo_comp=0.01
  Rig command: F 100000000
  Rig command: f
  Frequency: 99990000

$ ./rigctl -m 2513 -C vfo_comp=0.000022
  Rig command: F 100000000
  Rig command: f
  Frequency: 99999999

You can see, that the result is quite good for small divergences of
some ppm, but there is still an error for bigger divergences. So I
changed the line 1188 to the form I hope it is the mathematically
correct one:

*freq = (freq_t)(*freq/(1.0+(double)rig->state.vfo_comp));

Result:
$ ./rigctl -m 2513 -C vfo_comp=0.01
  Rig command: F 100000000
  Rig command: f
  Frequency: 100000000

$ ./rigctl -m 2513 -C vfo_comp=0.000022
  Rig command: F 100000000
  Rig command: f
  Frequency: 100000000

Now the result looks good for small and for bigger divergences.

Best regards
Dieter Röver (DK6OV)
2018-02-23 12:34:28 -06:00
Nate Bargmann ab3e6bb5a5 Formatted src/ to final coding guidelines 2017-10-04 21:32:08 -05:00
Jaroslav Skarvada 9693cce0b3 Fix serial_port DCD squelch
Hi,

I had trouble with CTS serial port squelch (on microHAM USB Interface III).
It seems there is a bug in the hamlib code and I think the similar thing
should be done as has been done for the pttport, i.e. if the dcdport is
the same as the rigport, do not reopen it. Otherwise the serial port will
be reset to its default and it will key the radio PTT forever (because
the RTS line is reset on the port reopen). Patch attached

73! Jaroslav, OK2JRQ
2017-09-10 21:04:55 -05:00
Bill Somerville 80a4097aba Add best guess transmit status to rig state structure
This flag can  be used by back  ends that need to  take special action
while the  rig is transmitting e.g.  the FT-747GX and similar  that do
not process CAT commands while transmitting.

The flag  is also used as  a default answer to  rig_get_ptt if nothing
better is available.

Deal with inaccurate CAT query for Rx/Tx on the Yaesu FT-847

This rig  doesn't set the Rx/Tx  status flag when PTT  is asserted via
the PTT pin on the rear PACKET  socket so we need to override which we
can do if we known we have asserted PTT via rig_set_ptt().

Adjust style and fix set PTT defects

Fix a warning from a declaration of a deleted function definition
2017-08-09 21:54:50 -05:00
Nate Bargmann f76b354588 Reformatted src directory 2017-08-09 06:14:31 -05:00
c vw fc6d87addf Do not set DTR/RTS on dedicated PTT port if it is already closed. 2017-05-29 09:37:32 +02:00
Bill Somerville 62fb76019f Fix a state machine defect with repeated PTT reset calls
When the PTT serial  port is not the control port  the intention is to
free the port  when PTT is reset so that  other applications can share
it. This logic  was faulty with attempts to call  port functions on an
unopened port when repeatedly calling the rig_set_ptt API.

Thanks to Christoph van Wullen, DL1YCF, for finding and analyzing this
defect.
2017-02-27 13:02:04 +00:00
Michael Black 199111bcc4 Changed some modules to LGPL in lieu of GPL 2016-10-31 11:05:24 -05:00
Nate Bargmann 234122bb50 Merge pull request #25 from mdblack98/master
Expose version and licensing via function calls
2016-08-31 20:46:18 -05:00
Bill Somerville e44566e8a7 Release the serial port used for PTT when possible
When  using  separate  serial port  for  PTT  via  RTS  pr DTR  it  is
convienent to close  the port when the PTT line  is not asserted. This
allows other applications to share the PTT serial port.

This has been  achieved by ensuring that file descriptor  for the port
is set to -1 when the port  is closed, this then allows the invalid FD
to be used as a PTT surrogate for the rig_get_ptt API when the port is
only being used for PTT.
2016-08-31 22:34:09 +01:00
Michael Black da40941d7f Merge branch 'master' of https://github.com/N0NB/hamlib 2016-08-31 09:22:13 -05:00
Michael Black 15b3e73e7f Exposed constants via function calls 2016-08-31 09:05:47 -05:00
Jeroen Vreeken 3ee7b68d42 Add missing breaks and improve error messages 2016-05-30 14:12:01 +02:00
Jeroen Vreeken 1bf736d650 Add support for GPIO PTT. 2016-05-28 16:00:03 +02:00
Bill Somerville 222ad74de7 Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode argument
This change  allows the set_mode  functions to leave the  rig passband
unchanged  if required.  For the  few rigs  that do  not have  explcit
passband width control either current state is read and rewritten or a
"normal" width  is chosen e.g. select  a normal width when  there is a
choice like CW and CW-NARROW.
2016-04-19 21:27:52 +01:00
Bill Somerville 21c346453a Implement combined split VFO frequency and mode setting.
CAT protocols that don't allow  direct addressing of VFOs require that
the  "other" VFO  be queried  or set  via a  select then  get/set then
select back  to original or  swap then  get/set then swap  again. When
both frequncy and  mode need to be set the  sequences can be optimized
if a single funciton is avaiable.

This enhancement adds those single functions rig_set_split_freq_mode()
and  rig_get_split_freq_mode()  with  a default  impelementation  that
calls the individual rig_{get,set}_split_{freq,mode}() functions. Back
ends  can choose  to  implement  an optimized  version  which is  used
instead of the default if present.

Using these  functions when  an optimized implementation  is available
allows the TX VFO's frequency and mode to be set in a single operation
with  only  one   VFO  exchange  or  selection  either   side  of  the
operation.  Many CAT  protocols  are very  efficient  when getting  or
setting both  frequency and mode  and some even  combine the two  in a
single command.

The letters 'K' and 'k' are used for the rigctl short command name for
these functions.
2016-03-23 17:09:26 +00:00
Bill Somerville cf65505511 Honour any error status from serial port calls
The  previous commit  introduced  a regression  that  masks any  error
return from  opening the serial  port used for  PTT when that  port is
different from the CAT serial port.
2015-04-22 22:16:35 +01:00
Bill Somerville de3fccf033 Lower both RTS and DTR on alternate PTT serial port
Before this  change only the  line used for  PTT was being  lowered on
open.   It is  necessary for  platforms  other than  Windows to  avoid
issues with other uses of the line not used for PTT such as interfaces
that wire-or RTS and DTR together or use it for CW or FSK keying. This
is because  platforms other  than Windows  raise both  DTR and  RTS on
serial port opening.

Also changed  code that opens CAT  port to lower  RTS or DTR if  it is
used for PTT. In this case there is no need to lower the other line of
DTR  or RTS  as there  is  already a  config parameter  to control  it
(dtr_state or rts_state). This change is necessary to maintain current
functionality.
2015-04-16 23:59:43 +01:00
Bill Somerville ddb0a12403 Use correct argument type for serial control line functions
The serial port  line control functions take a boolean  argument not a
ptt_t argument.   Changed usage in  rig_open() to use a  explicit zero
instead of RIG_PTT_OFF  value which only coincidentally  happens to be
zero.
2015-04-14 10:04:31 +01:00
Bill Somerville 36b8a972cf Error checks on simulated direct VFO addressing
Many APIs  emulate direct VFO  addressing by using  caps->set_vfo() or
caps->vfo_op(..., RIG_OP_TOGGLE)  to simulate  direct addressing  of a
non-current  VFO. The  mirrored function  call to  revert back  to the
original  current  VFO was  not  checking  for  errors.  This  is  not
unreasonable but it turns out that some rigs can arbitarily fail doing
VFO changes or swaps (e.g. Yaesu FT-450).

I have added checks to these calls but only fail with the error if the
API call being wrapped does not fail itself. This allows the mirroring
VFO  operation to  be  completed,  if possible,  even  if the  wrapped
function could not be completed,  hence as before, making every effort
not to change the rig state unnecessarily.
2014-12-11 17:14:58 +00:00
Bill Somerville 4e2a6adf12 Move serial line control error checks to lower level routines
Moved in preference to introducing errno.h into rig.c.
2014-11-24 00:51:12 +00:00
Bill Somerville 0e0779877d Add more diagnostics and error checks to serial line control 2014-11-24 00:18:48 +00:00
Bill Somerville e1a0e9121c Always clear serial control lines when used for PTT
When a serial  control line (DTR or  RTS) is used for  PTT control the
rig_open()  function clears  the PTT  control line  after opening  the
port. This  is necessary on Linux  because opening the port  sets them
both as part  of the normal RS-232 protocol. The  lines were not being
cleared when the PTT port was the same port as the CAT control port.
2014-11-21 20:58:18 +00:00
Bill Somerville cd44a8d926 Only check for serial control line conflicts if PTT shares CAT port 2014-10-14 12:51:23 +01:00
Bill Somerville 19f131b1b8 Remove redundant RIG_PTT_SERIAL_CAT enum from ptt_t
The Icom IC-7100 back end added this enum instead of using the extant
RIG_PTT_RIG enum.  Also the rig_get_ptt() implementation didn't handle
it and errored out.

Note: RIG_PTT_SERIAL_CAT was added in commit
e9ee671149  - N0NB
2014-10-09 10:25:38 -05:00
Nate Bargmann 0fa8a5656c Quell warning from MinGW on setting CM108 pttbitnum
MinGW was issuing the following warning:

  CC     rig.lo
rig.c: In function 'rig_init':
rig.c:330:36: warning: assignment makes integer from pointer without a cast [enabled by default]
  rs->rigport.parm.cm108.ptt_bitnum = DEFAULT_CM108_PTT_BITNUM;
                                    ^

The constant DEFAULT_CM108_PTT_BITNUM was being defined as a string on
non-linux platforms.  Now defined to an integer on these platforms.  The
actual value may need to be corrected at some point in the future when
CM108 support is completed for those platforms.
2014-02-16 07:33:42 -06:00
mvcstroomer e9ee671149 Add Icom IC-7100 support.
From Martin, CT1IQI:

"Several programs under Linux rely on Hamlib for control. I wanted to
try WSJT-X (digital modes like JT65) and found that my new IC-7100 was
not yet supported, also after having compiled the current git version of
Hamlib and having compiled WSJT-X against that.

So I added a IC-7100 by taking the ic-7200 and 7420 rig files as
example, be it without going (yet) through all of the very many commands
the ic-7100 supports.

This produced the situation where there was communication, e.g. setting
and reading frequencies, but the PTT control did not work.  I debugged
that to actually the lack of a PTT mode in Hamlib that uses serial and
CAT at the same time; currently PTT per 'serial' seems equivalent to
toggling certain RS232 pins but not to any serial command level. So I
added a RIG_PTT_SERIAL_CAT mode for PTT control. Now the wsjt-x program
works nicely with the ic-7100 and controls both frequency and PTT via
the single USB cable."

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-10-25 08:40:36 -05:00
Bill Somerville efd1917e98 Fix rig_open not failing when PTT/DCD port is unavailable.
rig_open was giving RIG_DEBUG_ERR messsages if PTT or DCD
port was unavailable but the function was not returning an
error status.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-09-21 21:14:11 -05:00
Bill Somerville ef28e435d8 Patch to allow same serial port for PTT and CAT.
Hi,

patch attached to enable the above which was partially coded but not
quite working.

73
Bill
G4WJS.

>From 9dab3a250dfad7203772df91aadf79d38c108f04 Mon Sep 17 00:00:00 2001
From: Bill Somerville <bill@classdesign.com>
Date: Fri, 6 Sep 2013 01:13:34 +0100
Subject: [PATCH] Fix using same serail port for PTT and CAT

src/rig.c was coded to allow the same serial port for PTT and
CAT but them tried to open the port twice. I have added code
to share the file descriptor in this situation.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-09-18 12:34:20 -05:00
Kamal Mostafa 3466512dbd Fix spelling errors 2012-08-21 19:54:50 -07:00
Stephane Fillod 46033db165 CM108 GPIO PTT: do not break ABI
Move around the ptt_bitnum field in the union of hamlib_port_t.
Increase Hamlib frontend revision.
2012-01-11 23:28:01 +01:00
Andrew Errington 1a77ef9eb9 Initial support for CM108 GPIO contorl of PTT
Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2012-01-11 06:16:51 -06:00
Nate Bargmann b31cc6ecd9 Assure NULL terminated strings in src files.
Various strncpy operations could result in a port pathname that is not a
NULL terminated string as the allowed string length is the same size as
the buffer per the strncpy manual page.  This is corrected by assuring
that the allowed length is FILPATHLEN - 1.
2012-01-07 20:50:34 -06:00
Stephane Fillod da80137819 Add support for RIG_PORT_UDP_NETWORK
Also some copyright year update,
and default serial device on MacOSX
2012-01-06 09:28:24 +01:00
Nate Bargmann dad27d1f69 Update LGPL header in src source files.
TNX to Lucian Laga, YO6PLB, for the notification.
2011-08-22 21:38:37 -05:00
Stephane Fillod 421909bad2 Let set_ptt() select source, either TX mic or TX data 2011-07-20 00:09:50 +02:00
Stéphane Fillod, F8CFE 5c24ee2925 Workaround SF#3055689
* make sure the PTT is not set when configured as RTS/DTR at open()/close() time.
  It appears the Linux kernel force their value as explained here[1] during open.
  Also obvious when reading the source code[2], esp. in uart_startup() 
  and uart_update_termios() where uart_set_mctrl(port, TIOCM_DTR | TIOCM_RTS) 
  is called.

[1] http://books.google.fr/books?id=75eeBNcjcuIC&lpg=PA152&ots=Qvgi6VDLvm&pg=PA152#v=onepage&q&f=false
[2] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/serial/serial_core.c;hb=HEAD

* don't let the OS change modem signals at close() time


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2983 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-09-17 14:46:16 +00:00
Stéphane Fillod, F8CFE b818045a0a - better portability check with HAVE_SIGACTION
- fix segfault when doing rig_set_trn(POLL->OFF->POLL)
- implement remove_trn_rig()/remove_trn_poll_rig() for rig_set_trn(TRN_OFF)


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2956 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-08-21 11:37:58 +00:00
Stéphane Fillod, F8CFE 6feb18f611 use ptt port pathname same as rig port pathname when unset and rig is type serial
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2915 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-05-17 22:20:58 +00:00
Stéphane Fillod, F8CFE 453995e7c0 fix segfault and allow mode listing in rigctl
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2865 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-05 10:01:09 +00:00
Kamal Mostafa, KA6MAL 5e21991a28 Hard-code length of hamlib_version and hamlib_copyright strings
to stay compliant with hamlib 1.2 ABI and avoid spurious "consider
relinking" warnings from dynamic loader.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2839 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-27 16:09:07 +00:00
Nate Bargmann, N0NB 6763e8e750 Fixed long path calculation in azimuth_long_path() in locator.c
Spelling edits and removal of space at the end of lines in rig.c



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2829 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-14 21:47:49 +00:00
Stéphane Fillod, F8CFE 46289ed58e convert parallel ptt to cwdaemon interface(STROBE+INIT)
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2747 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-11-01 18:48:27 +00:00
Stéphane Fillod, F8CFE bbafe261fd factorize port_open/port_close, fix a bug when setting RTS/DTR
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2729 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-09-14 07:49:04 +00:00
Stéphane Fillod, F8CFE 976540de77 set/get_split_{freq,mode} assisted by frontend
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2655 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-02-20 14:14:31 +00:00
Stéphane Fillod, F8CFE b3037797c8 fix error code in rig_mW2power()
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2515 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-12-16 22:40:32 +00:00
Stéphane Fillod, F8CFE ab24cf45e3 MinGW network fixes
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2472 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-11-05 23:02:00 +00:00
Stéphane Fillod, F8CFE 30245bf73a resolve normal passband where available in rig_get_mode/rig_get_split_mode
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2445 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-10-31 23:08:59 +00:00
Stéphane Fillod, F8CFE 2492903ea9 accept partial 'pathname' for PORT_NETWORK
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2406 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-09-23 22:02:40 +00:00
Stéphane Fillod, F8CFE 0e7d1eacea implementation of PORT_NETWORK
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2395 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-09-21 19:30:35 +00:00
Stéphane Fillod, F8CFE 6f4705fc20 BUG#2106524: allow backend specific override get_ptt even if RIG_PTT_SERIAL_DTR (e.g. FT757GXII)
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2379 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-09-12 11:49:32 +00:00
Stéphane Fillod, F8CFE 74495d7dfb default serial device on BSD systems
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2343 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-05-04 15:36:23 +00:00
Nate Bargmann, N0NB ec79e3cfb3 Documentation edits and additions for doxygen generated documentation.
Add missing enum to string definitions in settings.c


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2257 7ae35d74-ebe9-4afe-98af-79ac388436b8
2007-11-26 20:54:12 +00:00
Martin Ewing, AA6E f6ddc3edad documentation
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2145 7ae35d74-ebe9-4afe-98af-79ac388436b8
2006-10-15 00:27:52 +00:00
Alexandru Csete OZ9AEC 8798d79045 Cast constant caps to variable caps in order to avoid compiler warnings.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2118 7ae35d74-ebe9-4afe-98af-79ac388436b8
2006-10-07 13:08:19 +00:00
Stéphane Fillod, F8CFE f3fba54375 bump (c) date, add delay if RTS/DTR is set
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2076 7ae35d74-ebe9-4afe-98af-79ac388436b8
2006-02-26 19:28:04 +00:00