RS-tracker/tools
SammysHP 081d81f5e5 pos2nmea: Enforce line buffering
When connected to stdout, perl uses line buffering. If not connected to
stdout (e.g. from a pipe) it defaults to block buffering. This causes a
long delay and decoding issues when using the NMEA output in other
tools.

With this change always use line buffering so that NMEA messages are
flushed immediately.

Tested with NMEAoIP and GPSD:

<decoder> | pos2nmea.pl | socat - tcp-l:4444,reuseaddr,fork
<decoder> | pos2nmea.pl | gpsd -Nnrb /dev/stdin
2021-04-23 16:34:18 +02:00
..
README.md
metno_netcdf_gpx.py
pa-stdout.c portaudio: set dev by '--line <n>', i.e. ''Line <n>''; compile w/ dll-path 2021-02-08 17:38:41 +01:00
pos2aprs.pl
pos2gpx.pl
pos2kml.pl
pos2nmea.pl pos2nmea: Enforce line buffering 2021-04-23 16:34:18 +02:00

README.md

Tools

convert decoder output

  • pos2kml.pl, pos2gpx.pl, pos2nmea.pl, pos2aprs.pl
    perl scripts for kml-, gpx-, nmea- or aprs-output, resp.
  • Usage/Example
    ./rs92ecc --ecc --crc -v --vel2 -e brdc3050.15n 2015101_14Z.wav | ./pos2nmea.pl
    stderr: frame output
    stdout: NMEA output
    Only NMEA: ./rs92ecc --ecc --crc -v --vel2 -e brdc3050.15n 2015101_14Z.wav | ./pos2nmea.pl 2>/dev/null

audio output to stdout

  • pa-stdout.c
    select SDR Output device/stereo channel and output to stdout
  • Usage/Example
    ./pa-stdout --list
    ./pa-stdout 2 | ./rs41dm_dft --ecc2 --crc -vx --ptu
    ( audio device no 2 -> stdout -> ./rs41dm_dft )