Commit graph

1161 commits

Author SHA1 Message Date
Jon Snow
379cf42746
Merge branch 'Hamlib:master' into master 2026-07-26 22:17:16 -04:00
Jon Snow
00ce86d038
Merge branch 'Hamlib:master' into master 2026-07-24 21:38:46 -04:00
Nate Bargmann
36b4503872
Merge GitHub PR #2105 2026-07-24 20:29:51 -05:00
David Christle
cf3fcc4b8a
fix(debug): prevent race in debug history capture
Concurrent calls to rig_debug() could use the same temporary buffer
and corrupt the saved debug history.

Give each call its own buffer and update the shared history under the
existing mutex.
2026-07-23 22:32:22 -05:00
Christoph Berg
3840e1ed84 IC-7610, IC-7760: Implement SYNC
\set_func SYNC is called "Tracking" in the IC-7610 main menu.
2026-07-21 17:48:28 +02:00
Jon Snow
ac05900450 add PR comments, change rig and folder name 2026-07-12 13:38:06 -04:00
Jon Snow
064828f410 ATS Mini basic functionality 2026-07-04 16:15:57 -04:00
George Baltz N3GB
1d549a58c5 Remove morse_mutex
It was never used as a real mutex, since nobody but morse_data_handler
  ever really held a lock on it; it was tested, but only to short-circuit
  some queries to use cache.
It was also in static storage so it was not rig-specific, and in a shared
  object but never initialized for sharing.

Thread contention is handled by rig_lock().
2026-06-02 11:47:31 -04:00
George Baltz N3GB
065c700f51 Fix a few doxygen typos 2026-05-02 10:43:48 -04:00
George Baltz N3GB
cfc4f689a4 Clean up some comments in rig.h 2026-04-28 10:32:27 -04:00
George Baltz N3GB
2e3e6d1bcd Move '#include <pthread.h>' from rig.h into .h files that actually use it. 2026-04-28 10:32:27 -04:00
George Baltz N3GB
7ab9d9f8e5 Move multicast internals out of rig.h into multicast.h
This data (I think) was part of multicast V1, and doesn't seem to be used any
  more. Since neither V1 or V2 are enabled, there should be no external
  conflicts.
2026-04-28 10:32:27 -04:00
Leo Pizzolante
2691e10cee
Add Hamgeek uSDX 2026-04-24 17:40:34 +02:00
Nate Bargmann
d800469dff
Add missing Doxygen close tag in riglist.h 2026-04-11 08:15:06 -05:00
Nate Bargmann
4f4507fa8c
Merge branch 'master' into PRC138 2026-04-10 17:21:52 -05:00
Rega57
f880cac0ad Add support for Harris PRC-138
This is the first implementation of basic funtionality of Harris PRC-138.
2026-03-29 17:28:25 +02:00
Dhiru Kholia
debe6fcaf9 Add support for rigs using the 'Simple CAT' protocol
See 'rigs/simplecat/SIMPLE_CAT_PROTOCOL.md' for the protocol spec.

Notes:

- Memory correctness checks were done using Valgrind.

- Tested with wsjtx-3.1.0_improved_PLUS_260228.tgz (with mods) and
  Bunzee Labs' DDX HF Digital Transceiver

  https://bunzee-labs.com/products/ddx

Tested on:

- Ubuntu Linux
- macOS Tahoe
- Windows 11
2026-03-25 17:42:32 +05:30
George Baltz N3GB
8a55457869 Cleanup - update NEWS and comments 2026-02-23 11:50:58 -05:00
George Baltz N3GB
97a005d52e The big cut - Remove all old embedded structures
Drop all fixed structures in RIG and state. Clean out old definitions,
  purge all references to same.

Undo the other conflicts in amp_state.h
2026-02-23 11:15:46 -05:00
George Baltz N3GB
be6b0086eb Mark more deprecated stuff for exclusion and removal
Also mark the bindings that will no longer need to be ignored.
2026-02-23 11:12:15 -05:00
George Baltz N3GB
8137485f91 Start adding needed(smaller) #includes
Compile with both NO_OLD_INCLUDES and NO_OLD_STRUCTS and
  repair the fallout. So far we're down to rigs/dummy/.

And fix formatting in rig_state.h
2026-02-23 11:12:14 -05:00
George Baltz N3GB
7a1a0d35ec And finally, the amplifiers
Resolve conflicts with new amp code/
Why move the ampport, rather than adding stuff after it???
2026-02-23 11:10:20 -05:00
George Baltz N3GB
2b3bb97dbf Convert rotators to heap storage
Just like the rigs
2026-02-23 11:02:34 -05:00
George Baltz N3GB
b01914aa3c Mark some data as private and not safe for applications
The pointers may move, or the method to get the address may change.
2026-02-23 11:02:34 -05:00
George Baltz N3GB
4b42f98078 Mark and #ifndef old structures that will disappear
Prepare for deprecation and removal of old embedded structures.

Note that the parameters NO_OLD_STRUCTS and NO_OLD_INCLUDES are
  temporary, and will be removed before 5.0 is released.  They are
  for test compiles to work through the codebase incrementally, so
  no compiler errors/warnings are generated by any committed/merged
  code during default builds.
2026-02-23 11:02:34 -05:00
George Baltz N3GB
02ea4af572 Move rig_state to heap storage.
Allocate and free it.
For access apps must
1) #include <hamlib/rig_state.h>  and
2) Use HAMLIB_STATE(rig) to get the address

Also fix a couple of misuses of STATE() macro.
2026-02-23 11:02:34 -05:00
George Baltz N3GB
a475d697aa Deprecate ports in rig_state struct
Mark all ports in struct rig_state as deprecated.
Remove them from the bindings.
2026-02-23 11:02:34 -05:00
George Baltz N3GB
0fc8954a09 Use heap storage for all rig ports
Allocates and frees buffers for CAT, PTT, and DCD.
Does *NOT* copy anything from STATE(rig)->rigport, so only works if
a) app uses rig_set_conf()   or
b) app uses HAMLIB_...() macros
2026-02-23 11:02:34 -05:00
Mikael Nousiainen
a526eb6bbc Extend amplifier API with funcs, levels, parms, ops, status and Expert backend.
Add new amp_caps fields (funcs, levels, parms, ops, status, freq ranges, input/ant)
with corresponding frontend API functions, ampctl commands, and dumpcaps
support. Implement Expert 13K-FA/15K-FA/2K-FA amplifier backend. Extend
dummy backend with full coverage of all new API features.
2026-02-17 15:54:00 +02:00
George Baltz N3GB
1c541ef5ae Update status of macro use for buffers
There's no going back now.
2026-02-01 21:15:54 -05:00
George Baltz N3GB
468a299924 Add Icom IC-7300MK2
Add baseline support for MK2 version, same as original
Differences:
  - Default CI-V address 0xB6
  - Status Beta
2025-12-31 05:34:32 -05:00
Martin
d997bbd7b1 add Icom ID-52A/E Plus 2025-12-08 21:38:49 +01:00
George Baltz N3GB
a5ecc6f0b1 Remove last traces of HAMLIB_PARAMS 2025-12-06 15:14:24 -05:00
George Baltz N3GB
b0f73d4ce7 And modernize rotator.h 2025-12-06 15:14:24 -05:00
George Baltz N3GB
f434746cea ANSIfy amplifier.h 2025-12-06 15:14:24 -05:00
George Baltz N3GB
845f60c82e Remove support for non-ANSI C compilers.
All functions in rig.h now always have full prototypes.

The gotcha in here was needing to move the prototype for rig_debug()
  to before the definition of the macro with the same name. Previously
  with the HAMLIB_PARAMS wrapper, the signatures didn't match; without
  it the compiler tried to expand the name in the prototype as the macro,
  causing syntax errors.
2025-12-06 15:14:24 -05:00
George Baltz N3GB
8bd19c4db8 Change pseudo-anonymous structure name to convention. 2025-09-27 15:56:31 -04:00
George Baltz N3GB
2283473707 Move FIFO_RIG from hamlib/rig.h to fifo.h where it belongs.
Add header to fifo.h
Update structure pointer in rig_state
2025-09-27 15:56:31 -04:00
Daniele Forsi IU5HKX
44eaded283 Fix Doxygen description 2025-09-25 00:13:08 +02:00
Daniele Forsi IU5HKX
50fc454a0b Remove duplicated define
Fixes:
../include/hamlib/rotlist.h:237: Warning 322: Redundant redeclaration of identifier 'ROT_MODEL_RT21' ignored,
2025-09-24 20:42:13 +02:00
George Baltz N3GB
11ca438222 Deprecate rig_get_trn() and rig_set_trn()
They have been marked as deprecated in doxygen for years.
They both do nothing but return -RIG_EDEPRECATED.

Remove them from the bindings.
AFAICT adding them to bindings/ignore.swg has no effect.
2025-09-13 21:37:25 -04:00
George Baltz N3GB
7e572fcdd0 Rename spaces() -> hl_stars()
Resolves conflict with function of same name in cqrlog.
Makes future conflicts less likely.
Add it to doxygen.
2025-09-13 21:37:25 -04:00
George Baltz N3GB
f7a127dbdc Doxygen updates. 2025-09-13 21:37:25 -04:00
Nate Bargmann
0f871a5a3e
Update Doxygen comments for rigerror() and rigerror2()
Add a new topic of "Hamlib internals" with the group of lib_internal.

Address GitHub issue #1881.
2025-09-06 18:13:12 -05:00
George Baltz N3GB
df65ceee67 Start removing conditional pthreads use.
We can treat HAVE_PTHREAD and HAVE_PTHREAD_H as equivalent. But using
_PTHREAD_H is a real kludge.
2025-08-24 19:53:44 -04:00
Daniele Forsi IU5HKX
897e59ef0e
Fix comment to be relevant to the parm 2025-08-18 08:03:44 -05:00
Daniele Forsi IU5HKX
3c391a696d Fix misleading order in comment and add UNKNOWN 2025-08-16 11:52:55 +02:00
Daniele Forsi IU5HKX
caf7346fc0 Fix typos 2025-08-16 11:52:55 +02:00
George Baltz N3GB
0e36d4faa4 Mangle names of structure members to avoid clash with perl keywords. 2025-08-13 09:30:59 -04:00
Daniele Forsi IU5HKX
8e4bcbcede Add another cross-reference in a Doxygen comment 2025-08-09 15:57:40 +02:00