Wykres commitów

572 Commity (91652dbaee4cb52c2436cdbe856962c99ae32297)

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