From a6aebc6dd7e74dcb2d5d338175150f38e6bd543f Mon Sep 17 00:00:00 2001 From: Zilog80 Date: Wed, 2 Nov 2016 22:27:39 +0100 Subject: [PATCH] rs92,rs41,imet1ab,dfm,m10: output -> nmea, viking-gpsd --- rs92/pos2nmea.pl | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/rs92/pos2nmea.pl b/rs92/pos2nmea.pl index 53ec6ad..0975d37 100755 --- a/rs92/pos2nmea.pl +++ b/rs92/pos2nmea.pl @@ -13,8 +13,6 @@ else { $fpi = *STDIN; } -my $fplog; -my $nmeafile = "nmea.log"; my $fpo = *STDOUT; @@ -27,15 +25,14 @@ my $NS; my $EW; my $cs; my $str; -my $date = 11116; # (d)dmmyy ohne fuehrende 0 (wenn log kein Datum enthaelt) +my $date = 271016; ## (d)dmmyy ohne fuehrende 0 (wenn log kein Datum enthaelt) my $speed = 0.00; my $course = 0.00; while ($line = <$fpi>) { if ($line =~ /(\d\d):(\d\d):(\d\d\.?\d?\d?\d?).*\ +lat:\ *(-?\d*)(\.\d*)\ +lon:\ *(-?\d*)(\.\d*)\ +alt:\ *(-?\d*\.\d*).*/) { -## einzelne RMC/GGA Datensaetze fuer gpsfake -open ($fplog, '>', $nmeafile) or die "Could not open file '$nmeafile' $!"; +print STDERR $line; $hms = $1*10000+$2*100+$3; $lat = $4*100+$5*60; @@ -51,7 +48,7 @@ open ($fplog, '>', $nmeafile) or die "Could not open file '$nmeafile' $!"; } if ($line =~ /vH:\ *(\d+\.\d+)\ +D:\ *(\d+\.\d+).*/) { - $speed = $1*3.6/1.852; # m/s -> knots + $speed = $1*3.6/1.852; ## m/s -> knots $course = $2; } @@ -59,16 +56,12 @@ open ($fplog, '>', $nmeafile) or die "Could not open file '$nmeafile' $!"; $cs = 0; $cs ^= $_ for unpack 'C*', $str; printf $fpo "\$$str*%02X\n", $cs; - printf $fplog "\$$str*%02X\n", $cs; ## GPS ueber Ellipsoid; Geoid-Hoehe nicht beruecksichtigt $str = sprintf ("GPGGA,%010.3f,%08.3f,$NS,%09.3f,$EW,1,04,0.0,%.3f,M,0.0,M,,", $hms, $lat, $lon, $alt); $cs = 0; $cs ^= $_ for unpack 'C*', $str; printf $fpo "\$$str*%02X\n", $cs; - printf $fplog "\$$str*%02X\n", $cs; - -close $fplog; } } @@ -76,3 +69,20 @@ close $fplog; close $fpi; close $fpo; + +############################################################################################################################################# +## +## term-1$ socat -d -d pty,raw,echo=0 pty,raw,b4800,echo=0 #[default baudrate 38400] +## N PTY is /dev/pts/12 +## N PTY is /dev/pts/15 +## +## term-2$ sox -t oss /dev/dsp -t wav - lowpass 3600 2>/dev/null | ./rs92ecc --ecc --crc --vel2 -e brdc3010.16n | ./pos2nmea.pl > /dev/pts/12 +## +## term-3$ gpsd -D2 -b -n -N /dev/pts/15 +## +## term-4$ gpspipe -R localhost:2947 +## +## Viking: GPS-layer, Realtime Tracking Mode, gpsd-port: 2947 +## +############################################################################################################################################# +