Mikael Nousiainen
664604f7b6
Make icom_rig_open() fail in case rig_set_powerstat() failure is auto_power_on is requested. Exit rigctld client loop if process is interrupted.
2022-01-23 11:49:16 +02: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
c2cb94e412
Change sprintf to snprint in tests
...
https://github.com/Hamlib/Hamlib/issues/857
2022-01-11 00:00:44 -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
56c95b1529
Merge upstream changes and fix conflicts
2021-12-12 23:05:26 +02:00
Daniele Forsi IU5HKX
c6fbc8e682
The -M option needs an argument like its long version "multicast-addr"
2021-12-04 10:57:41 +01: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
12f7bb4d8f
Change getnameinfo to return numeric IP instead of hostname to avoid Windows long delay on reverse lookups
...
https://github.com/Hamlib/Hamlib/issues/873
2021-11-20 11:52:39 -06:00
Mike Black W9MDB
9671a26858
Add mutex back to rigctld. Migrating to mutext locks on all rig functions
...
https://github.com/Hamlib/Hamlib/issues/695
2021-09-21 23:30:45 -05:00
Mike Black W9MDB
53b67d24ec
Fix Startup information in rigctl and rigctld
2021-08-29 23:32:29 -05:00
Mike Black W9MDB
9f0d5951cb
Move Startup message after debug_set_level in rigctld.c
2021-08-28 09:53:19 -05:00
Mike Black W9MDB
283281c4cb
astyle all files preparing for 4.3 release
2021-08-26 06:49:24 -05:00
Mike Black W9MDB
5cab1acc0d
In rigctld do not try to close fsockin/fsockout when null -- happens during error on fsockin or fsockout
...
https://github.com/Hamlib/Hamlib/issues/757
2021-08-05 07:50:15 -05:00
Mike Black W9MDB
75687ea273
Show startup arguments for rigctl and rigctld
2021-06-28 10:11:29 -05:00
Mike Black W9MDB
dd2ed945fd
Change default multicast to 0.0.0.0 for now until implemented and tested
...
https://github.com/Hamlib/Hamlib/issues/695
2021-06-21 16:52:27 -05:00
Michael Black
c4e6ed39e6
Merge pull request #715 from mikaelnousiainen/fix-icom-transceive-and-spectrum-data-conflicts
...
Attempt to handle asynchronous rig output data in Icom backend
2021-05-31 08:31:42 -05:00
Mikael Nousiainen
3a67356bc1
Add some comments and improved debugging on SIGIO async data handling
2021-05-31 16:22:22 +03:00
Mike Black W9MDB
fabec4a94c
Improve rig_open error msg in rigctl.c and rigctld.c
2021-05-30 06:48:12 -05:00
Mike Black W9MDB
3e4ff69b96
Add multicast_item_e and change multicast_server API
...
https://github.com/Hamlib/Hamlib/issues/695
2021-05-23 07:40:08 -05:00
Mike Black W9MDB
cc1f277e5f
Beginning of multicast capability
...
https://github.com/Hamlib/Hamlib/issues/695
2021-05-19 13:17:46 -05:00
Mike Black W9MDB
fdf1f7f6f0
Fix newline in help in rigctld.c
2021-05-17 00:05:16 -05:00
Mike Black W9MDB
9902ec796c
Reduce rigctld verbosity when using direct commands from rigctl client
...
https://github.com/Hamlib/Hamlib/issues/690
2021-05-09 15:16:23 -05:00
Mike Black W9MDB
974d978eaa
Eliminate debug msg from rigctld.c
2021-04-12 08:33:58 -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
6901bb1cda
Remove vfo_mode printout
2021-04-09 15:16:41 -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
Mikael Nousiainen
90112b5769
First attempt at fixing rigctl_parse return values and unnecessary rig re-open cycles
2021-03-16 23:39:35 +02:00
Michael Black W9MDB
94e51bfa24
rigctld.c add retry of rig_open with an IO error
...
https://github.com/Hamlib/Hamlib/issues/560
2021-03-07 09:03:37 -06:00
Michael Black W9MDB
1fcb9404b9
More changes to support macro renaming
2021-03-06 14:59:57 -06:00
Michael Black W9MDB
f88c3f4a4c
Fix mingw compilation errors on new rig_debug macro
2021-03-05 12:03:40 -06:00
Michael Black W9MDB
ee60a68bec
astyle files
2021-02-28 09:46:01 -06:00
Michael Black W9MDB
529685ab69
Disable rigctld error check with rig_close/rig_open -- more investigation needed
...
https://github.com/Hamlib/Hamlib/issues/556
2021-02-20 10:24:08 -06:00
Michael Black W9MDB
185a938a76
Add twiddle_timeout and twiddle_rit --set-conf options
...
rigctld --set-conf=twiddle_timeout=5,twiddle_rit=1
This will set the twiddle timeout to 5 seconds and turn on twiddle_rit
For twiddle timeout VFOB will not be poller for 5 seconds after VFO twiddling is detected. For RIT VFOB get_freq is suppressed and returns the cached value only (set_freq on VFOB still works).
rigctld --twiddle is deprecated and will be removed in 5.0
https://github.com/Hamlib/Hamlib/issues/444
2021-02-18 11:15:02 -06:00
Michael Black W9MDB
06723c959b
Limit the error retry in rigctld.c to 4 times
...
https://github.com/Hamlib/Hamlib/issues/551
2021-02-18 06:48:06 -06:00
Michael Black W9MDB
c717bb5d76
Improve -V version info
2021-01-25 22:24:57 -06:00
Michael Black W9MDB
1b89407a8d
Fix compilation of rigctld.c on mingw
2021-01-24 17:19:58 -06:00
Michael Black W9MDB
2be172ac4e
Improve robustness of rigctld
...
Now retries opening indefinitely
Improved client side too
Error message should now show timeout if rig disappears
2021-01-24 10:51:19 -06:00
Michael Black W9MDB
948e9d5f99
astyle files
2020-10-23 11:36:42 -05:00
Michael Black W9MDB
4e748df12b
Add -x/--uplink switch for GPredict. Will avoid reading freq from the uplink VFO 1=Sub, 2=Main
...
This will likely deprecate the twiddle option
https://github.com/Hamlib/Hamlib/issues/404
2020-10-23 11:34:42 -05:00
Michael Black W9MDB
d4e1e91272
Fix rigctl -W and --twiddle_timeout
2020-10-22 16:04:53 -05:00
Michael Black W9MDB
f52007d02d
Fix twiddle short command
2020-10-20 16:20:05 -05:00
Bill Somerville
f38ee5c6f1
Ensure old hamlibdatetime.h headers in the source dir are ignored
2020-10-17 02:31:17 +01:00
Michael Black W9MDB
275db971cd
Remove sleep on rigctld EOF -- don't think it's really needed
...
https://github.com/Hamlib/Hamlib/issues/366
2020-09-07 08:53:39 -05:00
Michael Black W9MDB
f454cff0b7
Add check for -s switch on all utils to ensure integer is entered
2020-07-01 08:52:44 -05:00
Michael Black W9MDB
ac1f990474
Remove AI_CANONNAME from rigctld.c
...
Didn't work with simple "rigctld" and no -T
https://github.com/Hamlib/Hamlib/issues/298
2020-06-22 09:52:08 -05:00
Michael Black W9MDB
a3c4eb9ee0
Fix cppcheck warnings
2020-06-21 22:31:31 -05:00
Michael Black W9MDB
e092a4a0a4
rigctld -T ::1 now works with rigctl -r ::1
...
More IPV6 testing needed on Windows and MacOS
Still not binding to link local addresses to be addressed next
https://github.com/Hamlib/Hamlib/issues/29
2020-06-21 17:47:04 -05:00
Michael Black W9MDB
afeb77e6d2
rigctld will now return either PTT_NONE or PTT_RIG_MICDATA to rigctl client
...
https://github.com/Hamlib/Hamlib/issues/259
2020-05-31 22:33:56 -05:00
Michael Black W9MDB
1dc461966d
Fix rigctld ptt_type to correctly reflect DTR/RTS
...
Might need to do this with some other values too
github.com/Hamlib/Hamlib/issues/270
2020-05-31 16:42:56 -05:00
Michael Black W9MDB
ff4882f1cd
Remove debug from rigctld.c
2020-05-30 11:13:40 -05:00
Michael Black W9MDB
19263cb249
Add last commit info to rigctld.c
2020-05-28 11:14:48 -05:00
mdblack98
8c73836b48
Fix cppcheck warnings in rigctld.c
2020-05-05 09:29:30 -05:00
mdblack98
bf1a05084d
astyle files
2020-05-03 17:24:42 -05:00
mdblack98
0bd52c259d
Add a bit more debug to rigctld.c
2020-05-03 17:06:34 -05:00
mdblack98
2fcecd7d7f
Remove debug from rigctld.c
2020-05-02 07:42:09 -05:00
mdblack98
9e710156e3
Add ability for rigctld client to turn vfo mode on/off with (,)
...
https://github.com/Hamlib/Hamlib/issues/232
Add caching of some limited rig information
Can be adjusted or turned off with rig_cache_set_timeout_ms or in rigctl with \set_cache_timeout
https://github.com/Hamlib/Hamlib/issues/228
2020-05-01 12:03:54 -05:00
mdblack98
81c21ee314
Reduce debug info in rigctl_parse.c and rigctld.c
2020-04-30 16:52:11 -05:00
mdblack98
b75a29f795
Fix braces in rigctld.c
2020-04-22 12:37:56 -05:00
mdblack98
3feaddfd73
Still working on Flex problem...
...
Adding debug to figure out why vfo_mode doesn't work with rigctl/rigctld
2020-04-22 11:47:56 -05:00
mdblack98
cae85c6dbe
Improve debugstatement in rigctl_parse.c
2020-04-21 12:52:40 -05:00
mdblack98
cefa092350
Change rigctld main loop to continue on EOF
2020-04-21 11:31:22 -05:00
mdblack98
1aef1c6285
Let rigctl_parse return when EOF is detected
2020-04-21 10:34:42 -05:00
Michael Black W9MDB
ff79dc800c
Adding debug to chase down Flex problem disconnect on profile change
2020-04-21 07:51:47 -05:00
Michael Black
ee87d5e6df
Fix buffer overrun in all utilities
...
Change MAXCONFLEN to 1024 bytes for some future proofing
2020-04-01 14:51:50 -05:00
Michael Black
bda5feb1bd
More cppcheck changes
2020-03-23 10:13:02 -05:00
Michael Black
6d9c81cf6a
A couple minor edit changes
2020-03-17 22:54:29 -05:00
Michael Black
7f9bbde383
Improve vfo switch message a bit
2020-03-16 14:23:40 -05:00
Michael Black
4150f12f36
Suppress unimportant error in rigctld.c
2020-03-15 16:31:19 -05:00
Michael Black
33babeaeff
Fix rigctdl multiple connections
2020-03-15 16:19:43 -05:00
Michael Black
35fffc4f38
astyle files
2020-03-15 15:32:46 -05:00
Michael Black
e4058156b1
Change rigctld to keep the rig open all the time
...
When a single client connects/disconnecta/connects it takes a bit too long to open the rig sometimes
2020-03-12 12:06:06 -05:00
Michael Black
18cc118443
Change -W switch to -X
2020-02-24 22:56:18 -06:00
Michael Black
8b462a0242
Add set_twiddle and get_twiddle functions
...
Add -W switch to rigctld to set twiddle timeout..don't need switch for rigctl since it can set from there with \set_twiddle
2020-02-24 09:34:02 -06:00
Bill Somerville
376b328ecb
Report unrecognised PTT and DCD types in rigctl and rigctld
2020-01-26 11:31:40 +00:00
Bill Somerville
99e1948cd3
Made PTT and DCD options consistent between rigctl and rigctld
2020-01-26 10:46:57 +00:00
Michael Black
c8eaf13a3d
Readding rigctld.c accidental removal
2019-12-25 07:58:19 -06:00
Michael Black
4e5e533248
Fix cppcheck warnings
2019-12-24 15:48:36 -06:00
Michael Black
a401d3ac78
Fix memory leak in rigctld and cleanup debug
2019-12-20 11:22:09 -06:00
Michael Black
1dbd633d5a
Missed semicolon
2019-12-19 18:05:23 -06:00
Michael Black
2703423b72
Think I got the fd socket leak on windows fixed now
2019-12-19 18:03:02 -06:00
Michael Black
bfe28e8032
Fix fd leak with fsockout
2019-12-19 17:09:18 -06:00
Michael Black
fb73e5abd7
Fix some cppcheck warnings
...
Fix declarations after statements
Remove some !rig checks...we either don't need them or need them everywhere with a new error code
If you pass a NULL rig you get what you deserve :-)
2019-12-09 17:12:13 -06:00
Michael Black
dc3f33bc11
Change %z to %d with casts for portability
2019-11-30 13:05:21 -06:00
Michael Black
c69502e11c
Fix rigctld for win32 build
2019-11-30 10:27:49 -06:00
Michael Black
6bf3b00c4f
astyle all files
2019-11-30 10:19:08 -06:00
Michael Black
2f4d62709e
Added a dummy snprintf to rig_debug to allow gcc to check format strings
...
This found tons of errors in rig_debug statements
So this patch cleans up all the files that were producing warnings or errors
This should fix a few segfaults when running with debug turned on
2019-11-30 10:04:31 -06:00
Bill Somerville
d931bd4e18
Move unnecessary global and file static variables to the stack
2019-08-29 00:39:39 +01:00
Michael Black
3dce8b01d1
Make rigctld thread safe for vfo_mode and ext_resp and change other globals to thread_local for future reference
2019-07-31 16:03:46 -05:00
Michael Black
ad8a01f18d
netrigctl can now do vfo mode -- has automatic detection of rigctld vfo mode
...
rigctl automatically detects vfo mode of rigctld
rigctli and rigctld recommend vfo mode if not selected
2019-02-05 12:05:51 -06:00
Michael Black W9MDB
35a28884f9
Fix -Z option on rigctld
2018-04-25 17:48:14 -05:00
Michael Black W9MDB
6c369109e6
Add debug time stamps via -Z and --debug-time-stamps
2018-04-15 15:06:52 -05:00
Michael Black W9MDB
ca85f4740c
Allow rigctld to reopen after error
2018-03-27 16:13:37 -05:00
Bill Somerville
489564a1af
Make rig_open() call in rigctld lazy and add graceful termination
...
Because some rigs lock their front panel when opened for CAT it is
helpful to call rig_close() in rigctld when no clients are
connected. This change does that.
A CTRL+C handler is also added to allow rig_close() to be called
during exit.
2018-03-12 19:47:45 +00:00
Nate Bargmann
b692fb22ef
Formatted tests/ to final coding guidelines
2017-10-06 18:58:42 -05:00
Nate Bargmann
d489b8bcb5
Apply formatting to 'tests/' directory
...
Format per style guide.
2017-08-10 05:46:12 -05:00
Michael Black W9MDB
cab7eb1647
Fix FT-891/991 behavior with WSJT-X
...
Separate FT-891 features
Fix rigctl and rigctld to not abort on function not available
Change Yaesu detection of FA length to automatic method instead of rig specific
2017-06-27 16:48:44 +01:00
Bill Somerville
2828422e92
Stop rigctld and rotctld crashing when service threads cannot write to clients
...
Although there is no reasonable recovery from SIGPIPE we do not want
to terminate the server process, just the client servicing thread. We
do this by setting the disposition for SIGPIPE to ignored, this causes
an EPIPE to be returned from blocked write() and send() calls that end
up trying to send to a broken pipe/socket.
2017-05-22 21:56:41 -05:00
Nate Bargmann
4595f77f99
Touch up rigctld.c and rotctld.c with astyle
...
Prior reformat had only been a reindent with Emacs. Now use astyle.
2016-02-14 18:05:55 -06:00
Nate Bargmann
9b45fce776
Reformat rigctld.c and rotctld.c
...
Several lines in each file benefitted from formatting so just reformat
the entire files into Linux C Style.
2016-02-12 20:46:38 -06:00