Wykres commitów

699 Commity (96bb604b1216547e599d06b61f73cb39ae797c17)

Autor SHA1 Wiadomość Data
Mike Black W9MDB a277d7ab9b Changes changing hamlib_port_t to pointer are not backwards compatible 2022-01-25 17:41:26 -06:00
Mike Black W9MDB cb36210ddb Revert "Fix rig.c memcpy to deprecated hamlib_port_t"
This reverts commit 27adcc2e75.
2022-01-25 15:02:51 -06:00
Mike Black W9MDB 27adcc2e75 Fix rig.c memcpy to deprecated hamlib_port_t 2022-01-25 14:52:07 -06:00
Mike Black W9MDB 9e86e62238 Enable async I/O by default
Change hamlib_port_t to a pointer in rig.state
Deprecate static hamlib_port_t structure
New hamlib_port_t structure at end of rig.state
Clients built with older hamlib will use old structure in DLL
Clients built with newer hamlib will use new structure in DLL
So we maintain backwards compatibility until Hamlib 5.0
https://github.com/Hamlib/Hamlib/issues/894
2022-01-25 07:59:47 -06:00
Mike Black W9MDB 4dfaa03838 Enable ASYNC and rename async to asynio to avoid python name collision
https://github.com/Hamlib/Hamlib/issues/894
2022-01-24 10:37:07 -06:00
Michael Black 51da62f3fb
Merge pull request #943 from mikaelnousiainen/async-rigctld-icom-bugfixes
Bugfixes for async I/O, rigctld and Icom backend
2022-01-23 11:49:14 -06:00
Mike Black W9MDB 1beebfc835 Make set_transaction functions use intra process mutex -- Phase 1
Phase 2 will be inter-process named mutexes
https://github.com/Hamlib/Hamlib/issues/942
2022-01-23 09:01:06 -06:00
Mikael Nousiainen 1f428c8d95 Allow icom_rig_open() to succeed even if the rig is powered off. Fix issues with async I/O error code propagation. Allow rigctld daemon to start even if rig is powered off. Add mutex locks around rig_open()/rig_close() calls as multiple client connections could end up calling them concurrently, which could lead to all kinds of issues as the functions are not meant to be thread-safe. This also blocks execution of rigctl commands during rig open/close. 2022-01-22 23:19:07 +02:00
Mike Black W9MDB 970d253866 In rig_set_vfo query vfo first to see if it needs to be changed.
Doing VS0 on an FTDX-3000 was causing VFOA to mute
https://github.com/Hamlib/Hamlib/issues/903
2022-01-19 15:40:08 -06:00
Mike Black W9MDB 09c9b01552 Change snprintf to SNPRINTF in src
https://github.com/Hamlib/Hamlib/issues/857
2022-01-19 09:11:04 -06:00
Mike Black W9MDB e2bb11aa4c Change sprintf to SNPRINTF in misc.c, network.c, and rig.c
https://github.com/Hamlib/Hamlib/issues/857
2022-01-18 15:07:49 -06:00
Mike Black W9MDB 165b5b2921 Change sprint to SNPRINTF in rig.c
https://github.com/Hamlib/Hamlib/issues/857
2022-01-18 14:39:34 -06:00
Mikael Nousiainen 2857a54ea6 Allow enabling of async data mode via conf option. Ignore multicast data publishing if the publisher routine is not enabled. 2022-01-05 19:12:43 +02:00
Mikael Nousiainen 8ee0383464 Merge branch 'master' into async-io-on-windows 2022-01-03 14:40:09 +02:00
Mikael Nousiainen a00d78c860 Implement pipes using asynchronous/overlapped I/O on Windows 2022-01-03 14:18:49 +02:00
Mike Black W9MDB 01b7f81119 Add a data tag to the caps structure and a test in rig_init to ensure the data tag is where it is expected
Modify testrigcaps.c to test new data tag
This should detect any changes which corrupt rig_caps from additons/subtractions/changes to the structure
2021-12-31 23:49:29 -06:00
Mike Black W9MDB 80188965a1 Comment out more async code 2021-12-29 22:28:32 -06:00
Mike Black W9MDB 05bed8f52e Add vfo_fixup to rig_get_mode 2021-12-28 23:50:32 -06:00
Mike Black W9MDB 99f964ed72 Add vfo_fixup to rig_set_mode 2021-12-28 23:20:57 -06:00
Mike Black W9MDB f5b229f9dc Re-enable serial_flush 2021-12-28 11:26:02 -06:00
Mike Black W9MDB 36859c33dc Fix rig_open 2021-12-28 07:49:45 -06:00
Mike Black W9MDB 045ab048f1 Remove more async code to clean up compiler warning for 4.5 2021-12-27 17:09:50 -06:00
Mike Black W9MDB 1518b8033c If -RIG_ENTARGET returns from set_freq it will be ignored
This will covers rigs that cannot set freq while transmitting like the FTDX3000 and FTDX5000
https://github.com/Hamlib/Hamlib/issues/906
2021-12-27 14:46:56 -06:00
Mike Black W9MDB 2fe9117639 Disable async processing and move async definitions out of hamlib_port_t
This broke backwards compatibility with DLL/shared libraries
2021-12-26 22:24:09 -06:00
Mike Black W9MDB 72dac9a573 Disable async startup code on Windows
Need a custom pipe function for Windows to work
https://github.com/Hamlib/Hamlib/issues/902
2021-12-25 12:33:32 -06:00
Mikael Nousiainen c764336e73 Fix build warnings caused by changes to I/O function signatures 2021-12-18 23:49:45 +02:00
Mikael Nousiainen 1d067d6a43 Merge branch 'master' into async-reader 2021-12-12 23:05:48 +02:00
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
Mike Black W9MDB 8ded4461c2 Fix export of cookie_use for DLL linkage
https://github.com/Hamlib/Hamlib/issues/710
2021-05-26 12:50:30 -05:00
Mike Black W9MDB d2f7957e8b astyle rig.c 2021-05-26 09:30:02 -05:00
Mike Black W9MDB ca6692c022 Reduce cache verbosity to only when DEBUG_CACHE is asked for
Fix rig_get_rig_info -- it was adding binary CRC to the result
2021-05-26 09:05:38 -05:00
Mike Black W9MDB f08881613e Change another ECONF to EINVAL
https://github.com/Hamlib/Hamlib/issues/650
2021-05-25 10:24:00 -05:00
Mike Black W9MDB 552fd6159b Change power2mw ECONF error to EINVAL
https://github.com/Hamlib/Hamlib/issues/650
2021-05-25 10:22:52 -05:00
Mike Black W9MDB 8e63ce7a36 Add multicast thread -- the intent is that this will always run
https://github.com/Hamlib/Hamlib/issues/695
2021-05-25 09:29:27 -05:00
Mike Black W9MDB 556304d455 Merge branch 'master' of https://github.com/Hamlib/Hamlib 2021-05-25 09:19:33 -05:00
Mike Black W9MDB 70482d0afa Add cookie_use flag
https://github.com/Hamlib/Hamlib/issues/695
2021-05-25 09:17:25 -05:00
Mike Black W9MDB 238265f2ac Initialize CM108 pathname, rigport, and pttport in rig_init too
https://github.com/Hamlib/Hamlib/issues/673
2021-05-24 07:31:02 -05:00
Mike Black W9MDB 54e3efb466 Change random() to rand in rig_cookie -- some compilers are complaining about random being undefined
https://github.com/Hamlib/Hamlib/issues/710
https://github.com/Hamlib/Hamlib/issues/695
2021-05-21 22:22:36 -05:00
Mike Black W9MDB 82c27e55ee Fix testcookie behavior on shared libary test
https://github.com/Hamlib/Hamlib/issues/695
2021-05-21 17:04:09 -05:00
Mike Black W9MDB 3d780676b5 Finish rig_cookie
Not implemented anywhere yet but functional
2021-05-21 15:39:41 -05:00
Mike Black W9MDB c3441551e6 Add symantec versioning to rig_info 2021-05-20 23:34:48 -05:00
Mike Black W9MDB c408d88b5e Increase sleep from 10ms to 50ms during set_ptt OFF
Some problems reported on Fake It mode in JTDX with rigs unable to set freq after PTT OFF.
2021-05-18 07:10:00 -05:00
Mike Black W9MDB b849e00e1d Fix caching error -- check value instead of pointer....duh....
https://github.com/Hamlib/Hamlib/issues/694
2021-05-09 13:47:21 -05:00
Mike Black W9MDB 102439be15 Change CRC to use all data by substituting CRC value with zeros 2021-05-06 23:58:15 -05:00
Mike Black W9MDB 805cd8e60b Move ant_rx ant_tx set to after NULL check in rig.c
https://github.com/Hamlib/Hamlib/pull/691#issuecomment-832918894
2021-05-05 15:14:51 -05:00
Mike Black W9MDB a56e976787 Add null checks in rig.c for ant_tx and ant_rx
astyle rig.c
2021-05-05 10:45:22 -05:00
Mikael Nousiainen 9e8ef6dc9e Fix rig_get_ant NULL check 2021-05-05 18:23:02 +03:00
Mike Black W9MDB 7f60e1fcb0 Fix dummy rig to recognize Main/Sub VFOS -- this fixes "M CW 500"
Fix rig.c set_mode to recognize curr_vfo correctly
https://github.com/Hamlib/Hamlib/issues/689
2021-05-04 14:35:34 -05:00
Mike Black W9MDB 78a697e582 Add rig_get_mode_bandwidths -- see NEWS
Return token set of bandwidths for given mode
2021-05-03 15:35:56 -05:00
Mike Black W9MDB fc37f0aeaf Add 10ms delay after rig_set_ptt to allow hardware ptt relays to do their thing
https://github.com/Hamlib/Hamlib/issues/686
2021-05-01 22:18:28 -05:00
Mike Black W9MDB 12683d4faf Add Version, App, and CRC tags to rig_get_info
This output will eventually be used for a multicast broadcast/receive capability
2021-04-30 07:37:07 -05:00
Mike Black W9MDB 81e3e2e5d2 astyle files 2021-04-29 17:23:37 -05:00
Mike Black W9MDB 4c09c2362e Fix rig_get_info to return "None" for VFO if needed instead of empty string
Should make parsing easier ensuring all are token pairs
https://github.com/Hamlib/Hamlib/issues/682
2021-04-28 06:44:10 -05:00
Mike Black W9MDB 2066bb38fd Change rig_get_rig_info to use cached values for VFOB when not targetable
https://github.com/Hamlib/Hamlib/issues/682
2021-04-27 17:32:10 -05:00
Mike Black W9MDB 5034bf4451 Make 1st token in get_rig_info a paired token too so all are A=B token pairs
https://github.com/Hamlib/Hamlib/issues/682
2021-04-27 13:14:54 -05:00
Mike Black W9MDB af499a979e Fix freqB on rig_get_rig_info
https://github.com/Hamlib/Hamlib/milestone/7
2021-04-27 12:13:15 -05:00
Mike Black W9MDB 6b13c6c3a3 New rig_get_rig_info function
Also get_rig_info in rigctld too
Example output with rig in split mode
This is a string return to allow for easy future expansion without changing the API
New tokens may be introduced and can be skipped if not used by clients
VFOA Freq=10133000 Mode=LSB Width=0 RX=1 TX=0
VFOB Freq=10134000 Mode=LSB Width=0 RX=0 TX=1
Split=1 SatMode=0
https://github.com/Hamlib/Hamlib/issues/682
2021-04-27 11:51:43 -05:00
Mike Black W9MDB 6c13951da8 Add satmode to rig_get_vfo_info
Add prototype for rig_get_rig_info
https://github.com/Hamlib/Hamlib/issues/682
2021-04-27 10:32:12 -05:00
Mike Black W9MDB 622257c367 Add vfo_fixup to get_vfo_info
https://github.com/Hamlib/Hamlib/issues/681
2021-04-27 09:43:05 -05:00
Mike Black W9MDB 64c2a4d4a9 Add TRACE statements to allow for better debug following top level rig calls 2021-04-27 09:36:27 -05:00
Mike Black W9MDB 19fb0e421d Change rig_set_split_mode to return RIG_OK when set_vfo and vfo_op are not available
For the FT-991 example there's no need to set mode on VFOB as there is only one mode for both VFOs
So if rig has neither of these we will assume VFOB mode does not need to be set
https://github.com/Hamlib/Hamlib/issues/684
2021-04-27 06:50:00 -05:00
Mike Black W9MDB 1d79b9e01c Fix icom \get_mode in non-vfo mode to stay on VFOB/Sub
https://github.com/Hamlib/Hamlib/issues/676
2021-04-23 17:43:54 -05:00
Mike Black W9MDB d0af094d39 Fix set freq on Sub VFO return to Main
https://github.com/Hamlib/Hamlib/issues/670
2021-04-23 11:01:17 -05:00
Mike Black W9MDB b0e006ce6c astyle files 2021-04-21 23:48:29 -05:00
Mike Black W9MDB aefe8c44b7 In rig.c if rig does not set get_split_vfo then return cached values
https://github.com/Hamlib/Hamlib/issues/654
https://github.com/Hamlib/Hamlib/issues/665
2021-04-18 11:35:35 -05:00
Mike Black W9MDB 8fe1615ccd Force Icom rigs to set VFOA as startup VFO
https://github.com/Hamlib/Hamlib/issues/665
2021-04-16 17:30:39 -05:00
Mike Black W9MDB 1bd795e297 Add vfo_fixup to rig_set_vfo
https://github.com/Hamlib/Hamlib/issues/665
2021-04-15 17:19:42 -05:00
Mike Black W9MDB 7d79b59bd7 When vfo twiddling is being done set_freq calls will be skipped
https://github.com/Hamlib/Hamlib/issues/664
2021-04-15 11:47:58 -05:00
Mike Black W9MDB 44925bbfca Fir rig.c rig_set_split_freq_mode to use VFOB/Sub as appropriate
https://github.com/Hamlib/Hamlib/issues/665
2021-04-14 23:06:00 -05:00
Mike Black W9MDB 73464a6c2e Fix IC910 behavior with gpredict -- also should fix some Main/Sub behavior elsewhere too
https://github.com/Hamlib/Hamlib/issues/657
2021-04-11 11:49:37 -05:00
Mike Black W9MDB 778758200e A more robust rigctld that can survive the rig disappearing and coming back again.
This means when a rigctld client sees RIG_EIO it can keep polling and will reconnect when the rig reappears.
2021-04-10 14:22:53 -05:00
Mike Black W9MDB 1d1259545a Change CHECK_RIG in rig.c to return RIGEIO instead of RIGEINVAL
This is a hard error and allows rigctld to reopen ports and not have to restart
2021-04-10 07:58:38 -05:00
Mike Black W9MDB 0981fa630d astyle files 2021-04-06 11:40:02 -05:00
Mike Black W9MDB 7d2a5078c4 Fix get_vfo_info when VFOA is requested without setting VFOA first
https://github.com/Hamlib/Hamlib/issues/648
2021-04-05 11:46:58 -05:00
Mike Black W9MDB bbc8e00074 astyle files 2021-04-04 12:50:07 -05:00
Mike Black W9MDB 92e40eca30 In rig.c reduce tx_range from ERR to VERBOSE -- it's not fatal at all
Was causing problems with powershell execution detecting the error condition
2021-04-03 10:32:43 -05:00
Michael Black W9MDB 0794e6e1e6 Merge branch 'master' of https://github.com/Hamlib/Hamlib 2021-04-02 08:04:37 -05:00
Michael Black W9MDB 33f299d16d Change get_vfo_info return VFOA cached mode/width when TARGETABLE_VFO is false
https://github.com/Hamlib/Hamlib/issues/643
2021-04-02 08:03:13 -05:00
Mike Black W9MDB 8e1fae4ea4 Fix rig_set_split_freq in rig.c -- was not setting freq at all for non-targetable rigs
https://github.com/Hamlib/Hamlib/issues/640
2021-04-01 08:02:49 -05:00
Mike Black W9MDB ac5a94a6f1 Fix debug statement in rig.c 2021-04-01 07:57:49 -05:00
Mike Black W9MDB ca090e258c Force rig_set_split_freq_mode to use VFOB
https://github.com/Hamlib/Hamlib/issues/640
2021-03-31 22:55:36 -05:00
Mike Black W9MDB ebbf96efac Fix spelling error in rig.c 2021-03-31 07:41:16 -05:00
Mike Black W9MDB 169c0ed2b5 Fix rig_set_split_vfo to use tx_vfo on non-vfo swap check
https://github.com/Hamlib/Hamlib/issues/640
2021-03-30 23:05:04 -05:00
Michael Black W9MDB 4135a65503 Add TARGETABLE_FREQ and TARGETABLE mode to IC7300 IC7610 IC7800 IC785X IC9700
This reduces VFO swapping during get_freq and get_mode operations
Log4OMV2 2.0.12 supports vfo mode using new get_vfo_info call
New debug level RIG_DEBUG_CACHE as it can get very verbose
https://github.com/Hamlib/Hamlib/issues/626
2021-03-26 10:54:11 -05:00
Michael Black W9MDB 86ca6de85f Change rig_get_freq call to use VFO_CURR instead of vfo to avoid looping
https://github.com/Hamlib/Hamlib/issues/625
2021-03-23 11:03:57 -05:00
Michael Black W9MDB cb9d2e064c Comment out loop logic in rig_set_split_freq_mode -- seems to causing a permanent loop -- why?
https://github.com/Hamlib/Hamlib/issues/625
2021-03-23 08:57:45 -05:00
Michael Black W9MDB b90cd8b8c7 Fix MainB caching
Satmode ops now maps Sub vfo to Sub_A
https://github.com/Hamlib/Hamlib/issues/620
2021-03-23 08:08:21 -05:00
Michael Black W9MDB ae3fef1e0c Disable set_ptt confirmation logic. Seems many rigs can't deal with it.
https://github.com/Hamlib/Hamlib/issues/623
2021-03-20 16:57:46 -05:00
Michael Black W9MDB 1224e9f6ba Move hamlibdatetime.h generation to src directory
https://github.com/Hamlib/Hamlib/issues/617
2021-03-19 23:14:13 -05:00
Michael Black W9MDB 6eee309b56 Improve rig_get_version and hamlib_version2 information to include commit information
https://github.com/Hamlib/Hamlib/issues/617
2021-03-19 22:56:18 -05:00
Michael Black W9MDB b9cc75c4a0 Remove all frequency verification as it seems to create problems on some rigs
https://github.com/Hamlib/Hamlib/issues/615
2021-03-18 15:40:32 -05:00
Michael Black W9MDB 30eaa78034 astyle rig.c 2021-03-18 08:16:06 -05:00
Michael Black W9MDB c7c5cd81bc In rig.c change RETURNFUNC calls with functions into separate lines
https://github.com/Hamlib/Hamlib/issues/615
2021-03-18 07:09:58 -05:00
Michael Black W9MDB ab59951e97 astyle files 2021-03-17 07:56:27 -05:00
Michael Black W9MDB 8817f12180 Fix rig_set_freq and set_cache_freq so if freq=0 cache is expired
https://github.com/Hamlib/Hamlib/issues/610
2021-03-15 22:55:45 -05:00
Michael Black W9MDB 3bc39aaec1 astyle files is preparation for 4.2 release 2021-03-15 17:51:22 -05:00
Michael Black W9MDB 1ba72fa725 Improve caching
https://github.com/Hamlib/Hamlib/issues/280
https://github.com/Hamlib/Hamlib/issues/606
2021-03-15 11:16:11 -05:00
Michael Black W9MDB d816d27c74 Fix FlRig conditon where 0Hz can be returned on a network error
Was returning a bad error code
If any rig returns 0 Hz freq will be returned from cache instead
I don't think there's anytime we want a zero Hz frequency
2021-03-12 09:02:26 -06:00
Michael Black W9MDB 198f1cb43e Remove some cache debug 2021-03-11 08:51:30 -06:00
Michael Black W9MDB 74a10af560 Increase msg size 2021-03-09 17:29:29 -06:00
Michael Black W9MDB 59dcb2e9b6 Remove RIG_TARGETABLE_PURE as it was not referenced in any rig
https://github.com/Hamlib/Hamlib/issues/414
2021-03-09 00:01:05 -06:00