Pyserial Wrapper

Hello list,

Just shooting out a quick update. I wrote a simple wrapper for pyserial
to
provide a serial port block for use with GNU Radio/GRC. The objective
here
was to support a legacy command generation program that would typically
output to an external, hardware-based transmitter via RS-232. The user
wanted to move the radio functionality into GNU Radio/USRP, but re-use
the
legacy application and interface to save a little work. This block,
combined with a socat generated virtual serial port permitted this
migration of functionality.

This block uses grextras and message passing:

https://github.com/buoyboy/gr-pyserial/

Some possible use cases for this block:

  1. Interfacing to legacy programs. For example, you could use this
    block to interface with older amateur radio programs that talked to
    external TNCs on a serial port. You can also connect to AX25-tools
    with
    this block [may require a KISS emulator block]. May be a way to
    engage
    the amateur radio community in PHY evolution while keeping them in
    touch
    with familiar portions of their typical radio chain.
  2. Outputting USRP GPSDO sensor data to mapping applications that
    typically use a serial port. This would require some manipulation to
    generate standard NMEA commands - I plan on doing this here soon.
  3. Deploying novel modems (i.e. in place of something like a
    MaxStream
    900 MHz or xBee) with an RS-232 interface to other devices like
    Arduino’s,
    etc. - - perhaps with the E100?

I’m on the road and do not have hardware to test it thoroughly. I’ve
only
done some cursory testing with virtual ports created with socat.

Cheers,
John M.