Mooneer’s FreeDV Update – March 2024

This month, freedv-gui got the following bug fixes and feature enhancements:

  • Fixed minor memory leak involving FreeDV Reporter window.
  • Fixed issue causing delayed updates when modifying FreeDV Reporter filters.
  • Added support for unlimited length reporting messages in FreeDV Reporter.
  • Added additional error reporting in the event of PortAudio failures.

ezDV also got the following changes:

  • FreeDV Reporter:
    • Fixed issue preventing auto-reconnection to FreeDV Reporter when connection is lost.
    • Fixed issue causing crash if FreeDV Reporter connection exists and Wi-Fi goes down.
    • Added reporting message functionality to FreeDV Reporter implementation.
    • Lowered priority of FreeDV Reporter task.
  • FlexRadio support:
    • Fixed bug when user audio mixes with radio audio during TX.
    • Optimized sample rate conversion to use fixed-point math and ESP32S3 SIMD instructions to reduce CPU usage.
    • Updated audio packet sending logic to reduce audio dropouts during TX and RX.
    • Updated audio scaling logic so that 100% in SmartSDR equals 100 watts of power
    • output.
  • Upgraded project to ESP-IDF 5.2.1.
  • Fixed typos preventing failure popup from disappearing in web UI.
  • Made changes to avoid unnecessary commits to NVS flash when settings haven’t changed.
  • Created user manual and added infrastructure to automatically build it and firmware when releasing new versions.
  • Changed default FreeDV mode to 700D on initial startup.
  • Updated HTTP serving logic to reduce likelihood of failed transfers.
  • Added logic to preload voice keyer data during transmit to reduce latency.
  • Fixed bug causing sync LED to remain lit when switching to analog mode.
  • Refactored DVTask and DVTimer to enable more easily readable stack traces in case of crashes.
  • Added 250ms hard timeout when stopping TX to prevent the radio from being stuck in transmit.

More information can be found in the commit history below:

(Note that all commit logs above were generated with the following command line:)

git log --author="member@email" --after "Month 1, 2024" --before "Month 31, 2024" --all > commit.log

FreeDV v1.9.9.1 released

This release contains the following content:

  1. Bugfixes:
    • Cache PortAudio sound info to improve startup performance. (PR #689)
    • Fix typo in cardinal directions list. (PR #688)
    • Shrink size of callsign list to prevent it from disappearing off the screen. (PR #692)
    • Clean up memory leak in FreeDV Reporter window. (PR #705)
    • Fix issue causing delayed filter updates when going from tracking band to frequency. (PR #710)
    • Fix hanging issue with footswitch configured. (PR #707)
  2. Enhancements:
    • Add additional error reporting in case of PortAudio failures. (PR #695)
    • Allow longer length user messages. (PR #694)
    • Add context menu for copying messages to the clipboard. (PR #694)
  3. Documentation:
    • Remove broken links in README. (PR #709)
  4. Build system:
    • Add ability to build without LPCNet in preparation for potential future deprecation of 2020/2020B. (PR #711)

More information and download links can be found here.

Note: v1.9.9.1 has been released due to a Windows-only bug caused by PR #689. This PR has been partially reverted in PR #712 and this post subsequently edited to point to the new release.

Mooneer’s FreeDV Update – February 2024

This month, freedv-gui got the following bug fixes and feature enhancements:

  • Added support for displaying cardinal directions (e.g. N/S/E/W) instead of headings in degrees.
  • Improved audio device detection performance when using PortAudio by caching device info.
  • Shrink height of received callsign list on main window to keep it from going off the screen.

ezDV also got the following changes:

  • Lowered AGC target level to prevent OVL LED from unnecessarily flashing on RX.
  • Disabled LED blinking in fuel gauge mode due to low reliability.
  • Added glitch filter to GPIOs to prevent unintended toggling.
  • Improved reliability of Icom radio support in congested Wi-Fi environments.
  • Fully refresh web UI after ezDV comes back from being rebooted (intended to ensure user gets any HTML/JS changes as part of a firmware update).
  • Fixed bug preventing Wi-Fi scan from actually stopping when user switches away from Wi-Fi tab on web UI.
  • Don’t remove Wi-Fi networks from the network list if they don’t appear in a subsequent scan.
  • Build system: adjusted copyright date in web UI based on firmware build date.
  • Default radio port to 50001 to match Icom defaults.
  • Cleaned up compiler warnings in code.
  • Fixed crash if Wi-Fi goes down during a network scan.
  • Build system: use official Codec2 release instead of codec2-dev.
  • Refactored USB power detection so that it’s more resilient to missed interrupts.

More information can be found in the commit history below:

(Note that all commit logs above were generated with the following command line:)

git log --author="member@email" --after "Month 1, 2024" --before "Month 31, 2024" --all > commit.log

Mooneer’s FreeDV Update – January 2024

This month, freedv-gui got the following bug fixes and feature enhancements:

  • Fixed spelling, etc. mistakes in the documentation.
  • Updated Filter dialog to better handle resizing.
  • For the built-in FreeDV Reporter client in the application:
    • Fixed capitalization of distance/frequency units in FreeDV Reporter window.
    • Reviewed and merged a PR to adjust the text alignment and sizing of columns in FreeDV Reporter.
    • Fixed bug involving handling of invalid characters in grid squares.
    • Improved behavior of Send and Clear buttons for better usability.
    • Added operations to allow management of the saved message list.
    • Added guard code to prevent FreeDV Reporter window from being off screen on startup.
    • Enabled use of space bar for PTT when in the FreeDV Reporter window.
    • Added “heading” column (in degrees) to FreeDV Reporter window.
    • Added logic to prevent FreeDV Reporter window from being above the main window.
    • Fixed Windows-specific off by one issue in FreeDV Reporter sorting code.
  • Removed build support for 32-bit Windows on ARM.
  • Fixed a bug preventing startup on macOS versions older than 10.13.
  • Reorganized and cleaned up code and other files to improve maintainability.
  • Added CI build for macOS.
  • Fixed issue preventing TX audio from resuming after going from TX->RX in full duplex mode.
  • Fixed issue causing intermittent crashes when filters are enabled while running.
  • Prevented unnecessary recreation of resamplers in analog mode.
  • Added a Frequency column to the callsign list (at the bottom of the main window).
  • Improved handling of audio devices with high sample rates (>48000 Hz) and devices with more than two channels.
  • Fixed bug where PTT button background color doesn’t change when toggling PTT via space bar.
  • Fixed bug where FreeDV crashes if only RX sound devices are configured with mic filters turned on.

ezDV also got a minor firmware fix that clears any in-progress beeper messages before outputting new ones.

More information can be found in the commit history below:

(Note that all commit logs above were generated with the following command line:)

git log --author="member@email" --after "Month 1, 2024" --before "Month 31, 2024" --all > commit.log

Another successful Orlando HamCation

This year, the FreeDV project shared a booth with the M17 project at the Orlando HamCation. Mel Whitten (K0PFX) and Mooneer Salem (K6AQ) both explained and demonstrated the FreeDV software, ezDV and the SM1000. Below is a photo of the booth before the show opened:

Additionally, Mooneer Salem gave a talk on Friday about FreeDV. (For those who were unable to make it, the slide deck for this talk can be found here.)

Hope to see you at future hamfests (and hear you on the air!) And thank you to Bruce Perens and HamOpen.org for hosting the booth space for FreeDV as well!

FreeDV is Hiring a DSP Engineer!

The FreeDV project is looking to hire a DSP engineer! This person will be responsible for helping to develop the next generation of open source HF digital voice. Funding for this opportunity will be provided by the ARDC grant awarded to the project (thank you again!)

More information about this opportunity can be found here.

FreeDV at HamCation 2024

For those of you who are going to HamCation in Orlando, FL this weekend, FreeDV will be there at booths 64 and 65 (along with the M17 project). Additionally, Mooneer Salem (a developer and one of the members of the FreeDV Project Leadership Team) be giving a talk about FreeDV at 10:45am on Friday in CS2. Hope to see you there!

(More info about HamCation at https://www.hamcation.com/ if interested.)

FreeDV v1.9.8 released

This release contains the following content:

  1. Bugfixes:
    • Prevent unnecessary recreation of resamplers in analog mode. (PR #661)
    • Better handle high sample rate audio devices and those with >2 channels. (PR #668)
    • Fix issue preventing errors from being displayed for issues involving the FreeDV->Speaker sound device. (PR #668)
    • Fix issue resulting in incorrect audio device usage after validation failure if no valid default exists. (PR #668)
    • Fix bug where PTT button background color doesn’t change when toggling PTT via space bar. (PR #669)
    • Fix bug where FreeDV crashes if only RX sound devices are configured with mic filters turned on. (PR #673)
    • Fix Windows-specific off by one issue in FreeDV Reporter sorting code. (PR #681)
  2. Enhancements:
    • Add Frequency column to RX drop-down. (PR #663)
    • Update tooltip for the free form text field to indicate that it’s not covered by FEC. (PR #665)
    • Enable use of space bar for PTT when in the FreeDV Reporter window. (PR #666)
    • Move TX Mode column to left of Status in FreeDV Reporter window. (PR #670)
    • Add heading column to FreeDV Reporter window. (PR #672#675)
    • Prevent FreeDV Reporter window from being above the main window. (PR #679)
    • Add support for displaying cardinal directions instead of headings. (PR #685)
  3. Code cleanup:
    • Move FreeDV Reporter dialog code to dialogs section of codebase. (PR #664)

More information and download links can be found here.

FreeDV v1.9.7.2 released

This release actually fixes what v1.9.7.1 was supposed to. Sorry for the inconvenience. Assuming no other serious crash-type bugs, we should hopefully be back to the usual release cadence (~1x/month or so).

More information and download links here.

FreeDV v1.9.7.1 released

Due to an intermittent crash discovered immediately after v1.9.7’s release, v1.9.7.1 has been released. The crash is related to the filter functionality; when the TX or RX filters are modified, an assertion failure occasionally gets thrown because the old filters aren’t fully deleted by the time the new filters need to be created.

More information and download links for this hotfix release can be found here.