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 portaudio: audio-device to stdout 2018-06-20 23:27:21 +02:00
metno_netcdf_gpx.py Norwegian_Meteo netCDF.nc to gpx 2020-11-09 19:58:25 +01:00
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 fix src/dest order; parse dfm ids; be more tolerant in lat/lon/alt text 2020-01-20 20:44:07 +01:00
pos2gpx.pl move tools 2018-06-20 19:46:54 +02:00
pos2kml.pl move tools 2018-06-20 19:46:54 +02:00
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 )