Wykres commitów

379 Commity (758e9bc3a7ff9e19da0954166b93683d41ab622c)

Autor SHA1 Wiadomość Data
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