Skip to content

Commit

Permalink
Version 4.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
szpajder committed Oct 18, 2021
1 parent 777c372 commit 4e65ac8
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 75 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ project (RTLSDR-Airband CXX)

set (RTL_AIRBAND_VERSION_MAJOR 4)
set (RTL_AIRBAND_VERSION_MINOR 0)
set (RTL_AIRBAND_VERSION_PATCH 0pre)
set (RTL_AIRBAND_VERSION_PATCH 0)
set (RTL_AIRBAND_VERSION "${RTL_AIRBAND_VERSION_MAJOR}.${RTL_AIRBAND_VERSION_MINOR}.${RTL_AIRBAND_VERSION_PATCH}")

set (CMAKE_CXX_STANDARD 11)
Expand Down
48 changes: 47 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,58 @@
# NEWS

Version 4.0.0 (Oct 19, 2021):

* RTLSDR-Airband is now built with CMake. Refer to the wiki for updated
compilation instructions.
* When compiling the program, a new `PLATFORM` value `native` can now be
specified. It enables `-march=native -mtune=native` compilation options. This
causes the compiler to apply the most appropriate optimizations for the
hardware on which the app is being built (thx @charlie-foxtrot).
* BACKWARDS-INCOMPATIBLE CHANGE: Signal level and noise level estimates
displayed in the textual waterfalls are now expressed in dBFS (decibels
related to the full scale of the analog-to-digital converter). The main
benefit of the new approach is that these values do not depend on the
`fft_size` value(thx @charlie-foxtrot).
* BACKWARDS-INCOMPATIBLE CHANGE: Improved squelch algorithm with new
configuration parameters. `squelch` keyword has been replaced with
`squelch_threshold` which takes an absolute signal value in dBFS as an
argument. Alternatively, a minimum signal-to-noise ratio (in dB) that should
trigger the squelch might be configured using `squelch_snr_threshold` option
(thx @charlie-foxtrot).
* BACKWARDS-INCOMPATIBLE CHANGE: `include_freq` config option for file outputs
now causes the frequency to be appended after the timestamp rather than
before it. This feature now works correctly in scan mode, when
`split_on_transmission` feature is enabled. (thx @charlie-foxtrot).
* BACKWARDS-INCOMPATIBLE CHANGE: sample format in files produced by `rawfile`
outputs has been changed from CS16 to CF32. File name suffix is now `.cf32`.
* Improved squelch indicator in the textual waterfalls. In addition to the `*`
character indicating that the squelch is open, there is also a `~` character
indicating that the channel has a signal that is being suppressed because it
is outside the band of the channel filter (thx @charlie-foxtrot).
* New output type `udp_stream` for sending uncompressed audio to another host
via UDP/IP (thx @charlie-foxtrot).
* Added `multiple_output_threads` global option. When set to `true`, a separate
output thread is spawned for each device (thx @charlie-foxtrot).
* Modulation in scan mode is now configurable per channel (thx
@charlie-foxtrot).
* SoapySDR errors like TIMEOUT or OVERFLOW are no longer treated as fatal. They
often appear intermittently, especially when the CPU usage is high. There is
no point in failing the input in this case.
* Added `.tmp` suffix to the names of the output files currently being written
to. The suffix is removed when the file is closed. External applications that
consume recorded files can now figure out which files are not yet complete.
* Added logging and statistics for output thread overruns and mixer
input/output overruns (thx @charlie-foxtrot).
* The program can now be built on MacOS.
* Miscellaneous bug fixes and code cleanups.

Version 3.2.1 (Nov 13, 2020):

* Fixed a compile error when using libshout older than 2.4.0

Version 3.2.0 (Nov 08, 2020):

* Added `split_per_transmission` output file option which allows creating
* Added `split_on_transmission` output file option which allows creating
a new file for every transmission on the channel (thx @charlie-foxtrot).
* Added `include_freq` output file option, which causes the channel frequency
to be appended to the file name (thx @charlie-foxtrot).
Expand Down
103 changes: 30 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,6 @@
RTLSDR-Airband
=====================
# RTLSDR-Airband

This is a development branch of RTLSDR-Airband.

**NOTE: The program is now built with cmake. Building instructions from the Wiki do not apply to this branch. Please use the following procedure:**

- Install all required dependencies as per the Wiki.
- Install cmake and pkg-config:

```
apt-get install cmake pkg-config
```

- Clone the repository and switch to the `unstable` branch:

```
git clone https://github.com/szpajder/RTLSDR-Airband.git
cd RTLSDR-Airband
git checkout unstable
```

- Build the program as follows:

```
mkdir build
cd build
cmake ../
make
make install
```

- The following options may be specified when running `cmake`:

- `-DPLATFORM=<platform_name>` - optimize the build for the given hardware. `<platform_name>` might be one of: `rpiv1`, `rpiv2`, `armv7-generic`, `armv8-generic`, `native`.
- `-DNFM=1` - enables narrow FM support (0 disables).
- `-DRTLSDR=0 -DMIRISDR=0 -DSOAPYSDR=0 -DPULSEAUDIO=0` - disables respective SDR driver and/or feature. They are all enabled by default and will be built if necessary dependencies are detected.
- `-DPROFILING=1` - enable profiling support with Google Perftools.

Example:

```
cmake -DPLATFORM=rpiv2 -DSOAPYSDR=0 -DPROFILING=1 ../
```

The Wiki will be updated once the new build system is declared stable and a new release is made.

=====================

**Current stable release: [3.2.1](https://github.com/szpajder/RTLSDR-Airband/releases/latest)** (released November 13, 2020)
**Current stable release: [4.0.0](https://github.com/szpajder/RTLSDR-Airband/releases/latest)** (released October 19, 2021)

RTLSDR-Airband receives analog radio voice channels and produces
audio streams which can be routed to various outputs, such as online
Expand All @@ -56,23 +9,23 @@ supported by the program was Realtek DVB-T dongle (hence the project's
name). However, thanks to SoapySDR vendor-neutral SDR library, other
radios are now supported as well.

Documentation
--------------------
## Documentation

User's manual is now on the [wiki](https://github.com/szpajder/RTLSDR-Airband/wiki).

Credits and thanks
--------------------
## Credits and thanks

I hereby express my gratitude to everybody who helped with the development and testing
of RTLSDR-Airband. Special thanks go to:

* Dave Pascoe
* SDR Guru
* Marcus Ströbel
* strix-technica
* charlie-foxtrot
* Dave Pascoe
* SDR Guru
* Marcus Ströbel
* strix-technica
* charlie-foxtrot

## License

License
--------------------
Copyright (C) 2015-2021 Tomasz Lemiech <[email protected]>

Based on original work by Wong Man Hang <[email protected]>
Expand All @@ -90,23 +43,25 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Open Source Licenses of bundled code
---------------------
## Open Source Licenses of bundled code

### gpu_fft

BCM2835 "GPU_FFT" release 2.0
Copyright (c) 2014, Andrew Holme.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
Expand All @@ -120,6 +75,8 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

### rtl-sdr
* Copyright (C) 2012 by Steve Markgraf <[email protected]>
* Copyright (C) 2015 by Kyle Keen <[email protected]>
* GNU General Public License Version 2

* Copyright (C) 2012 by Steve Markgraf <[email protected]>
* Copyright (C) 2015 by Kyle Keen <[email protected]>
* GNU General Public License Version 2

0 comments on commit 4e65ac8

Please sign in to comment.