gr-osmosdr.git branch master updated. v0.1.4-72-g164a09f

gitosis at gitosis at
Sun Feb 28 16:52:22 UTC 2016

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Radio block for interfacing with various radio hardware".

The branch, master has been updated
       via  164a09fc11cec2d8b15b38e8b512fa542d6cecc7 (commit)
       via  b206a90f494cf07389d1f24467964afe89f5c111 (commit)
       via  e6f46a1c04f3f6daa48d2a49b00592a6e1f32b5c (commit)
       via  2b798113503be73d67348dec5ed9f944de6fe7b6 (commit)
       via  d230397957603a026c688dd462d349f8dcb645c8 (commit)
      from  ac15e7897bb740d083c71bf02729467ca6528635 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit 164a09fc11cec2d8b15b38e8b512fa542d6cecc7
Author: Dimitri Stolnikov <horiz0n at>
Date:   Sun Feb 28 17:52:01 2016 +0100

    airspy: Option pack={0,1} to enable USB bit packing
    Patch provided by Martin Smith.
    Last July there were several changes made to the Airspy firmware and
    libairspy that added support for a new bit packing mode where 4 sets of
    12 bit samples are packed into 3 sets of 16 bits for the transfer across
    the USB bus ( ). 25% less data is
    transferred across the bus and this is good for some computers with
    cheap USB chipsets. There is an overhead of extra memory bandwidth
    required on the host side to unpack the data into a useful format, so
    for optimal performance bit packing is disabled by default.
    The data is automatically unpacked within libairspy before being passed
    along, so no changes are required anywhere else if packing is enabled
    (or not enabled). Airspy firmware older than v1.0.0-rc6 does not have
    the function, but that is detected and handled by libairspy.
    I wrote the attached patch to enable packing in gr-osmosdr, which I
    tested and it works. It is basically a clone of the bias=0|1 lines as
    pack=0|1 and calls the needed libairspy function.
    Do some Baseline test with Airspy command line tools to have something
    to compare USB throughput results
    $ sudo mount -t debugfs none /sys/kernel/debug
    $ sudo modprobe usbmon
    $ wireshark -i usbmod3 &
    $ airspy_info ; sleep 120 ; \
    airspy_rx -t 4 -r /dev/null -n 2400000000 ; sleep 120 ; \
    airspy_rx -t 4 -r /dev/null -p 1 -n 2400000000 ; sleep 120 ; \
    Wireshark->Statistics->IO Graph
    The Bytes/Tick are double the actual data rate because of way wireshark
    collects the USB packets, I could have added a filter to fix this. But
    the relationship is valid 25% less with packing enabled. The data rate
    in the IO Grahp drops from 80MB/sec (in+out) [really 40MB/sec] to
    60MB/second (in+out) [really 30MB/sec] from unpacked to packed.
    10MSPS no packing, packing
    2.5MSPS no packing, packing
    Verification test with my patched gr-osmosdr
    $ sudo mount -t debugfs none /sys/kernel/debug
    $ sudo modprobe usbmon
    $ wireshark -i usbmod3 &
    $ osmocom_fft -a "airspy=0" -s 10000000 --fft-rate=1
    $ osmocom_fft -a "airspy=0,pack=1" -s 10000000 --fft-rate=1
    $ osmocom_fft -a "airspy=0" -s 2500000 --fft-rate=1
    $ osmocom_fft -a "airspy=0,pack=1" -s 2500000 --fft-rate=1
    $ osmocom_fft -a "airspy=0" -s 2500000 --fft-rate=1
    $ osmocom_fft -a "airspy=0,pack=0" -s 2500000 --fft-rate=1
    I ran all of the above tests and the wireshark USB throughput graphs
    showed exactly what was expected.
    25% less when packing was enabled and if you did not specify the
    "pack=1", then no bit packing is performed by libairspy. All the
    magnitudes within the FFT windows looked exactly the same as they do
    without bit packing.

commit b206a90f494cf07389d1f24467964afe89f5c111
Author: Dimitri Stolnikov <horiz0n at>
Date:   Sun Feb 28 17:50:54 2016 +0100

    apps: implement --peak-hold option for fft

commit e6f46a1c04f3f6daa48d2a49b00592a6e1f32b5c
Author: Dimitri Stolnikov <horiz0n at>
Date:   Sun Feb 28 17:46:55 2016 +0100

    apps: added --clock-source option to fft and siggen

commit 2b798113503be73d67348dec5ed9f944de6fe7b6
Author: Dimitri Stolnikov <horiz0n at>
Date:   Sun Feb 28 17:45:54 2016 +0100

    bladerf: implement options for clock configuration
    Since firmware 2016.01-rc1 bladeRF has the ability to lock to an
    external reference as well as produce arbitrary frequency signal
    (25 MHz here) on its clock output.
    Use gr-osmosdr source with the following arguments to produce 25
    MHz on the SMB connector:
    osmocom_fft -a bladerf,smb=25e6
    To lock the bladeRF itself to an external GPSDO reference, use
    additional arguments tamer=external for 10MHz or tamer=external_1pps for
    1PPS GPSDO signals.
    osmocom_fft -a bladerf,smb=25e6,tamer=external
    The described method requires
    Carefully *read the instructions for external reference locking*
    (especially max allowed voltage levels) on Nuand's blog https://

commit d230397957603a026c688dd462d349f8dcb645c8
Author: Jiří Pinkava <j-pi at>
Date:   Mon Feb 15 14:22:04 2016 +0100

    allow both 3.7.* and git version of GnuRadio


Summary of changes:
 CMakeLists.txt                  |  7 +++-
 apps/osmocom_fft                |  9 +++++
 apps/     |  6 +++
 grc/       |  3 +-
 lib/airspy/   | 10 +++++
 lib/bladerf/   | 81 +++++++++++++++++++++++++++++++++++++++++
 lib/bladerf/bladerf_common.h    |  7 ++++
 lib/bladerf/   | 15 ++++++++
 lib/bladerf/bladerf_sink_c.h    |  4 ++
 lib/bladerf/ | 15 ++++++++
 lib/bladerf/bladerf_source_c.h  |  4 ++
 11 files changed, 159 insertions(+), 2 deletions(-)

GNU Radio block for interfacing with various radio hardware

More information about the osmocom-commitlog mailing list