Releases: jj1bdx/airspy-fmradion
20240424-0
20240316-0
MP3 file output (#47) is finally supported!
What's Changed
- Remove FM AFC code by @jj1bdx in #70
- Change VOLK version display format by @jj1bdx in #71
- Documentation fix by @jj1bdx in #72
- Set PortAudio default latency time to 40ms by @jj1bdx in #73
- Add MP3 output file capability by @jj1bdx in #74
- Documentation fix for 202403 release by @jj1bdx in #75
Full Changelog: 20240107-0...20240316-0
20240107-0
What's Changed
- Use averaging for detecting FM stereo pilot level instability by @jj1bdx in #60
- Add cmake-git-version-tracking by @jj1bdx in #61
- Stop using PilotState::Detected by @jj1bdx in #63
- CMakeLists.txt: add compile_commands.json support by @jj1bdx in #62
- Fix potential bugs of clang-tidy warnings by @jj1bdx in #64
- Fix RTL-SDR buffer size and stat_rate calculation by @jj1bdx in #66
- Documentation change for 20240107-0 release by @jj1bdx in #67
- Version 20240107-0 release by @jj1bdx in #68
Full Changelog: 20231227-0...20240107-0
20231227-0
Command option change: -b
is no longer recognized
Note well: -b
option is removed and will cause an error.
What's Changed
- See CHANGES.md for the details.
- Split class PilotPhaseLock from FmDecode by @jj1bdx in #54
- DataBuffer: roll back to std::queue version again by @jj1bdx in #55
- Remove buffer option
-b
by @jj1bdx in #57 - Add stabilized state to the stereo pilot detection signs by @jj1bdx in #56
Full Changelog: 20231216-0...20231227-0
20231216-0
Removed recording buffer thread. This will simplify the audio output operation. Also, lowered the output level of AM/CW/USB/LSB/WSPR decoder to prevent audio clipping, and changed the IF AGC constants for longer transition timing.
What's Changed
Full Changelog: 20231215-0...20231216-0
20231215-0
What's Changed
- Fix link to libvolk install page by @argilo in #44
- Remove NaNs and process hanging by @jj1bdx in #45
Changes in details
- 20231215-0: Fix the following known bugs and refactor the code to streamline the functioning:
- Bug: a hung process during the startup period before valid audio signals are coming out
- Bug: displaying
-nan
in the output level meter in broadcast FM and NBFM- The NaN is presumably generated by
volk_32fc_s32f_atan2_32f()
inPhaseDiscriminator::process()
- This NaN issue was presumably the root cause of the multipath filter anomaly first fixed in 20231213-1
- The NaN is presumably generated by
- Enhancement: streamlining processing flow in the main for loop of
main()
- Enhancement: removing the initial waiting period for startup; the output is now activated from the block number 1
- Utility addition: adding
Utility::remove_nans()
, a function to check and substitute NaNs and infinity values in IQSamplesDecodedVector
Full Changelog: 20231213-1...20231215-0
20231213-1
This is a bugfix release to solve the output problem on 20231213-0.
The reason is described in #42 (comment)
duplicated in this release note as follows:
The calculation failure was caused by one or more NaNs being in the PhaseDiscriminator calculation result. The result propagated in the later stages to prevent normal output. The multipath filter was working even if the NaNs were output because the reason for NaN was presumably the 0+0j output value of the multipath filter. The 0+0j output will not happen in the real-world input, although there's no guarantee that it will not happen. So, I decided to reset the multipath filter calculation if 0+0j output is found in the calculation result. This filter reset hack presumably solved the root cause.
See https://github.com/jj1bdx/airspy-fmradion/blob/c6ca61c600dc48f0e0af2322c61fe6ab16e25c3b/sfmbase/MultipathFilter.cpp#L172-L177 for the fixed code.
Full Changelog: 20231213-0...20231213-1
20231213-0
- A long-time remained uninitialized variable bug was fixed.
- Now supports VOLK (libvolk) 3.1.0.
What's Changed
New Contributors
Full Changelog: 20230910-0...20231213-0
20230910-0
Maintenance release.
- Intel Mac hardware is no longer supported.
- Updated r8brain-free-src to Version 6.4.
Full Changelog: 20230529-0...20230910-0
20230529-0
Major changes
- The buffer length option
-b
is ignored. The audio sample data sent to AudioOutput base classes are no longer pre-buffered.
Other implementation changes
- DataBuffer class is reimplemented as a wrapper of
moodycamel::BlockReaderWriterQueue
, which allows efficient blocking operation and removes the requirements of busy waiting by usingmoodycamel::BlockReaderWriterQueue::wait_dequeue()
. - Explicitly skip IF Resampler in class FmDecoder to reduce CPU usage for typical settings (i.e., IF sample rate is set to 384 ksamples/sec for Airspy HF+).
- Removed unnecessary error detection code for MultipathFilter::process().
- Other miscellaneous fixes. See CHANGES.md for the details.