Commit Graph

5940 Commits (ms-hamlib-no-timeout)

Author SHA1 Message Date
Mooneer Salem 6cc55fcbaf Update comment. 2025-06-03 19:25:42 -07:00
Mooneer Salem b332678382 Add PR #893 to changelog. 2025-06-03 19:24:28 -07:00
Mooneer Salem 6baaea54fa Merge branch 'master' into ms-hamlib-no-timeout 2025-06-03 19:05:37 -07:00
Mooneer Salem 4ff96a07fc latest user manual PDF 2025-06-04 01:27:59 +00:00
Mooneer Salem 9e7de2a939
Merge pull request #896 from drowe67/merge-2.0-with-master
Merge v2.0-dev with master
2025-06-03 18:25:03 -07:00
Mooneer Salem 8099a335d8 Update month on changelog. 2025-06-02 22:09:54 -07:00
Mooneer Salem db08796ae5 RADE voice quality is slightly worse than Skype. 2025-06-02 19:45:49 -07:00
Mooneer Salem 1d70a8ac8f Merge branch 'v2.0-dev' into merge-2.0-with-master 2025-06-02 13:03:19 -07:00
Mooneer Salem 44b3f52d9d
Fix compiler errors reported by other users (#909)
* Fix utf8_str compiler error reported by users when using wxWidgets 3.0.

* Bring back RIGCAPS_NOT_CONST check to keep things compiling on distros still on Hamlib 4.5.
2025-06-02 13:02:57 -07:00
Mooneer Salem b23d07cffd Update squelch info re: RADE. 2025-06-01 13:53:55 -07:00
Mooneer Salem 10abe4c4fe Further cleanup of the README file. 2025-06-01 13:44:10 -07:00
Mooneer Salem 302081199e Update user manual to remove legacy modes. 2025-06-01 13:31:58 -07:00
Mooneer Salem dd06209237 Remove LPCNet content from README. 2025-06-01 08:42:04 -07:00
Mooneer Salem c3471c4269 Merge branch 'v2.0-dev' into merge-2.0-with-master 2025-06-01 00:30:22 -07:00
Mooneer Salem 2fcc6aa379
Additional unit test reliability improvements. (#905)
* Additional test change.

* Try reverting some changes to see if we can find root cause.
2025-06-01 00:30:00 -07:00
Mooneer Salem f18ecce751 Sync up with release Google Doc. 2025-05-31 19:09:05 -07:00
Mooneer Salem 96b72fd8b2 Reenable previously disabled tests. 2025-05-31 19:01:38 -07:00
Mooneer Salem 1b9347a0ed Merge branch 'v2.0-dev' into merge-2.0-with-master 2025-05-31 19:01:09 -07:00
Mooneer Salem 150b2cde7d
Improve macOS test reliability (#904)
* Return to 20ms block sizes on macOS to improve test reliability.

* Use Windows 2022 in test environment.

Don't want to be fighting Windows problems too.

* Don't want to be fighting gfortran either.

* Try caching Homebrew package install to decrease compile/test time for macOS.

* See if we can make RADE reporting a bit more reliable in the GH environment.
2025-05-31 19:00:45 -07:00
Mooneer Salem b4e22de722 Temporarily disable legacy FreeDV tests on macOS. 2025-05-30 17:52:51 -07:00
Mooneer Salem 64b5b1cc59 gfortran symlink is now on the macos-13 image. 2025-05-30 12:51:49 -07:00
Mooneer Salem d51ae29cef Merge branch 'v2.0-dev' into merge-2.0-with-master 2025-05-28 07:52:31 -07:00
Mooneer Salem 1a6efb8b3e latest user manual PDF 2025-05-28 14:51:12 +00:00
Mooneer Salem 0bcfaabfd4
Remove pre-PTT interrogation of frequency/mode. (#898)
* Remove pre-PTT interrogation of frequency/mode.

* Add PR #898 to changelog.
2025-05-28 07:47:49 -07:00
Mooneer Salem 0567d1dd5b
Fix issue preventing filter from properly changing in the FreeDV Reporter window. (#897) 2025-05-28 07:40:52 -07:00
Mooneer Salem dbda8d0475 Increase Hamlib timeout to 500ms per user testing. 2025-05-27 19:35:53 -07:00
Mooneer Salem 6713c08188 Remove pre-PTT interrogation of frequency/mode. 2025-05-27 19:35:40 -07:00
Mooneer Salem be53b9e934 Request current frequency/mode every second (instead of every 5 seconds). 2025-05-27 19:35:05 -07:00
Mooneer Salem 0c00d93be3 Merge branch 'v2.0-dev' into ms-hamlib-no-timeout 2025-05-27 19:31:19 -07:00
Mooneer Salem e56e258036 Added additional content to changelog. 2025-05-27 17:02:56 -07:00
Mooneer Salem 9345a56f69 Update changelog and version tags in preparation for 2.0.0 release. 2025-05-27 16:52:28 -07:00
Mooneer Salem aedcc1f3cb
Additional cleanup of RT-unsafe logic. (#894) 2025-05-27 09:42:13 -07:00
Mooneer Salem 284ff94750 latest user manual PDF 2025-05-26 19:32:24 +00:00
Mooneer Salem 30c9e5b9c6
Remove 800XA, 700C, 2020 and 2020B. (#889)
* Remove 800XA, 700C, 2020 and 2020B from UI,

* Remove additional 700C references in UI.

* Remove 2020/AVX detection logic from codebase.

* Remove LPCNet from build scripts.

* Add PR #889 to changelog.

* Forgot to remove LPCNet from Windows installer generation.

* Generate Release build for GH workflows.

* Disable PSK Reporter reporting during test execution as invalid callsigns are used.

* Build type was being overwritten.

* Missed mutex removal.

* Temporarily use Instruments to trace macOS CI execution.

* Minor update.

* Use 2 minute window in xctrace to actually capture wanted events.

* Disable xctrace execution but keep in tests just in case.

* Hide main window during tests to prevent GUI from interfering.

* Experiment: set infifo2 max length to 30 seconds

* Oops, forgot to remove division from previous commit.

* Deallocation of PulseAudio stream should occur while mainloop is locked.

* Revert "Hide main window during tests to prevent GUI from interfering."

This reverts commit 69689bb927.

* Based on online code snippets nullptr for neg is fine.

* Clear PYTHONHOME if set on the user's system (Windows/macOS only).

* Bring back locking in TxRxThread just in case.

* Remove unneeded backslash.

* Revert "Bring back locking in TxRxThread just in case."

This reverts commit fc6a9f8797.

* Manually back out the changes instead of using git checkout.

* Use shared_ptr for LinkStep.

* Try removing the TX mode change mutex again.

* Try moving actual codec activity out of RT context.

* Fix compiler error.

* Fix issue preventing legacy modes from transmitting.

* Another attempt at preventing RX dropouts.

* Try putting mode TX into separate threads again.

* Only limit output samples if input samples were provided.

* Put codec RX back into RT context.

* Put TX on RT context.

* Remove unused code.

* Deallocation should occur only in the destructor.

* Fix Windows spectrum plot formatting issues.

* Prevent buffer overflow during TX/RX processing.

* Bring FRAME_DURATION back down to 10ms.

* We want to feed samples into the RADE/FreeDV TX/RX FIFOs regardless of whether there's room in the output.

* ParallelStep should only feed FRAME_DURATION ms worth of samples at a time.

* Sleep fallback should track FRAME_DURATION.

* Don't execute the parallel steps if there isn't enough room in the output FIFO.

* We really can only inject a portion of EOO samples at a time.

* Queue EOO as a single unit to ensure it gets transmitted as a unit.

* Allow ParallelStep to provide up to 4x the number of input samples as output.

* Back to processing 20ms frames.

* Run GH Linux tests using asan enabled.

* Suppress Python related memory leaks and Hamlib related invalid memory accesses.

* Forgot suppressions= in test execution.

* Add more leak suppressions based on GH output.

* Resolve memory leaks.

* Fix broken RadeTextTest.

* Additional suppressions from GH.

* Go back to processing TxNumSpeechSamples every TX cycle.

* Revert "Go back to processing TxNumSpeechSamples every TX cycle."

This reverts commit abe816d00b.

* Fix 1600 mode dropouts.

* Make TX single-threaded again.

* Revert back to last working pipeline logic (for fullduplex_* anyway).

* Revert most EOO behavior.

* Run AddressSanitizer tests separately as they interfere with real time audio.

* Need to start Xvfb etc. before asan tests.

* Only a subset of tests need to run with asan enabled.

* Fix issue causing PTT input not to work.

* Maybe we don't need to restart servers after all.

* Try using rtkit to ask for high priority instead of RT.

* Clear FIFOs a different way.

* Windows: determine minimum number of audio channels supported.
2025-05-26 12:29:47 -07:00
Mooneer Salem 1de7ab96ac 100ms might be a bit better. 2025-05-25 12:30:54 -07:00
Mooneer Salem 58475d45b3 Reenable timeouts once connected to the radio. 2025-05-25 12:29:29 -07:00
Mooneer Salem 919bba2c14
Further audio dropout improvements (#876)
* Adjust constants based on Instruments analysis.

* Update comments.

* Try reading only FRAME_DURATION at a time during TX.

* Speex step doesn't need to be locked.

* Use shared pointers instead of locking during EqualizerStep.

* Move file read out of the RT context.

* Remove file I/O from RT context for RecordStep too.

* Try requesting 10ms blocks from Windows.

* Allow all GH tests to run.

* Revert back to 20ms frames.

* Minor tweak to Easy Setup window formatting.

* Revert "Revert back to 20ms frames."

This reverts commit b67313cdef.

* Update freedv-ctest-fullduplex.conf.tmpl

Disable multiple RX for testing.

* Turn off multiple RX for reporting tests as well.

* Force single threaded if only one step is available.

* Revert changes to freedv-ctest-fullduplex.conf.tmpl.

* Revert changes to freedv-ctest-reporting.conf.tmpl.

* Need to wake up all threads whenever we get a block of audio.

* Fix compiler errors.

* Revert previous changes as they didn't help.

* Refactor ParallelStep to remove usage of locks.

* Fix compiler errors and warnings.

* Fix issue preventing EOO from being sent.

* Another attempt at fixing the test failures.

* Use semaphores to wake up ParallelStep threads on receipt of new audio data.

* Fix compiler errors.

* Forgot to wake up helper threads.

* Helper threads should wait until ended or until there's data.

* Fix compiler error.

* Increase fifo sizes for FreeDV TX and RX steps.

* macOS: add protection in case semaphore wasn't created.

* Prevent waterfall from clearing itself when RX mode changes.

* Add logic to read in any data that may have come in during processing.

* GitHub Actions: run all Windows tests even if one or more fail.

* Revert "Add logic to read in any data that may have come in during processing."

This reverts commit 11ce99bb6a.

* Meter out only a little bit of data at a time.

* Revert "Meter out only a little bit of data at a time."

This reverts commit 35e81d6ce5.

* Use 20ms blocks instead of 10ms.

* Revert "Use 20ms blocks instead of 10ms."

This reverts commit 1ec6fb308a.

* Update FRAME_DURATION instead.

* Only process entire TX blocks at a time.

* Set sRGB color space for all open windows.

* Change version tag to rc to reflect release candidate status.

* Revert waveform FIFO changes from previous PR.

* libsamplerate needs to be built with optimizations on macOS and Windows.

* Fix Windows build failure.

* Update LLVM MinGW in Windows CI build to match version used for packaging.

* Test: use RADE main to see if Python GC actually matters.
2025-05-19 11:56:05 -07:00
Mooneer Salem 12d549f8cd
Harmonize resizing hacks across codebase. (#884) 2025-05-15 21:41:00 -07:00
Mooneer Salem 4343183ce2
Base RX highlighting on user time, not server time. (#886) 2025-05-15 21:40:13 -07:00
Mooneer Salem a432c661ab
Add incrementing counter to log entries. (#887) 2025-05-15 20:10:59 -07:00
Mooneer Salem 9d93b7ec32 latest user manual PDF 2025-05-15 14:09:43 +00:00
Mooneer Salem d405ee770c
Show /dev/tty.* devices on macOS. (#883)
* Show /dev/tty.* devices on macOS.

* Add PR #883 to changelog.
2025-05-15 07:07:05 -07:00
Mooneer Salem 943ebab428
Avoid crash on stop if hamlib is somehow not able to initialize the radio (#882)
* Avoid crash on stop if hamlib is somehow not able to initialize the radio.

* Need to use PTT type of RIGMICDATA in order for 'CAT via Data port' option to actually work.
2025-05-14 11:13:00 -07:00
Mooneer Salem 6b2debfdb4
Second attempt at fixing Windows Start/Stop crashes (#881)
* Use shared setHelperRealTime in internal WASAPI threads.

* Capture this instead of all by reference in internal WASAPI threads.

* Clean up refcounts of COM objects.

* Missed release of default audio device.

* Event handle needs to be closed on stop().

* Fix cross-compile definitions to allow asan to be used in the first place.

* Make sure TX/RX thread stops before audio devices do.
2025-05-13 17:03:42 -07:00
Mooneer Salem 3084177af3
FreeDV Reporter: Force re-sorting on user connect. (#878)
* FreeDV Reporter: Force re-sorting on user connect.

* Try unconditionally resorting on every pass through the timer.

* Bump up RX input FIFO to 30s. Yes, I know this is pretty excessive.

* Remove sortRequired_ since we're not using it anymore.

* Default to sorting by frequency.
2025-05-13 16:43:08 -07:00
Mooneer Salem e2a1bba010 latest user manual PDF 2025-05-11 21:47:17 +00:00
Mooneer Salem 3730fcd55a
Hamlib: improve behavior with Icom rigs, serial port PTT (#875)
* Re-attempt Hamlib connection without timeouts if failed.

* Add Hamlib error message to log.

* Remove timeouts.

* Only set ptt_pathname if using RTS or DTR.

* Various Hamlib fixes adapted from WSJT-X.

* Warning cleanup.

* Update changelog.

* Reset PTT type back to RIG to avoid issues when switching between RTS/DTR and CAT.

* Add support for CAT PTT using the Data port (vs. Mic).

* Update user manual.
2025-05-11 14:44:58 -07:00
Mooneer Salem 81b03651f8
WASAPI: Adjust shutdown to avoid crash on repeated start/stop. (#879)
* Adjust shutdown to avoid crash on repeated start/stop.

* Resolve Windows compile error.
2025-05-11 11:04:47 -07:00
Mooneer Salem 8477b27a56
Remove octave/octave-signal from README. (#874)
* Remove octave/octave-signal from README.

* Remove Octave from macOS dependencies.
2025-05-09 00:29:16 -07:00
Mooneer Salem 1cb1214db6
Fix additional GTK assertion on startup for FreeDV Reporter. (#873)
* Suppress hide/show_self until after fully connected.

* Added additional debug logging in case previous change doesn't work.

* Revert "Suppress hide/show_self until after fully connected."

This reverts commit d98fd8f179.

* Add additional logging.

* Update IsContainer definition based on wxWidgets samples.

* Remove added debugging.
2025-05-08 08:42:18 -07:00