Skip to main content

An asynchronous Python wrapper based on the official bladerf python library from Nuand

Project description

BladeRF SDR asynchronous wrapper

A python wrapper for the bladerf python bindings from Nuand. It provides synchronous as well as asynchronous functionality to send and receive data to and from the BladeRF SDR.

Installation

  • To install the requirements for this package: python3 -m pip install -r requirements.txt
  • To install system-wide: sudo python3 setup.py install
  • To install for your user: python3 setup.py install

Usage

Below is an example of how to use the asynchronous wrapper with a python context manager and an asynchronous generator to continuously receive samples from the SDR for 5 seconds.

import asyncio
import bladerf
from bladerfsdraio import AioBladeRF


async def main():
    with AioBladeRF() as sdr:
        ch_rx = sdr.Channel(bladerf.CHANNEL_RX(0))
        ch_rx.sample_rate = 1e6
        ch_rx.frequency = 1e9

        async def stream_samples(sdr: AioBladeRF):
            async for samples in sdr.stream_samples_async(ch_rx, chunk_size=1024):
                # .. handle samples
                print(samples.max())

        async def cancel_after(secs: float, sdr: AioBladeRF):
            await asyncio.sleep(secs)
            sdr.cancel_receive()

        await asyncio.gather(
            stream_samples(sdr),
            cancel_after(5, sdr)
        )


if __name__ == '__main__':
    asyncio.run(main())

Project details


Release history Release notifications | RSS feed

This version

0.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bladerf-sdr-aio-0.9.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bladerf_sdr_aio-0.9-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file bladerf-sdr-aio-0.9.tar.gz.

File metadata

  • Download URL: bladerf-sdr-aio-0.9.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for bladerf-sdr-aio-0.9.tar.gz
Algorithm Hash digest
SHA256 7d74c7cbd63ed7f3008217cc0659b1c95f8ae0a076100983150a6a230ee272d2
MD5 f59f858cfcf9df24b7a58b5fde33c56f
BLAKE2b-256 ab1e31dd957b18b41671853d84a7bbe43b24e25dfc9c8131a1404712d14578e7

See more details on using hashes here.

File details

Details for the file bladerf_sdr_aio-0.9-py3-none-any.whl.

File metadata

  • Download URL: bladerf_sdr_aio-0.9-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for bladerf_sdr_aio-0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1074cea7e8559456e06bce4124c39a1cf51ce9f5990dcd6bd9462979e0442d7c
MD5 880864f5c6717ae11bc035d609b8073f
BLAKE2b-256 f0060759a2d5c976058ad43d472da022d1414cf7ff74825ffa5a87b21880ab01

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page