Skip to content

Commit

Permalink
Version 20231213-0
Browse files Browse the repository at this point in the history
  • Loading branch information
jj1bdx committed Dec 13, 2023
1 parent 4e796ec commit e6e0a68
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 11 deletions.
5 changes: 3 additions & 2 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The following submodules are required:

* Mac mini 2023 Apple Silicon (M2 Pro), macOS 14.2, Xcode 15.1 Command Line Tools
* MacBook Air 13" Apple Silicon (M1) 2020, macOS 14.2, Xcode 15.1 Command Line Tools
* Ubuntu 22.04.3 LTS x86\_64, gcc 11.4.0 (with VOLK 2.5.1 or 3.0.0 only)
* Ubuntu 22.04.3 LTS x86\_64, gcc 12.3.0
* (Unofficial/experimental) Raspberry Pi OS

## Features under development
Expand All @@ -23,7 +23,7 @@ The following submodules are required:

## Known limitations

* **Use VOLK v3.0.0 or v2.5.1 in apt repository for Ubuntu 22.04.3.**
* For VOLK 3.1.0, use 20231213-0 or later.
* For Raspberry Pi 3 and 4, Airspy R2 10Msps and Airspy Mini 6Msps sampling rates are *not supported* due to the hardware limitation. Use in 2.5Msps for R2, 3Msps for Mini.

### Intel Mac support is dropped
Expand All @@ -32,6 +32,7 @@ Intel Mac hardware is no longer supported by airspy-fmradion, although the autho

## Changes (including requirement changes)

* 20231213-0: Fixed an uninitialized variable `m_save_phase` in PhaseDiscriminator as in [the pull request](https://github.com/jj1bdx/airspy-fmradion/pull/43) by Clayton Smith.
* 20231212-1: FAILED: tried to make API compatible with [VOLK 3.1.0 change for s32fc functions](https://github.com/gnuradio/volk/pull/695), for `volk_32fc_x2_s32fc_multiply_conjugate_add_32fc()`, but this didn't work on Ubuntu 22.04.3.
* 20231212-0: Updated r8-brain-free-src to Version 6.5.
* 20230923: failed changes: low latency setting for buffering-based PortAudio didn't work well. Discarded changes of 20230910-1 to 20230910-4 from the dev branch.
Expand Down
11 changes: 6 additions & 5 deletions INSTALL-latest-libvolk.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
# Installing the latest libvolk on macOS and Linux

## Required version
## Compatible versions

Use libvolk 2.5.2.
Use the following versions of VOLK aka libvolk:

* 2.5.2
* 3.0.0
* 3.1.0

Note: libvolk 2.1 to 2.5.1 will work without issues, but no guarantee.

## For x86_64 and M1 macOS: use Homebrew

For libvolk 2.5.2, the bottled binary of x86\_64 works OK with the SIMD acceleration, and the bottled M1 binary detects neon capability.

```sh
brew install volk
```

## For Linux

* For Ubuntu 22.04.3 LTS, *libvolk 3.1.0 does not work.* Use 3.0.0 or 2.5.1 in the apt repository.
* See [libvolk README.md](https://github.com/gnuradio/volk#readme).

## After installation
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# airspy-fmradion

* Version 20231212-1
* Version 20231213-0
* For MacOS (supporting Apple Silicon only, untested on Intel) and Linux

## Contributing
Expand Down Expand Up @@ -441,6 +441,7 @@ install -o user -m 0700 -c -s build/airspy-fmradion $(HOME)/bin
* [Takehiro Sekine](https://github.com/bstalk), for suggesting using GNU Radio's [VOLK](http://libvolk.org/) for faster calculation, and implementing Filesource device driver
* [Takeru Ohta](https://github.com/sile), for his [Rust implementation](https://github.com/sile/dagc) of [Tisserand-Berviller AGC algorithm](https://hal.univ-lorraine.fr/hal-01397371/document)
* [Cameron Desrochers](https://github.com/cameron314), for his [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) implementation of a single-producer-single-consumer lock-free queue for C++
* [Clayton Smith](https://github.com/argilo), for [a bugfix pull request to airspy-fmradion to find an uninitialized variable](https://github.com/jj1bdx/airspy-fmradion/pull/43) and his help during [bug tracking in VOLK](https://github.com/gnuradio/volk/pull/695).

## License

Expand Down
2 changes: 1 addition & 1 deletion main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
// define this for monitoring DataBuffer queue status
// #undef DATABUFFER_QUEUE_MONITOR

#define AIRSPY_FMRADION_VERSION "20231212-1"
#define AIRSPY_FMRADION_VERSION "20231213-0"

// Flag to set graceful termination
// in process_signals()
Expand Down
3 changes: 1 addition & 2 deletions sfmbase/PhaseDiscriminator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@
PhaseDiscriminator::PhaseDiscriminator(double max_freq_dev)
: m_normalize_factor(max_freq_dev * 2.0 * M_PI),
// boundary = M_PI / m_normalize_factor;
m_boundary(1.0 / (max_freq_dev * 2.0)),
m_save_value(0) {}
m_boundary(1.0 / (max_freq_dev * 2.0)), m_save_value(0) {}

// Process samples.
void PhaseDiscriminator::process(const IQSampleVector &samples_in,
Expand Down

0 comments on commit e6e0a68

Please sign in to comment.