Use double quotes for internal includes in files internal to Hamlib
Attempt to fix CodeQL issues and distcheck Python tests
Extend amplifier API with funcs, levels, parms, ops, status and Expert backend.
Update NEWS for split/VFO handling changes
Merge upstream and fix conflicts
Merge upstream and fix conflicts
Merge upstream changes and fix conflicts
Merge upstream changes and fix conflicts. Use snprintf() in most sprintflst.c functions to avoid buffer overflows.
Fix issues with Dummy rig VFOs. Fix Yaesu ST split command.
Merge upstream and fix conflicts
Allow split passband width changes without changing the mode
Fix dummy rig bugs. Improve FTDX101/FTDX10 ST split command logic.
Fix dummy rig bugs. Improve FTDX101/FTDX10 ST split command logic.
Print integer level range
Merge branch 'master' into streamline-vfo-targeting-and-split-functionality
Fix multicast publisher write commands to use a mutex lock to prevent corruption in (spectrum) data written with multiple write() calls. Remove unnecessary hl_usleep() calls in Icom backend, as the frame parser will correctly detect transceive messages.
Merge branch 'master' into streamline-vfo-targeting-and-split-functionality
Fix bugs in dummy rig. Report errors (incl. timeouts) from icom_get_powerstat(), because the timeout reason is often something else than rig being powered off. Check for power status changes in rigctld/rigctl command loops.
Fix issues in VFO targeting. Allow IC-9700 to target Sub receiver (requires VFO swapping).
Merge branch 'master' into streamline-vfo-targeting-and-split-functionality
Simplify/streamline split VFO handling, especially in the Icom backend. Detect reverse split automatically at startup for Icom rigs.
Fix issues found during testing
Merge branch 'hamlib-multicast-4' into streamline-vfo-targeting-and-split-functionality
Unify and streamline Icom backend logic for freq/mode and split commands. Allow use of targeted freq/mode whenever possible. Move certain Icom-specific caps to the icom_priv_caps struct to remove rig-specific conditions in generic backend code.
Merge branch 'hamlib-multicast-4' into streamline-vfo-targeting-and-split-functionality
Merge branch 'master' into streamline-vfo-targeting-and-split-functionality
Merge master and fix conflicts
Cleaning up and unifying the Icom backend
Streamline VFO targeting and split functionality. Rewrite Icom backend routines to always avoid VFO swapping is the rig supports the 'targetable' commands 0x25 and 0x26. Work in progress.
Fix conflict
Detect also VFO changes in poll routine and allow detection of multiple changes at once. Remove old unused code.
List all available VFOs in multicast state snapshot packets
Add more detailed rig communication status to rig_state and multicast state data packets. Handle SIGINT and SIGTERM in a consistent way in both rigctl and rigctld.
Merge master and fix conflicts
Fix multicast receiver shutdown by using non-blocking sockets and select(). Use the same port number 4532 for both state snapshots and commands -- it is enough to have different multicast groups for them. Publish multicast state snapshots more often (change detection interval now set to 50ms), but at least at interval defined by poll_interval.
Bind multicast receiver to INADDR_ANY on Windows, because binding to multicast group IPs doesn't seem to work. Use a different port number for (4351) multicast receiver commands to avoid multicast publisher packets ending up in the receiver (loopback issue).
Comment out SO_REUSEADDR for now
Fix socket option again
Fix warning
Fix socket option
Join multicast group to enable UDP packet reception
Refactor multicast publisher and rig poll routine. Create skeleton for multicast command server.
Bump version for FT-710
Fix more FT-710 issues and implement the new CF clarifier command
Add ft710.h
FT-710 fixes, part 1
Fix FIFO pop() sign issue and clean up morse data handler code
Merge master and fix conflicts
Improve Icom power status handling. Add auto power on/off to netrigctl.
Fix issues with power status handling in rigctl+rigctld and the Yaesu backend
IC-746 and IC-756ProII+III support AGC_TIME
Merge master and fix conflicts
Fix power on/off bugs: rig_open() should succeed even if rig is powered off, auto power-on should not be automatically enabled (prevents turning rig off), fix Kenwood and Yaesu power on/off sequences for all rigs
Set default timeout_retry value to 1 and allow per-rig override of the setting. Disable timeout_retry during serial flush to avoid slowing down flushes.
Merge master
More fixes to command 0x25 logic
Make retries in case of read timeout optional and configurable via set-conf option. When not absolutely necessary, they will significantly slow down flushing and normal serial communications with a rig
Fix read timeout retry logic
Add flushing of rig port, including async data pipes, after \send_raw and \send_cmd to drain any extra rig responses
Fix bugs in \send_raw command and add possibility to specify any command terminator character. Add \stop_morse to Dummy rig.
Fix x25cmdfails logic to allow failure detection only once. Subsequent failures after an initial successful use of command 0x25 will not prevent use of the command.
Fix use of uninitialized variable
Change float level granularity formatting to use %f to avoid E notation. Fix AGC_TIME level range for Icom rigs. Fix listing of AGC levels in \dump_caps. Add \stop_morse and \wait_morse in \dump_caps. Add simulation of responses in \send_cmd_rx and \send_raw for dummy rig (and if rig port type is NONE). Fix other minor issues.
Fix and extend TS-590(S/SG) backend
Disable rig port flushing when async I/O is enabled. Improve validation of Icom frames.
Fix Kenwood TS-2000 bugs and implement essential commands for remote control
Fix warning message for allowed commands when rig is powered off
Fix handling of the new EPOWER error code: do not re-open rig and fix/extend allowed commands when rig is powered off. Fix Yaesu newcat backend to not try to call rig ID command during command validation.
Fix current and split VFO frequency handling for Kenwood TM-D710(G). Use CTRL VFO in the rig for denoting current VFO and PTT VFO for split VFO.
Use the correct max RX lengths for min/max reads for Kenwood to avoid timeouts
Fix Icom dual watch set command. Make rotator macro name buffer larger, as the macro names are longer than the space allocated.
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.
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.
Remove comments added during debugging
Allow async I/O for Icom SDR rigs, mainly for waterfall spectrum data support. Async I/O is still turned off by default and needs to be enabled via a conf option.
Merge branch 'master' into async-reader
Started work on asynchronous reader thread to enable handling of rig tranceive and waterfall data (WIP)
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.
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.
Merge upstream changes and fix conflicts
Merge branch 'master' into async-reader
Fix build warnings caused by changes to I/O function signatures
Add some info about disabling cache timeouts
Merge upstream changes and fix conflicts
Fix compiler warnings
Merge upstream changes and fix conflicts. Update NEWS.
Improve multicast UDP snapshot data documentation
Implement pipes using asynchronous/overlapped I/O on Windows
Merge branch 'master' into async-io-on-windows
Allow enabling of async data mode via conf option. Ignore multicast data publishing if the publisher routine is not enabled.
Fix typo in conf parameters documentation
Add spectrum scope caps for dummy rig. Fix duplicate definition for IC-785x.
FT-450(D): Add S-meter, RF power meter and fix vox gain scale. The S-meter scale, while not perfect, is at least close to what the rig displays.
Implemented initial abstraction for spectrum scope data and support for Icom spectrum data output. The abstraction is based on common features of both Icom and Kenwood rigs. Added TRANSCEIVE func and enumeration of supported AGC levels. Work in progress.
Merge branch 'master' into initial-spectrum-scope-support
Implement Icom rig levels: SPECTRUM_EDGE_LOW and SPECTRUM_EDGE_HIGH
Add SPECTRUM_ATT level (also supported by Kenwood rigs). Get VFO frequency for Icom spectrum edge ranges (if not cached). Fix preamp levels based on docs. Add supported AGC levels to recent Icom rigs.