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
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