Skip to content

2.1 RX Streamer

Jack Sankey edited this page Jul 1, 2017 · 16 revisions

Overview

The purpose of this application is to buffer and stream data from the RX port(s), analyze it, and plot / save it in real time.

Start it up!

To test it out, try these commands from the python terminal:

>>> import pycrimson.applications
>>> r = pycrimson.applications.rx_streamer([0,2,3], 1000)

This creates an instance of the rx_streamer application, and its window should pop up, looking something like this:

Settings

First, notice the list of settings on the left-hand side of the window. Conceptually, those items in the "Crimson" category mostly have to do with the hardware itself (e.g., its sample rate, which channels are enabled, etc), and those in the "Software" category have to do with what the host computer does with the Crimson's output.

Crimson

Upon initialization, rx_streamer asks the Crimson for its current internal values (sample_rate, RXA center frequency, etc) and populates the list. You can change these values by typing in whatever you like in the GUI, or via the terminal / script, for example:

r.settings['Crimson/sample_rate'] = 1.27e6
r.settings['Crimson/RXA/center_frequency'] = 127.27e7

As discussed in its documentation, the first argument is which channels are enabled (in this case RXA, RXC, and RXD), and the second argument is the "buffer size", which is the number of recent packets (pushed through the SFP+A and SFP+B ports) that the internal buffer will remember (by default, each packet contains 346 samples from the RX ports).