* Hide all modes except for RADE by default.
* Enable legacy modes so fullduplex tests still work.
* Add PR #1108 to changelog.
* FreeDV Reporter: Hide RX Mode column if legacy modes are disabled.
* Remove offset and histogram plots due to low legacy mode use.
* Hide Squelch and Center RX if legacy modes are disabledd.
* macOS: Add additional required entitlements for Python 3.14.
* Move Frequency field up on the right hand side.
* Suppress at-spi2 warning in GH AppImage tests.
* Experiment: Try 'pulsing' level gauge when overdriving.
* Revert "Experiment: Try 'pulsing' level gauge when overdriving."
This reverts commit 527dbe2bb7.
* Use shorter label for clipping indicator.
* Upgrade built-in Python to 3.14.0.
* Need to update GH environment for Windows Python 3.14.
* Forgot to adjust path for pip.
* Additional forgotten change.
* TEST ONLY: Use non-main for RADE.
* Use Python 3.14 for AppImages.
* Need to exclude 3.14 DLL during installer step.
* Update ASAN suppressions for 3.14.
* Revert "TEST ONLY: Use non-main for RADE."
This reverts commit 14b711b5a9.
* Use rade_src instead of rade_integ_src.
* Update AppRun scripts.
* Upgrade custom PyTorch macOS wheel to 2.9.1 and Python 3.14.
* PYTHONOPTIMIZE doesn't seem to work on macOS now.
* Apparently PYTHONOPTIMIZE was in there twice.
* Reenable PYTHONOPTIMIZE, disable built-in mimalloc.
* Disable mimalloc in GH Actions as well.
* Try reenabling mimalloc just for Linux.
* Add PR #1109 to changelog.
* Remove mimalloc altogether.
* Forgot to clean up mimalloc code in source files.
* Lock PyTorch release inside GH Actions.
* Actually fix FreeDV Reporter disconnect crash once and for all.
* Prevent hangs on exit.
* Fix compiler error.
* Add missed initialization.
* Add PR #1112 to changelog.
* Add wait calls to all other ThreadedObject users.
* Reduce RADE RX losses due to resampling.
* Add PR #1094 to changelog.
* Tweak outputSize to see if the resampler can give us more audio.
* Add additional check due to test failures.
* Only make 2x the input size available for output.
* Update changelog to put fix in 2.1.1.
* Add files via upload
* Update dlg_ptt.cpp
added /dev/rfcomm* to populatePortList()
Is needed for usb over bluetooth rig controll.
* Update HamlibRigController.cpp
log_info which radio type on which serial line.
* Add changes to Easy Setup dialog.
* Add PR #1106 to changelog.
---------
Co-authored-by: Mooneer Salem <mooneer@gmail.com>
* Prepare for v2.1.0 release.
* Fix libebur128 typo (thanks @ra1nb0w!)
* Fix lint error in CI process.
* Clear version restriction for torch package.
* Add random delay to hopefully avoid mpp failures.
* Undo VC++ Redistributable URL change.
* Experiment: increase PulseAudio thread priority.
Hopefully this will help avoid the issue where we intermittently lose sync within
the first few seconds of starting the modem.
* Delete .travis.yml as we don't actually use Travis for builds.
* Minimal changes needed to disable BW expander.
* Revert "Experiment: increase PulseAudio thread priority."
This reverts commit 816b493da7.
* Clean up changelog.
* strerror_r should be on separate line since it can return int depending on platform.
* Fix CI failures.
* Try forcing _DEFAULT_SOURCE to resolve warnings.
* Revert previous changes.
* Minimal changes to hopefully fix both macOS and Linux.
* Possible fix for macOS race condition during socket close.
* Flex: Improve handling of slice switching.
* Add missed semicolons.
* Add validation for stream IDs coming over VITA port.
* Fix AppRun generation bug introduced by previous PR.
* Enable PSK Reporter support.
* Fix issue where ThreadedTimer pegs the CPU on RPi/aarch64.
* Fix ThreadedTimer test failures.
* Send reports to PSK Reporter every five minutes.
* Enable clang-tidy during CI process and fix performance-* rule violations.
* Install clang-tidy package.
* Need to actually build to get all dependencies.
* Need to install minimum Python dependencies for linting.
* Build mimalloc too.
* Enable clang-analyzer rules.
* Enable concurrency rules.
* Add linting to macOS runner.
* Add macOS specific checks.
* Try different way of calling clang-tidy.
* Add clang-tidy to PATH.
* 'Build' using clang.
* Try LLVM 20.
* Use GitHub LLVM.
* LLVM 21 again.
* Use install-llvm action to install LLVM 20.
* Don't be so strict with version number.
* Suppress macOS specific lint errors.
* Fix missed errors.
* Fix Windows compiler error.
* Experiment: also enable clang-tidy for Windows build.
* Revert TcpConnectionHandler change.
* Another attempt at fixing Windows compiler error.
* Need to swap arguments on Windows.
* Add PR #1086 to changelog.
* Need run-clang-tidy on Windows.
* Disable clang-tidy for Windows builds.
* Remove commented code.
* Revert to master version of Windows CI script
* Try revert again
* Enable frequency drop-down whenever CAT control is enabled, not just for reporting.
* Also show drop-down if CAT control isn't enabled but reporting is.
* Add PR #1080 to changelog.
* Hide Stats box by default.
* Use resize hack to make sure Stats box reappears.
* Further increase wait time after creating virtual audio devices.
* Add PR #1081 to changelog.
* Try another way of waiting until the loopback cables come up.
* Forgot to check in fix.
* Tweaks to GenericFIFO to reduce cache misses.
* Fix TSan warnings.
* Try a different way of implementing reset().
* Fix compiler errors due to uninitialized values.
* Add PR #1077 to changelog.
* Increment version to 2.1.0.
* Force all compiler warnings to report as errors.
* Fix missed errors.
* Additional Linux and Windows compiler fixes.
* Additional macOS audio compiler error fixes.
* Fix Windows build once and for all.
* Fix remaining uninitialized warnings.
* Fix data race in Socket.IO handling.
* We want to immediately fail when running sanitizers, not re-attempt tests.
* Revert accidental removals in macOS CI config.
* Add PR #1076 to changelog.
* Attempt to address intermittent FreeDV Reporter-related crash on Windows.
* CI: Work around Azure outage.
* Additional tweaks to previous ThreadedObject fix.
* Enable UBSan test support in the CI process.
* Add missed UBSan flags for CI run.
* Fix sanitizers check to allow integrations to build.
* Initial pass at silencing UBSan warnings.
* Fix compiler errors.
* Allow tests to fully run before erroring.
* Add missed initializers for reporter dates.
* Revert "Allow tests to fully run before erroring."
This reverts commit 6a91e834a7.
* Initialize missed wxDateTime.
* Get remaining wxDateTime warnings in FreeDV Reporter window.
* Enable TSan and UBSan in macOS CI.
* Fix compiler error.
* Try making TabFreeAuiNotebook destructor virtual.
* Remove extra wxPanel for spectrum plot.
* Cleanup of notebook initialization.
* Add UBSan suppressions.
* Tweak UBSan suppressions to reflect GH environment.
* Increase the number of times to TX to improve mpp pass rate.
* Add PR #1075 to changelog.
* Increase MPP TX amount again.
* Reorganize FlexRadio integration so we can share code with KA9Q console app.
* Fix rtkit file path.
* Use same variable for both static and non-static Speex DSP library.
* Update Linux CI to reflect new paths.
* Refactor more common code for use by other integrations.
* Create skeleton KA9Q appplication, need to read/write from/to stdin/stdout to get basics up.
* Need to link against fdv_os_wrapper in common.
* Actually fix Linux linker failure in Flex waveform.
* Allow software name to be passed into ReportingController.
* Read audio from stdin and write to stdout.
* Fix crash on shutdown due to threads not being freed.
* Add pauses to make sure audio is handled live (i.e. not faster than RT).
* Add command line options to freedv-ka9q tool.
* Flesh out ka9q README.
* Clean up AppImage generation and enable CI for KA9Q integration.
* Add missed speex dependency.
* Forgot to change references to APPEXEC.
* Fix app paths for AppImages.
* Force AppImage file name.
* Use separate desktop files to avoid needing to override linuxdeploy.
* Use echo instead of ls for AppImage name generation.
* Fix test-appimage and enable verification on ARM targets.
* Need to use pattern, not glob.
* Need to use step ID.
* More fixes.
* Re-add accidentally deleted ./ from Fedora container execution.
* Add arm64 Fedora testing.
* Use RADE main again as a test.
* Revert "Use RADE main again as a test."
This reverts commit 60559ef0bc.
* Switch to raw file I/O.
* Update command line usage message.
* Add PR #1066 to changelog.
* Fix compiler error.
* Report RX only to FreeDV Reporter to indicate we can't TX.
* Fix crash on shutdown.
* Actually have audio process live.
* Fix typo in build_linux.sh.
* Enable ThreadSanitizer checks for CI builds.
* Make sure we're not actually checking for test results with tsan.
* Enable sanitizers on 22.04 and ARM runners.
* Suppress sanitizer errors in Ubuntu 22.04.
* We probably need Clang 22 to have Ubuntu 22.04 RTsan tests work properly.
* Use LLVM 22 for ASAN too to see if that will suppress the final leaks.
* Add missed lock in onRecvEnd.
* [no-ci] Update documentation.
* [no-ci] Further tweaks to user manual wording.
* macOS: Fix intermittent TCC update failure during CI runs.
* Clean up plot_spectrum.h override warnings.
* Prevent false cache sharing when using GenericFIFO.
* Remove unused db folder.
* -Winterference-size isn't known on Clang.
* Fix compiler errors on Ubuntu 22.04.
* Add delay to tests to make sure PulseAudio/pipewire actually create virtual cables.
* Add PR #1068 to changelog.
* Create infrastructure to build freedv-flex binaries.
* Begin porting some ezDV Flex files to freedv-gui.
* Do not build Flex waveform for Windows.
* Port FlexVitaTask from ezDV, link to main() to print available radios.
* Fix Linux compiler error.
* Disable mimalloc for Flex waveform.
* Port FlexTcpTask from ezDV.
* Add beginning of initialization logic for waveform.
* Set up IRealtimeHelper for Flex waveform.
* Adjust FIFO usage to match what FlexVitaTask expects.
* Add linkage between TCP and VITA tasks.
* Use correct FIFO size calculation.
* Force single-threading for PyTorch/numpy.
* We don't need verbosity for RADE.
* Need to let the VITA task know about the radio IP too.
* Enable rtkit.
* Use rtkit for FlexVitaTask too.
* Fix issue causing minPacketsRequired_ to continually increase.
* Adjust MAX_VITA_SAMPLES to reflect no longer doing resampling itself.
* Fix spelling mistake.
* Update comment.
* Try previous TX scale factor to make a TX level 100 = ~100W.
* Tweak TX scale factor so we don't actually overdrive the signal.
* Don't build waveform by default.
* Enable AppImage generation for waveform.
* Update wrong script reference in CI build.
* Use correct filename generated by linuxdeploy.
* Warning cleanup.
* Tweaks to hopefully help reduce dropouts.
* timestamp_type defs from Flex SDK didn't work for some reason.
* Make sure we're always sending stuff back to the radio.
* Try ms-disable-python-gc again as it has a ~10% CPU usage reduction on RX.
* Try implementing timestamp type changes from Flex waveform SDK again.
* No difference with unconditional reads.
* Use Semaphore for pausing TX/RX threads.
* Actually eliminate audio dropouts.
* Connect UDP socket to slightly reduce system CPU consumption.
* Fix memory corruption from recent changes.
* Revert "Use Semaphore for pausing TX/RX threads."
This reverts commit cf7d076ef1.
* Normalize incoming audio so that we don't clip when converting to int16.
* Initial support for sending EOO.
* Add 40ms additional silence to ensure SmartSDR fully transmits EOO.
* Add the 40ms of silence elsewhere to avoid interference with regular freedv-gui.
* Add hooks to at least get FreeDV Reporter connections up and running.
* Add spotting support for FreeDV Reporter.
* Update README based on attempting to compile for rPi.
* Send waveform cleanup commands on startup (avoiding duplicate FDVU/FDVL entries in SmartSDR for Mac).
* Forgot to actually use report_wo role for FreeDV Reporter.
* Work around segfault when switchingn away from FDVU/FDVL.
* Fix stuttering issue on beginning TX.
* Integrate AGC to Flex waveform.
* Fix waveform compiler errors.
* Sleep for as long as it takes to find a radio on the network.
* Add support for processing SSDR_RADIO_ADDRESS envionrment variable.
* Fix compiler errors.
* Ephemeral ports for VITA don't actually work.
* Use same version number as FreeDV proper, cleanup FreeDV Reporter init.
* Support reporting the grid square if the radio has a built-in GPS.
* Add Speex noise reduction to TX pipeline.
* Code cleanup.
* Fix deadlock during radio discovery.
* src/os only needs wxWidgets if on Windows.
* Add missing packages for building Flex AppImage.
* GPS updates use a different delimiter than other update types.
* GitHub runner is forcing Ubuntu 24.04 for ARM.
* Revert "GitHub runner is forcing Ubuntu 24.04 for ARM."
This reverts commit e267fe216b.
* Add cleanup and logging to FreeDV Reporter logic.
* Need to capture newGridSquare.
* Bail out on empty grid square.
* Refactor ReportingController to separate file.
* Report RX prior to receiving callsign.
* Generate waveform Docker container.
* Need Docker Buildx action.
* Fix AppImage filename.
* Check for null before trying to report RX.
* Increment to 2.0.3.
* Fix compiler errors from previous merge.
* Fix typo from previous PR.
* Force mimalloc to be built in Release mode.
* Forgot to support universal macOS build for mimalloc.
* Switch Flex container to Ubuntu, install AppImage prerequisites.
* Remove add-apt-repository call.
* Can't rely on using FUSE, try --appimage-extract-and-run.
* Initialize sync_ variable to avoid spurious calls to FreeDV Reporter.
* Do appimage-extract during container build process.
* Extract AppImage prior to running Docker.
* Add debugging to make sure we're deploying the correct contents.
* Include mimalloc config from main FreeDV application.
* Add README for the Flex waveform.
* Fix typos in README.
* Add PR #1018 to changelog.
* Reduce CPU usage in Xwayland process when using AppImage.
* Reduce Xwayland CPU usage in the Spectrum plot as well.
* Have separate avmag arrays for each plot.
* Fix typo from previous PR.
* Avoid duplicate MoveToPoint calls.
* Remove spinlock for RX spectrum.
* Spectrum plot: reduce the number of lines drawn without affecting visual quality.
* Experiment: disable arch-specific optimizations for mimalloc.
* Use 5Hz steps.
* Fix typos in spectrum plot calculation.
* From Radio and similar: Use single filled path to represent plot.
* Remove 1 dB minimum difference requirement for Spectrum plot.
* Make sure spectrum plot arrays are cleared on start.
* Warning cleanup.
* Reenable mimalloc optimization flags for Macs.
* Use GenericFIFO for scalar plots.
* Reduce the amount of gray rendered in waterfall before actual RF spectrum is shown.
* Don't redraw text on Spectrum plot unless necessary.
* Add PR #1064 to changelog.
* Don't force Xwayland on AppImage.
* Add Xwayland instructions to Troubleshooting section of manual.
* Hamlib: Add support for automatically display only the valid baud rates.
* Add support for baud rate dropdown updates to Easy Setup dialog.
* Add PR #1057 to changelog.
* Fix issue preventing FreeDV Reporter from properly being restored to the correct display.
* Partially revert previous change, offset all comparisons by wxDisplay x/y coords.
* Re-add older wxDisplay creation code for Ubuntu 22.04.
* Experiment: force autosize of all but Msg column.
* Bring back previous macOS date/time workaround.
* Try auto-resizing columns on every update instead.
* Only resize columns on Windows and only when moving/sizing the window.
* Need to autoresize on item changes too.
* Fix compiler errors.
* Auto-resize on sort.
* Add PR #1055 to changelog.
* Auto-size on row add.
* Fix compiler errors.
* Fix Windows compiler errors.
* Reduce the number of context switches during heavy FreeDV Reporter load.
* Move recvEnd callback to TcpConnectionHandler instead.
* Only queue handler if actions are pending.
* Add missed memory ordering for atomics.
* Additional TSan cleanup.
* Auto-detect location of libasan et al for macOS builds.
* Fully stop macOS audio devices to prevent data race.
* Fix Hamlib-related ThreadSanitizer warnings.
* Fix TSan errors for fullduplex_700D.
* Fix TSan errors when running fullduplex_1600.
* ThreadedTimer: use dispatch timers on macOS.
* ThreadedTimer: use dispatch timers on macOS.
* Add PR #1053 to changelog.
* Partially revert previous wxUILocale change for non-Apple platforms.
* Revert "Partially revert previous wxUILocale change for non-Apple platforms."
This reverts commit dfa38c0907.
* Use wxNumberFormatter to format frequencies.
* Disable pause on audio device shutdown on macOS.
* Switch audio_spin_mutex to TTAS from TAS.
* Bring over changes from Flex devel branch.
* Fix compiler errors.
* Split microphone and speaker EQ locks.
* Properly format slider values based on current locale.
* Format numbers on FreeDV Reporter window according to locale.
* Properly format new frequencies when being added to the list.
* Use locale-specific number display for Filter window.
* Remove workaround as it's no longer needed.
* Add PR #1050 to changelog.
* Extend rtsan declarations to rest of pipeline and audio classes.
* Add construct for marking RT-unsafe code.
* Use realtime_fp instead of std::function for stuff that needs to happen real-time.
* Add realtime_fp wrapper to allow checking of lambdas in pipeline.
* Add annotations to lambdas.
* Add additional nonblocking assertions.
* Create wrapper around wxGetApp() to suppress warnings.
* mustStopWork needs to be non-blocking.
* Disable thread-local variables in PulseAudioDevice.
* Misc warning cleanup.
* Add missed file.
* Refactor EqualizerStep to not need shared_ptr.
* Annotate MacAudioDevice.
* Fix compiler errors.
* Add additional suppressions in src/pipeline and some dependent code.
* Increment version to 2.0.3 and reenable dev tag.
* Remove std::function from RADEReceiveStep.
* Additional codec2 annotation, missed reference to codec2_malloc in kiss_fft.
* Add additional codec2 annotations.
* Resolve remaining freedv_interface.cpp realtime compiler warnings.
* Minor TSan based cleanup.
* Use relaxed atomic semantics for GenericFIFO.
* Enable ability to instrument with TSan.
* Fix localtime-related data races in ulog.
* Fix g_State related data races.
* Fix memcpy related data races in GenericFIFO.
* Remove macos-13 from CI as it's about to go away.
* Add PR #1039 to changelog.
* test-app-folder isn't actually failing the CI run.
* Enable TSan support via build scripts.
* TSan warning cleanup on macOS.
* Add default virtual destructors for audio devices.
* Work around IAudioDevice destruction data race.
* Fix PlotWaterfall data race.
* Make sure bottom dropdown is wide enough to show all columns when expanded.
* Flicker came back, disable color space switching altogether.
* [no ci] Add PR #1040 to changelog.
* Fix spelling error.