Wykres commitów

506 Commity (d857f181635059fd6c227f758cffd0707f26ffe5)

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