commit 5f627314ccc68efa133008c50413d3753e1a4cec Author: Mooneer Salem Date: Wed Jul 29 13:33:48 2026 -0700 Suppress spurious SSL warning on macOS. commit d726a8b345c8f67828cb0740d25e8405f868c48b Author: Mooneer Salem Date: Wed Jul 29 13:08:10 2026 -0700 Revert back to main. commit 88f02be315d9da8948bf7917839bcc274e6db43f Author: Mooneer Salem Date: Wed Jul 29 12:01:16 2026 -0700 Use timing adjustment PR to see if pass rate improves. commit 7873018d4d487acf87407fc2dc0bcdf5ee29eaa6 Author: Mooneer Salem Date: Wed Jul 29 00:19:37 2026 -0700 Revert "Use version of RADE that has warnings silenced. (testing)" This reverts commit b2822639d9248ff528289bbfc0aa154eab782bb0. commit b2822639d9248ff528289bbfc0aa154eab782bb0 Author: Mooneer Salem Date: Tue Jul 28 23:55:00 2026 -0700 Use version of RADE that has warnings silenced. (testing) commit e4d322089b441f313036be95fcee375ac5f9d535 Author: Mooneer Salem Date: Tue Jul 28 15:29:29 2026 -0700 Revert "Try PR branch just to make sure it does what I think." This reverts commit 9de7afb9b118af18dba5c66f1b26a12c8d51037a. commit 9de7afb9b118af18dba5c66f1b26a12c8d51037a Author: Mooneer Salem Date: Tue Jul 28 15:08:07 2026 -0700 Try PR branch just to make sure it does what I think. commit c5ecdbdcaf2612924a76fecf75bf2427c1fcd6f9 Author: Mooneer Salem Date: Tue Jul 28 14:55:11 2026 -0700 Use 2 / RADE_INT16_SCALE for RX. commit b206712f96e57a35cf9e0cc409569d1e3abb5fdd Author: Mooneer Salem Date: Tue Jul 28 13:41:02 2026 -0700 Revert r8brain changes. commit 890a0b5c39bf6267ae022eafa7c13d765dc9c70d Merge: 05f9afd 5a4210b Author: Mooneer Salem Date: Tue Jul 28 13:40:37 2026 -0700 Merge branch 'main' into radev2-dev commit 5a4210b7548426571b2dd7635e1585dfb7fad098 Author: Mooneer Salem Date: Tue Jul 28 12:19:13 2026 -0700 Fix race between GenericFIFO::reset() and concurrent write()/read() (#32) GenericFIFO is a lock-free SPSC ring buffer, but reset() can be called by either endpoint's owning thread while the other endpoint is concurrently mid-write()/read() (e.g. clearFifos_() on the TX thread racing the audio device callback thread). The old implementation's raw-pointer pin/pout were committed with an unconditional store, so a write()/read() already in flight when a reset() landed could finish its copy and then overwrite the freshly-reset pointer with a stale value, silently corrupting the ring (readers could then observe stale or duplicate data). pin/pout now pack a ring index together with a generation counter into a single atomic word; reset() bumps the generation as part of rewinding both to index 0, and write()/read() commit via a single compare_exchange_strong against the exact (generation, index) they started from. A coincidental index match after a reset can no longer fool the commit, since the generation half only ever increases. Added GenericFIFOTest covering basic write/read, full/empty boundaries, wraparound, reset() semantics, and a concurrent stress test that races a writer/reader against a tight reset() loop and verifies no corrupted or reordered data -- confirmed to fail against the old implementation (observed ordering violations) and pass against this one. commit df192609b813d46ef28c0a29ceb3ee2965434d9d Author: Mooneer Salem Date: Tue Jul 28 11:28:30 2026 -0700 Fix race between GenericFIFO::reset() and concurrent write()/read() GenericFIFO is a lock-free SPSC ring buffer, but reset() can be called by either endpoint's owning thread while the other endpoint is concurrently mid-write()/read() (e.g. clearFifos_() on the TX thread racing the audio device callback thread). The old implementation's raw-pointer pin/pout were committed with an unconditional store, so a write()/read() already in flight when a reset() landed could finish its copy and then overwrite the freshly-reset pointer with a stale value, silently corrupting the ring (readers could then observe stale or duplicate data). pin/pout now pack a ring index together with a generation counter into a single atomic word; reset() bumps the generation as part of rewinding both to index 0, and write()/read() commit via a single compare_exchange_strong against the exact (generation, index) they started from. A coincidental index match after a reset can no longer fool the commit, since the generation half only ever increases. Added GenericFIFOTest covering basic write/read, full/empty boundaries, wraparound, reset() semantics, and a concurrent stress test that races a writer/reader against a tight reset() loop and verifies no corrupted or reordered data -- confirmed to fail against the old implementation (observed ordering violations) and pass against this one. commit 05f9afd512bfb1102e2f674f1bb646e0c4600d81 Author: Mooneer Salem Date: Mon Jul 27 17:12:34 2026 -0700 Switch to 32 bit resampling. commit e72bc231920976c1259b8f9027bf31502f4c90dd Author: Mooneer Salem Date: Mon Jul 27 17:04:04 2026 -0700 Try restoring r8brain. commit 0601f4905e9b9ddd848b419c9ab7b5ad97073e2e Author: Mooneer Salem Date: Fri Jul 24 12:18:32 2026 -0700 Fix test failures. commit c872c283675d20b198dabb83b3b54423df13c7ea Author: Mooneer Salem Date: Fri Jul 24 12:04:32 2026 -0700 Don't freq shift if offset is 0. commit 965435c147af68a343a2fccc2dd14d0227f6ff3c Author: Mooneer Salem Date: Thu Jul 23 20:09:42 2026 -0700 Oops, forgot division. commit f21f2730df9c3e4ba216118530e72c6e4e4bc14b Author: Mooneer Salem Date: Thu Jul 23 19:25:25 2026 -0700 Use RADE_INT16_SCALE for scaling. commit 7296a4fe9be8b048eb6413069e8ad9ae1aa8043d Author: Mooneer Salem Date: Thu Jul 23 19:23:42 2026 -0700 Revert "Use max/2 for int<->float conversion." This reverts commit 1a251bf6944aeb7f863085023588aaf157c44a3b. commit 1a251bf6944aeb7f863085023588aaf157c44a3b Author: Mooneer Salem Date: Thu Jul 23 18:32:17 2026 -0700 Use max/2 for int<->float conversion. commit cef1ac494f9659ee2a38fca3dcc5f55f5cb79b73 Author: Mooneer Salem Date: Tue Jul 21 23:15:41 2026 -0700 Disable all audio processing during tests. commit 3cf3cc8f0ac07cd658b7078d05d8ec98f7e137c6 Author: Mooneer Salem Date: Tue Jul 21 23:09:40 2026 -0700 Update RADE scaling to reflect current test procedure. commit 06d53efccb64cc0af01c2ff49246a6bb3c3c7308 Merge: ea77743 e74d63f Author: Mooneer Salem Date: Tue Jul 21 23:05:44 2026 -0700 WIP on radev2-dev: ea77743 Merge branch 'main' into radev2-dev commit e74d63f7fb2d90b607f9c3aac5e891ba0536cd0d Author: Mooneer Salem Date: Tue Jul 21 23:05:44 2026 -0700 index on radev2-dev: ea77743 Merge branch 'main' into radev2-dev commit 8ccd047e77fe4ef60494c366104820d2b48abdfe Merge: 5675573 a096157 Author: Mooneer Salem Date: Tue Jul 21 22:48:01 2026 -0700 Merge branch 'main' into radev2-dev commit 5675573ed8cdfc366c0ebcf506e71a2dd6663159 Author: Mooneer Salem Date: Tue Jul 21 22:32:56 2026 -0700 Update loss test to be in line with proposed validation test. commit a096157a982f813e1600ab3b656708090191508e Author: Mooneer Salem Date: Tue Jul 21 11:19:45 2026 -0700 Require C++20 to build freedv-backend. (#31) commit 9e8afbfe4997c9a2ece0701ac305c01431140f22 Author: Mooneer Salem Date: Mon Jul 20 17:21:52 2026 -0700 Require C++20 to build freedv-backend. commit c0018ea659116c469a9b6bd45322dba594829ca4 Author: Mooneer Salem Date: Thu Jul 16 17:30:58 2026 -0700 RADE Text: Increase max callsign length to 32 characters. (#30) commit 6267dd2c3f8e22603e6ef4143a546a85b1753789 Merge: 18ef84e ea77743 Author: Mooneer Salem Date: Wed Jul 15 15:12:13 2026 -0700 Merge branch 'radev2-dev' into ms-rade-text-increase-len commit 18ef84e6a4c54a9e2f09ba851cd3fce2092c8f7a Author: Mooneer Salem Date: Wed Jul 15 15:11:40 2026 -0700 RADE Text: Increase max callsign length to 32 characters. commit f309616376718f021435e3ee52f48958480ce6f0 Merge: 58c549b 6326b3f Author: Mooneer Salem Date: Tue Jul 14 17:01:51 2026 -0700 Merge branch 'main' into ms-rade-snr-debug commit ea77743a7e3fcedbca992e6deafe8a1a904772d9 Merge: 9099852 6326b3f Author: Mooneer Salem Date: Tue Jul 14 15:46:27 2026 -0700 Merge branch 'main' into radev2-dev commit 6326b3fdc6c2bb728213dd3995b52dcc7e54afb0 Author: Mooneer Salem Date: Tue Jul 14 15:24:12 2026 -0700 Update BuildRADE.cmake to reflect new location of RADE repo. (#29) * Use Python RADE for loss.py. * Update BuildRADE.cmake to reflect new location of RADE repo. commit 4e68e8fc8048dc3836b2ac621f361dc17869d40b Author: Mooneer Salem Date: Tue Jul 14 15:04:22 2026 -0700 Update BuildRADE.cmake to reflect new location of RADE repo. commit 90998523c41bb61bd80536a84705c769b5e58f73 Merge: 8c7a308 4718886 Author: Mooneer Salem Date: Fri Jul 10 21:06:51 2026 -0700 Merge branch 'main' into radev2-dev commit 471888692ab17a3335e9e955b94816c595643b47 Author: Mooneer Salem Date: Fri Jul 10 20:04:22 2026 -0700 Use Python RADE for loss.py. (#28) commit 82cf66521c82e910ecad399fc6c5c56a22fd558f Author: Mooneer Salem Date: Fri Jul 10 18:54:36 2026 -0700 Use Python RADE for loss.py. commit 8c7a308afcf65599a43f5c213b23f01e4b93bcbe Author: Mooneer Salem Date: Fri Jul 10 10:23:21 2026 -0700 Convert EOO-based text implementation to streaming version. (#27) * Convert EOO-based text implementation to streaming version. * Reduce the worst-case callsign decode time. * Spread initial decode across multiple frames. * Optimizations to LDPC decode. * Log BER only on convergence. commit 7f3a084bbfe99c9770ad1264c25aa96e677b18bc Author: Mooneer Salem Date: Thu Jul 9 13:45:50 2026 -0700 Log BER only on convergence. commit e14bdc09bb1d6329a5a7bed24bf14af462eec8cf Author: Mooneer Salem Date: Thu Jul 9 13:39:44 2026 -0700 Optimizations to LDPC decode. commit 76c3f9ff207d3db1d0983acf0d07c9ab2c3b2515 Author: Mooneer Salem Date: Thu Jul 9 13:28:17 2026 -0700 Spread initial decode across multiple frames. commit fd7ebfc36d52008d4d1edfb7e50cc90a62356df6 Author: Mooneer Salem Date: Thu Jul 9 13:13:00 2026 -0700 Reduce the worst-case callsign decode time. commit 9ba77fad1f2e637fa1df45471cdfcc390904a9fa Author: Mooneer Salem Date: Thu Jul 9 10:31:32 2026 -0700 Convert EOO-based text implementation to streaming version. commit f350bef404235af53fb7691832fcb3d98886a752 Author: Mooneer Salem Date: Thu Jul 9 08:54:15 2026 -0700 RADE Text: Use BPSK instead of QPSK. (#25) * RADE text: Use BPSK instead of QPSK. * Add additional tests. commit 0bc37243b487f2b1c257723c09254328a59ec9af Author: Mooneer Salem Date: Thu Jul 9 00:50:30 2026 -0700 Use PR branch containing RADEV2. commit 82be302326ad174c375f3b079e3448b7eeab59d7 Author: Mooneer Salem Date: Wed Jul 8 17:46:24 2026 -0700 Add additional tests. commit c0195411989b7e37f2cbe92927e7234e4f873218 Author: Mooneer Salem Date: Wed Jul 8 17:31:40 2026 -0700 RADE text: Use BPSK instead of QPSK. commit 850db4d651eee7400cdb197d42eccb7b1318cd8a Merge: d77813f 6dae569 Author: Mooneer Salem Date: Wed Jul 8 16:52:40 2026 -0700 Merge branch 'main' into ms-text-structured-encoding commit d77813f833624759499f0fd3eb73fac618af2098 Author: Mooneer Salem Date: Wed Jul 8 16:52:23 2026 -0700 Add additional test cases and fixes. commit 6dae569cde4282bfbe9ff398987e12ccc6c68f82 Author: Mooneer Salem Date: Wed Jul 8 16:06:02 2026 -0700 Win32 multicast: need to manually specify network interface. (#24) * Win32 multicast: need to manually specify network interface. * Fix errors discovered in testing. commit 63e98fe5677f8e9f4ccb0e46b26b1580936a0e8d Author: Mooneer Salem Date: Wed Jul 8 15:54:57 2026 -0700 Fix errors discovered in testing. commit e1f96642128e5cf1df8aa1cdbf78631f6c83e3cd Author: Mooneer Salem Date: Wed Jul 8 15:10:09 2026 -0700 Win32 multicast: need to manually specify network interface. commit 1fc42e2cedf85cd75fa56b1b57f06cea3629a395 Author: Mooneer Salem Date: Wed Jul 8 11:11:12 2026 -0700 UdpHandler: join multicast group if multicast address is provided. (#23) * UdpHandler: join multicast group if multicast address is provided. * Fix issues discovered during testing. commit 3bc8bc0a47ef968ced4951621644b6a3262e8bfb Author: Mooneer Salem Date: Wed Jul 8 11:09:03 2026 -0700 Fix issues discovered during testing. commit 48eb3c2914e5d454d1366638ca622bc0fc75bcf8 Author: Mooneer Salem Date: Wed Jul 8 10:48:07 2026 -0700 UdpHandler: join multicast group if multicast address is provided. commit 53f1c3f2e99c8969a2cd1feda074c527f9c00424 Author: Mooneer Salem Date: Tue Jul 7 14:12:08 2026 -0700 RADE Text: Use structured encoding instead of fixed character set. commit 28bf1ccac439049beeba4d9d6494cf2df75120d0 Author: Mooneer Salem Date: Tue Jul 7 11:25:45 2026 -0700 RADE text: Fix off by one bug preventing proper encoding of '/'. (#21) * RADE text: Fix off by one bug preventing proper encoding of '/'. * Add additional tests for RADE text. commit 9139376960de0d7d916ff6923e222a766dfbe762 Author: Mooneer Salem Date: Tue Jul 7 11:02:54 2026 -0700 Add additional tests for RADE text. commit f93272557fd272770bfc9a0c2f04980e82640ab8 Author: Mooneer Salem Date: Tue Jul 7 10:57:31 2026 -0700 RADE text: Fix off by one bug preventing proper encoding of '/'. commit 58c549b250047dbbf8e2ae22be3fa93125896caa Merge: 17e1ddb a2cb5e0 Author: Mooneer Salem Date: Mon Jul 6 16:56:47 2026 -0700 Merge branch 'main' into ms-rade-snr-debug commit a2cb5e001db239592c7e7c17f6730373d47b30c4 Author: Mooneer Salem Date: Mon Jul 6 13:35:32 2026 -0700 Add GitHub Actions to build/test Windows and universal macOS versions. (#20) * Add support for TLS connections using LibreSSL. * Force TLS connections on FreeDV Reporter for testing. * Forgot to set port to 443. * Fixes for issues during tests on macOS. * Fix TLS validation (macOS/Linux). * Fix Ubuntu 22.04 CMake errors. * Use Windows certificate store for root certs. * Use OpenSSL first and only fall back to own LibreSSL if needed. * Add OpenSSL include directories if using it instead of LibreSSL. * Update API to allow clients to use TLS or not for FreeDV Reporter. * FreeDVReporter: default to no TLS to match previous behavior. * SSL context needs to be atomic. * Clear SSL variables on shutdown ASAP. * Update README. * Add GitHub Action logic to build and test on Windows / universal macOS. * Fix Windows failure during configure/early make. * Try to detect whether a library is a universal binary. * Fix macOS build failure. * Suppress failures when library doesn't actually exist. commit 07e14d965b2c8acbddb7c5c04e92075b4f157c1d Author: Mooneer Salem Date: Mon Jul 6 13:32:18 2026 -0700 Suppress failures when library doesn't actually exist. commit c738120ff22c96d3781773b1e492d8fb53274140 Author: Mooneer Salem Date: Mon Jul 6 13:14:56 2026 -0700 Fix macOS build failure. commit 3123b95d9e85ae1b59678bdc06cf9e5b26c4e8da Author: Mooneer Salem Date: Mon Jul 6 12:58:19 2026 -0700 Try to detect whether a library is a universal binary. commit fd34068bc55379fd21e858a0ed8e6ab802b1a786 Author: Mooneer Salem Date: Mon Jul 6 12:22:15 2026 -0700 Fix Windows failure during configure/early make. commit 05bd901ad1bb22677cdcfb6ba2319760a8134d83 Merge: 200d862 71cb59e Author: Mooneer Salem Date: Mon Jul 6 12:16:23 2026 -0700 Merge branch 'main' into ms-github-action-windows commit 200d8629ecf1b1551be2cd60bb72a75e43c8050b Author: Mooneer Salem Date: Mon Jul 6 12:14:05 2026 -0700 Add GitHub Action logic to build and test on Windows / universal macOS. commit 71cb59ed7d35cd8f9f69ea1851c2a8a5e051993b Author: Mooneer Salem Date: Mon Jul 6 09:36:06 2026 -0700 Allow overriding of TLS certificate locations. (#19) * Allow overriding of TLS certificate locations. * Fix comment. commit 87e7fd4af49b1df2639c33f6d59dc3544c655101 Author: Mooneer Salem Date: Mon Jul 6 09:30:05 2026 -0700 Fix comment. commit 2c245700ed0400f9ff7b71ee646c9fcc419bb31c Author: Mooneer Salem Date: Mon Jul 6 09:29:29 2026 -0700 Allow overriding of TLS certificate locations. commit 8ce4c02bf8fd6afb2ef6af7d155b1f2059bb9f7c Author: Mooneer Salem Date: Sun Jul 5 19:59:01 2026 -0700 Fix ODR violation when referencing TcpConnectionHandler directly from other projects. (#18) commit 81168d10166e2472f499374e39c29610ab0da6c0 Author: Mooneer Salem Date: Sun Jul 5 19:56:39 2026 -0700 Fix ODR violation when referencing TcpConnectionHandler directly from other projects. commit 17e1ddb239568bff39cdcb2bc0d3aad0012feba5 Merge: baebe68 4a01b06 Author: Mooneer Salem Date: Sun Jul 5 17:23:50 2026 -0700 Merge branch 'main' into ms-rade-snr-debug commit 4a01b065fbf84d4dd4627b99691b3715169273a1 Author: Mooneer Salem Date: Sun Jul 5 12:13:29 2026 -0700 Fix issues with TLS connections from previous PRs. (#17) commit a64ccd0bdc36d9f708d49d3e731bfcc0eb16a41b Author: Mooneer Salem Date: Sun Jul 5 12:08:23 2026 -0700 Fix issues with TLS connections from previous PRs. commit dee5ddff4c7d69a3d7f49bfd078cab98bf024365 Author: Mooneer Salem Date: Sun Jul 5 10:08:00 2026 -0700 Hotfix for intermittent UBSan error. (#16) commit e92bb1bfe8b964eaa5b3128a367f92d108d07da9 Author: Mooneer Salem Date: Sun Jul 5 10:05:27 2026 -0700 Hotfix for intermittent UBSan error. commit a1c30b1713100ca9e872274fa7668c434e0a389b Author: Mooneer Salem Date: Sun Jul 5 00:11:25 2026 -0700 Add support for TLS connections using LibreSSL. (#15) * Add support for TLS connections using LibreSSL. * Force TLS connections on FreeDV Reporter for testing. * Forgot to set port to 443. * Fixes for issues during tests on macOS. * Fix TLS validation (macOS/Linux). * Fix Ubuntu 22.04 CMake errors. * Use Windows certificate store for root certs. * Use OpenSSL first and only fall back to own LibreSSL if needed. * Add OpenSSL include directories if using it instead of LibreSSL. * Update API to allow clients to use TLS or not for FreeDV Reporter. * FreeDVReporter: default to no TLS to match previous behavior. * SSL context needs to be atomic. * Clear SSL variables on shutdown ASAP. * Update README. commit 5be91e67ba955953947e25f08aa9b9345e3ab7e9 Author: Mooneer Salem Date: Sun Jul 5 00:11:10 2026 -0700 Update README. commit 8ea18ad270e6dc7c49ae9f91219a889bd319e03d Author: Mooneer Salem Date: Sat Jul 4 23:54:27 2026 -0700 Clear SSL variables on shutdown ASAP. commit aa0e008fd708c87e74e945eb5b3df2636de09fdc Author: Mooneer Salem Date: Sat Jul 4 23:37:06 2026 -0700 SSL context needs to be atomic. commit 7adbd3cf3235f696437cec96332284ff4e6f0ad6 Author: Mooneer Salem Date: Sat Jul 4 22:41:01 2026 -0700 FreeDVReporter: default to no TLS to match previous behavior. commit e978351a8b4731323f6e4cc7dbcc67e11c9211a7 Author: Mooneer Salem Date: Sat Jul 4 16:47:23 2026 -0700 Update API to allow clients to use TLS or not for FreeDV Reporter. commit b886b9e655ce7da5cc0936ece6611704e0805753 Author: Mooneer Salem Date: Sat Jul 4 16:44:35 2026 -0700 Add OpenSSL include directories if using it instead of LibreSSL. commit 3ae84321802e94c5d77d09d2e89a2f5ea1a30ab5 Author: Mooneer Salem Date: Sat Jul 4 16:15:35 2026 -0700 Use OpenSSL first and only fall back to own LibreSSL if needed. commit df1c2b75403a03f8935ded21f3c689a55028a2d6 Author: Mooneer Salem Date: Sat Jul 4 15:20:04 2026 -0700 Use Windows certificate store for root certs. commit 5e33408489f12484c3603d29a4a0f785831c5bc8 Author: Mooneer Salem Date: Sat Jul 4 15:19:47 2026 -0700 Fix Ubuntu 22.04 CMake errors. commit c22f18258945e1b8c0e119a8a660de5632de418a Author: Mooneer Salem Date: Fri Jul 3 18:28:08 2026 -0700 Fix TLS validation (macOS/Linux). commit a6cf2d6d921e877a39e0759ed22f59de91d2b8b4 Author: Mooneer Salem Date: Fri Jul 3 17:43:46 2026 -0700 Fixes for issues during tests on macOS. commit 66a00930ef837202833878abfcef13c2ef10d48e Author: Mooneer Salem Date: Fri Jul 3 17:10:32 2026 -0700 Forgot to set port to 443. commit 0797aacf6236c5ca98fc047a5a7c9e911de131f2 Author: Mooneer Salem Date: Fri Jul 3 17:09:34 2026 -0700 Force TLS connections on FreeDV Reporter for testing. commit 27ea5b17412555e836a52bcce4d6ebbaf34eb418 Author: Mooneer Salem Date: Fri Jul 3 17:06:29 2026 -0700 Add support for TLS connections using LibreSSL.