Mikael Nousiainen
56c95b1529
Merge upstream changes and fix conflicts
2021-12-12 23:05:26 +02:00
Mike Black W9MDB
5e15159c79
Move debug in set_ptt to see logic for serial port sharing
2021-12-12 08:17:30 -06:00
Mike Black W9MDB
674a9868d9
Implement ISO8601 time standard in more places.
...
Debug time now shows localtime + utc offset
Rigs that can set the clock now can set either local or utc time on the rig
Icom rigs can only display clock#1 right now so users may want either local or utc
So here are IC7300 examples
rigctl -m 3073 -r com3 -s 115200 set_clock local
rigctl -m 3073 -r com3 -s 115200 set_clock utc
2021-12-06 10:23:18 -06:00
Mike Black W9MDB
07cac7be76
Move ELAPSED macros to rig.h for global use
...
Add ELAPSED to get_vfo_info in rigctl_parse.c
2021-12-05 09:46:00 -06:00
Mike Black W9MDB
a1da584bc1
Add HAMLIB_CACHE_ALWAYS to rig_get_mode
...
https://github.com/Hamlib/Hamlib/issues/880
2021-12-02 16:53:22 -06:00
Mike Black W9MDB
b5a4e99a3e
Add HAMLIB_CACHE_ALWAYS
...
Enable for rig_get_freq
https://github.com/Hamlib/Hamlib/issues/880
2021-12-02 16:44:39 -06:00
Mike Black W9MDB
a1c8493c62
First cut at clock setting for IC7300/7800/785x/9700
...
https://github.com/Hamlib/Hamlib/issues/851
2021-12-01 11:50:33 -06:00
Mikael Nousiainen
c20f397c24
Refactor WIN32 I/O port routines to be hopefully compatible with async data reader (not tested). Fix some incomplete data fields in UDP snapshot packets.
2021-11-30 09:25:51 +02:00
Mike Black W9MDB
a36b74deca
https://github.com/Hamlib/Hamlib/issues/514
2021-11-29 16:08:24 -06:00
Mikael Nousiainen
d857f18163
Initial implementation of: reader thread for async handling of rig data, UDP multicast publisher routine and rig state poll thread routine. The reader thread can correctly handle asynchronous data, such as transceive or spectrum data. Work in progress: multi-platform code for I/O routines still missing and the poll routine is not yet in use. Tested briefly on an IC-7300 so far.
2021-11-28 20:52:29 +02:00
Mike Black W9MDB
63a51c36a1
astyle files preparing for 4.4 release
2021-11-28 12:41:10 -06:00
Mike Black W9MDB
5cf68f3647
Get the correct rx_vfo when split is off
...
https://github.com/Hamlib/Hamlib/issues/872
2021-11-25 12:17:39 -06:00
Mike Black W9MDB
643e18dc28
Ensure rx_vfo is set correctly based on tx_vfo requested
...
https://github.com/Hamlib/Hamlib
2021-11-25 09:34:23 -06:00
Mike Black W9MDB
71662c79f8
Remove rig_lock/unlock as not needed for eventual async i/o implementation
2021-11-24 15:52:37 -06:00
Mike Black W9MDB
d1a7964ac4
Allow for set_split with VFOA/VFOA to put RX VFO on VFOB
2021-11-24 13:33:16 -06:00
Mike Black W9MDB
8928672e2c
Rigs with non-targetable set_mode will now use cached values to determine if mode needs to be changed
...
Hamlib 5.0 plans are to start using transceive mode and AI2 mode to detect rig changes so eventually
users on these types of rigs will be able to twiddle knobs and hamlib will follow.
But for now we are avoiding the VFO flashing and relay chattering on non-targetable rigs
https://github.com/Hamlib/Hamlib/issues/872
2021-11-24 09:03:26 -06:00
Mike Black W9MDB
238e17b736
rig_set_mode for non-targetable rigs will only set mode on VFOB once per run unless mode is changed
...
This allows subsequent rig_set_mode to execute quickly without any VFO juggling
If user twiddles with VFOB mode they are on their own
https://github.com/Hamlib/Hamlib/issues/872
2021-11-22 16:54:22 -06:00
Mikael Nousiainen
39cec4aa27
Merge branch 'master' into async-reader
2021-11-20 22:50:55 +02:00
Mikael Nousiainen
1f538ad7ec
Started work on asynchronous reader thread to enable handling of rig tranceive and waterfall data (WIP)
2021-11-20 21:33:29 +02:00
Mike Black W9MDB
4b3bbabc5d
Fix rig_set_split problem on Kenwood rigs
...
https://github.com/Hamlib/Hamlib/issues/872
2021-11-19 16:19:18 -06:00
Mike Black W9MDB
8c3e8fed28
Improved debug in rig_get_cache
...
https://github.com/Hamlib/Hamlib/issues/872
2021-11-18 10:42:58 -06:00
Mike Black W9MDB
3de368f6a2
Add rig_lock and rig_unlock to support serial I/O locking for a transaction
...
https://github.com/Hamlib/Hamlib/issues/695
2021-11-15 07:16:31 -06:00
Mike Black W9MDB
8b5685425a
For non-targetable VFOs we will set VFO on every set_freq
...
https://github.com/Hamlib/Hamlib/issues/865
2021-11-11 17:10:57 -06:00
Mike Black W9MDB
e64a128f3a
In rig_set_split_mode and rig mode is not targetable we disable split, set mode, and re-enable to avoid vfo flashing.
...
This disable is moved behind the targetable mode now as it should not be required in that case
https://github.com/Hamlib/Hamlib/issues/863
2021-11-09 23:52:21 -06:00
Mike Black W9MDB
61141126c1
Add more ELAPSED timings
2021-11-09 23:20:02 -06:00
Mike Black W9MDB
68edfe3357
Add more ELAPSED timings
2021-11-09 23:14:44 -06:00
Mike Black W9MDB
9eccaec6af
Improve debug in rig_get_split_vfo
2021-11-09 23:07:02 -06:00
Mike Black W9MDB
eed9637675
Do not change split freq if change not needed
...
https://github.com/Hamlib/Hamlib/issues/863
2021-11-09 17:06:48 -06:00
Mike Black W9MDB
663b149a48
Fix ELAPSED macros in rig.c to provide more accurate timing
2021-11-07 07:36:46 -06:00
Mike Black W9MDB
6ca9844196
In rig.c do not override curr_vfo if it gets set by the backend
...
https://github.com/Hamlib/Hamlib/issues/853
2021-11-05 17:23:10 -05:00
Mike Black W9MDB
ffe3c9d012
Revert "Change rig_set_split_mode to use TOGGLE first, then set_vfo"
...
This reverts commit c1c549cbf3
.
2021-11-05 06:37:45 -05:00
Mike Black W9MDB
e7530643a0
In rig.c set rxvfo and txvfo to current if currvfo is requested
...
https://github.com/Hamlib/Hamlib/issues/838
2021-11-03 15:00:38 -05:00
Mike Black W9MDB
c1c549cbf3
Change rig_set_split_mode to use TOGGLE first, then set_vfo
...
https://github.com/Hamlib/Hamlib/issues/838
2021-11-03 13:11:11 -05:00
Mike Black W9MDB
b4f4228650
Revert "Change rig_set_split_mode to disable/enable ptt by rig model as needed"
...
This reverts commit c1c1f1f053
.
2021-11-03 12:37:38 -05:00
Mike Black W9MDB
c1c1f1f053
Change rig_set_split_mode to disable/enable ptt by rig model as needed
...
https://github.com/Hamlib/Hamlib/issues/838
2021-11-03 08:16:39 -05:00
Mike Black W9MDB
8fe190d622
Reduce error messages about RIG_VFO_OTHER which only applies to some rigs like Icom rigs with the 0x25 command
...
Add a flush_flag to read_string so that the new serial_flush will not produce a timeout value when flushing
https://github.com/Hamlib/Hamlib/issues/835
2021-11-01 23:43:45 -05:00
Mike Black W9MDB
603223d493
During rig_set_split_mode and non-targetable mode we will turn off split, set mode, and turn split back on. This should prevent some ugly flashing on Yaesu rigs
...
https://github.com/Hamlib/Hamlib/issues/838
2021-11-01 22:15:50 -05:00
Mike Black W9MDB
dc585776fc
Add rig pointer to hamlib_port_t
2021-10-30 08:53:45 -05:00
Mike Black W9MDB
9d2aaa00c0
Disallow set_split_vfo when PTT is active
...
https://github.com/Hamlib/Hamlib/issues/844
2021-10-28 09:49:18 -05:00
Mike Black W9MDB
6f82645ee8
Revert "Disallow set_split_vfo when ptt is active"
...
Had other temporary code in it
This reverts commit db9cd44bcf
.
2021-10-28 09:46:52 -05:00
Mike Black W9MDB
db9cd44bcf
Disallow set_split_vfo when ptt is active
...
https://github.com/Hamlib/Hamlib/issues/844
2021-10-28 09:44:57 -05:00
Mike Black W9MDB
5cdbdd04c6
Add rig backends in 0 range (maingly FlRig and rigctld) to targetable_ptt -- should avoid some vfo swapping going on
...
https://github.com/Hamlib/Hamlib/issues/836
2021-10-22 17:15:35 -05:00
Mike Black W9MDB
014219c4ad
Add RIG_OTHER_VFO handling to rig_get_cache
...
https://github.com/Hamlib/Hamlib/issues/835
2021-10-21 22:31:38 -05:00
Mike Black W9MDB
8a983cae80
Clean up MUTEX declarations in rig.c
2021-10-14 23:06:57 -05:00
Mike Black W9MDB
da34930ab9
Fix rig_get_mode cache time printout
2021-10-14 11:36:34 -05:00
Mike Black W9MDB
ac43daa998
Add some more elapsed time monitoring
2021-10-14 11:32:30 -05:00
Mike Black W9MDB
dd1376becf
Fix debug statement
...
https://github.com/Hamlib/Hamlib/issues/812
2021-09-28 23:13:37 -05:00
Mike Black W9MDB
da87903e3c
Fix set_vfo for non TARGETABLE_FREQ rigs like the FT100
...
Was not setting VFOB when requested
https://github.com/Hamlib/Hamlib/issues/812
2021-09-28 23:03:56 -05:00
Mike Black W9MDB
7c42d6ddb0
Fix LOCK macros
2021-09-28 23:03:06 -05:00
Mike Black W9MDB
43251254c5
New mutex macros to be resued across all rig functions to support async multicast actions
2021-09-28 22:57:35 -05:00
Mike Black W9MDB
7bd407beda
Add some more elapsed time entries and reduce ELAPSED2 macro
2021-09-25 23:26:49 -05:00
Mike Black W9MDB
2e2543a0fc
Fix ELAPSED2 time
2021-09-25 23:16:08 -05:00
Mike Black W9MDB
0b9b719997
Add elapsed time macros and put in vfo and freq calls
2021-09-25 08:59:57 -05:00
Wouter van Gulik
a3ab4a4312
Fix rig_cookie: use lock for reads and write.
...
Ensure we never print more then HAMLIB_COOKIE_SIZE otherwise we read
out-of-bounds.
Drop stray printf.
Add tests for invalid input and overly large input.
Fix test2 to release the cookie.
2021-09-20 22:10:55 +02:00
Wouter van Gulik
d9e1f5aac4
Fix and document rig_cookie;
...
Example in doxygen was wrong.
Description of parameters was wrong; we return an int so we cannot return
a NULL.
NULL check for cookies is needed for all 3 commands so move it up, fixing the
missing one.
Length check was wrong; cookie needs to be at least as large as
HAMLIB_COOKIE_SIZE otherwise subsequent checks will always faila
Document the 3 cookie commands a bit.
2021-09-19 22:52:41 +02:00
Wouter van Gulik
82785f81dc
Replace RIG_EIO with RIG_EINVAL when checking arguments. RIG == NULL is
...
an argument error. A rig not properly inited (caps == NULL) is also an
invalid argument.
2021-09-19 22:18:03 +02:00
Wouter van Gulik
f029769fb7
Add arguments check for rig_get_cache, rig_stop_morse, rig_wait_morse,
...
rig_get_range, rig_set_vfo_opt, rig_get_infget_info.
2021-09-19 22:12:21 +02:00
Mike Black W9MDB
d60e82c222
Reduce scope of vars in rig.c
2021-09-13 17:41:53 -05:00
Mike Black W9MDB
16263e8338
Remove shadow var from rig.c
2021-09-13 17:38:37 -05:00
Wouter van Gulik
fe2f24cba3
Make make_crc_table and gen_crc static.
2021-09-09 22:47:57 +02:00
Wouter van Gulik
720f8fa86e
Fix documentation for get_info. Memory is not allocated!
...
Prevent users from trying to free it.
2021-09-09 22:42:55 +02:00
Wouter van Gulik
3edc59dbd2
Add documentation for rig_get_cache.
...
Note that it misses all sanity check on the input, but at least that is
now documented.
Made rig_check_rig_caps and twiddling static, they are not exported
but Doxygen includes all globally visible function.
2021-09-09 22:36:43 +02:00
Wouter van Gulik
d6c1c4ec78
rig.c/rig_reset Make defines a link in the documentation
2021-09-09 22:15:16 +02:00
Wouter van Gulik
9134fa55c9
rig.c: Fix Doxygen for rigerror
2021-09-08 22:57:04 +02:00
Wouter van Gulik
998e19bdd4
Fix Doxygen in rig.c. Commit c5c60f0
also touched Doxygen comments which
...
was not intended. It replaced \return with \RETURNFUNC. Breaking
Doxygen.
2021-09-08 22:45:36 +02:00
Mike Black W9MDB
c53a288cd8
Add debug to show vfofixup being skipped due to satmode rig
2021-09-06 07:41:33 -05:00
Mike Black W9MDB
6de4588335
Do not do vfo_fixup on satmode rigs
...
https://github.com/Hamlib/Hamlib/issues/782
2021-09-01 12:45:29 -05:00
Mike Black W9MDB
f65022b4ca
If set_split_freq_mode is called when split=off we'll turn on split based on current vfo selection
...
https://github.com/Hamlib/Hamlib/issues/764
2021-08-30 08:45:56 -05:00
Mike Black W9MDB
f552e3f0e8
Fix set_split_vfo to use correct RX vfo instead of TX vfo
...
https://github.com/Hamlib/Hamlib/issues/762
https://github.com/Hamlib/Hamlib/issues/430
2021-08-28 09:54:37 -05:00
Mike Black W9MDB
4653aa2f6e
astyle files
2021-08-27 22:25:53 -05:00
Mike Black W9MDB
b41f706eda
Fix uninitialized warning in rig.c
...
https://github.com/Hamlib/Hamlib/issues/762
https://github.com/Hamlib/Hamlib/issues/430
2021-08-27 15:51:02 -05:00
Mike Black W9MDB
f6b54df7c7
Fix some more unnecessary vfo swapping
...
https://github.com/Hamlib/Hamlib/issues/762
https://github.com/Hamlib/Hamlib/issues/430
2021-08-27 15:46:23 -05:00
Mike Black W9MDB
5a0590d421
Finish up targetable_ptt logic
...
Was causing unnecessary vfo swapping
https://github.com/Hamlib/Hamlib/issues/762
https://github.com/Hamlib/Hamlib/issues/430
2021-08-27 12:50:53 -05:00
Mike Black W9MDB
0016d5a933
Move TARGETABLE_PTT logic to the set_ptt routine
...
https://github.com/Hamlib/Hamlib/issues/762
https://github.com/Hamlib/Hamlib/issues/430
2021-08-27 12:32:37 -05:00
Mike Black W9MDB
0d9bcbf9bf
Fix possilbe segfault last patch
...
https://github.com/Hamlib/Hamlib/issues/762
https://github.com/Hamlib/Hamlib/issues/430
2021-08-27 12:16:35 -05:00
Mike Black W9MDB
03fe6f6500
Allow all Icom, Kenwood, Yaesu to avoid VFO swapping
...
https://github.com/Hamlib/Hamlib/issues/762
https://github.com/Hamlib/Hamlib/issues/430
2021-08-27 12:04:16 -05:00
Mike Black W9MDB
283281c4cb
astyle all files preparing for 4.3 release
2021-08-26 06:49:24 -05:00
Wouter van Gulik
9aec383329
Simplify get_ant by having setting to unknown by default.
...
Drop setting to default in rigs.
Add some more documentation on get_ant.
2021-08-25 22:13:21 +02:00
Michael Black
a396dc8825
Merge pull request #772 from wutje/constify
...
rig.c: Constify rigerror_table
2021-08-21 16:00:15 -05:00
Wouter van Gulik
b24e629e16
rig.c: Constify rigerror_table
2021-08-21 22:26:59 +02:00
Wouter van Gulik
84108f9613
src/rig.c: Add comments to clarify both mode and width must be supplied
2021-08-21 21:59:02 +02:00
Mike Black W9MDB
014bc04ddf
Fix Icom rigs to use 0x25 command if capable
...
Fixes #1 and and #2 in the issue
https://github.com/Hamlib/Hamlib/issues/762
2021-08-13 07:42:39 -05:00
Mike Black W9MDB
4bfd71f91f
Fix Icom split and implement reverse split
...
These should work now from rigctl and via the API
S VFOB 1 VFOA
S Sub 1 Main
https://github.com/Hamlib/Hamlib/issues/754
2021-08-02 23:37:31 -05:00
Mike Black W9MDB
2c57bc51d5
Reduce unnecessary warning messages in rig.c
2021-07-13 15:49:15 -05:00
Mike Black W9MDB
91b3d26837
For all rigs avoid setting mode while PTT is on
...
https://github.com/Hamlib/Hamlib/issues/737
2021-07-12 08:57:02 -05:00
Mike Black W9MDB
21ade6493a
Add MainA/B and SubA/B to dummy rig for testing
...
Add debug cache display for same when applicable
https://github.com/Hamlib/Hamlib/issues/730
2021-07-05 11:24:07 -05:00
Mike Black W9MDB
217a978ab9
Fix split control for K3 and probably other rigs too
...
https://github.com/Hamlib/Hamlib/issues/728
2021-06-24 23:41:50 -05:00
Mike Black W9MDB
beede15b7b
Change debug a bit in rig.c
2021-06-16 10:35:38 -05:00
Mike Black W9MDB
c72517eafa
Move loop declaration outside the for statement in rig.c
...
Also got rigctld working with WSJTX -- but not JTDX yet
https://github.com/Hamlib/Hamlib/issues/721
2021-06-16 10:13:45 -05:00
Mike Black W9MDB
7b1ad09aed
Fix retcode compilation warning
2021-06-13 16:18:46 -05:00
Mike Black W9MDB
6dacfa53c0
Avoid nested calls in rigctld
...
https://github.com/Hamlib/Hamlib/issues/721
2021-06-12 11:04:10 -05:00
Mike Black W9MDB
ff9a745c7a
Wrap pthread calls in #ifdef HAVE_PTHREAD in rig.c
2021-06-04 10:03:40 -05:00
Mike Black W9MDB
a73046b04e
Clean up clang-static-analyzer warnings
2021-06-03 17:21:52 -05:00
Mike Black W9MDB
7d8e99ca2d
Fix ICOM UDP network setup
2021-06-02 23:06:22 -05:00
Mike Black W9MDB
a63d009035
Remove some more debug
2021-06-01 07:17:11 -05:00
Mike Black W9MDB
c5378b9f70
Remove some more debug
2021-06-01 07:10:44 -05:00
Mike Black W9MDB
9755454ff8
Fix Icom UDP server check
2021-05-31 17:42:07 -05:00
Mike Black W9MDB
97e36926d3
Enable UDP network for Icom rigs
2021-05-31 09:05:41 -05:00
Mike Black W9MDB
a419ad0c4b
Fix spellilng error in export statement -- to quick to commit
...
https://github.com/Hamlib/Hamlib/issues/710
2021-05-26 13:12:44 -05:00
Mike Black W9MDB
0f5995aaf5
Change export to HAMLIB_EXPORT_VAR
...
https://github.com/Hamlib/Hamlib/issues/710
2021-05-26 13:07:11 -05:00