Skip to content

MIMO rx streaming overflows a lot #26

Description

@guruofquality

So its not clear as to how the API is being used wrong, but for very low rates, every other call is reporting an overflow

  • Running a simple rate testing loop (which works great on single channel up to very high rates), I get overflow messages every other call to sync_rx() and the timestamp is 0x1234432112344321 every other call as well.

SoapySDRUtil --rate=1e6 --direction=RX --channels="0,1"

[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 1016
[NOTICE] md.timestamp = 0x3
[NOTICE] md.status = 0x30001
[NOTICE] numElems read per channel = 508
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0x1234432112344321
[NOTICE] md.status = 0x30001
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0x3fb
[NOTICE] md.status = 0x1
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0x1234432112344321
[NOTICE] md.status = 0x30001
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0x5f7
[NOTICE] md.status = 0x1
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0x1234432112344321
[NOTICE] md.status = 0x30001
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0x7f3
[NOTICE] md.status = 0x1
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0x1234432112344321
[NOTICE] md.status = 0x30001
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0x9ef
[NOTICE] md.status = 0x1
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0x1234432112344321
[NOTICE] md.status = 0x30001
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
[NOTICE] readStream called with samples per channel = 4096
[NOTICE] calling bladerf_sync_rx(num_samples = 8192)
[NOTICE] md.actual_count = 508
[NOTICE] md.timestamp = 0xbeb
[NOTICE] md.status = 0x1
[NOTICE] numElems read per channel = 254
[NOTICE] BLADERF_META_STATUS_OVERRUN
  • If I force the num_samples passed to bladerf_sync_rx() to be 508 (the value actual_count returns), then I don't get the overflows, but every other time is 0x1234432112344321

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions