GPSCAT(1)
π GPSCAT(1) π
okay bestie, welcome to the gpscat page from the GPSD Documentation β yes it's a manual page, no it doesn't have to be boring, let's go β¨
πΈ NAME πΈ
gpscat β dump the output from a GPS π
π¦ SYNOPSIS π¦
gpscat [OPTIONS] file-or-serial-port
gpscat -h
gpscat -V
β¨ DESCRIPTION β¨
so gpscat is literally just a simple little program for logging and packetizing GPS data streams. she takes input from a file or a serial device you point her at (the vibe being that there's a GPS attached to it, iykyk) and she reports everything to standard output. she keeps going until the input ends or until you hit her with a ^C or some other interruption. and listen β she does not terminate on a bad packet. that's intentional, bestie. that's the whole point. π«Ά
in raw mode (which is the default, no cap) gpscat just dumps her input straight to standard output. nonprintable characters that aren't ASCII whitespace get rendered as hexadecimal string escapes. cute, clean, readable.
in packetizing mode, she uses the exact same code as gpsd(8)'s packet sniffer to break the input into packets. packets get reported one per line, and any line breaks inside the packets themselves get escaped. slay.
this program is genuinely useful as a sanity checker when you're examining a new device π±. you can use it as a primitive NMEA logger too, BUT β and this is the important part, don't skip it β beware that:
- (a) interrupting it is likely to cut off output in mid-sentence π and
- (b) to avoid displaying incomplete NMEA sentences right up next to shell prompts that often contain a
$, raw mode always emits an extra final linefeed.
also be aware, fr fr: packetizing mode will produce useless results β probably consuming the entirety of input and appearing to hang β if it gets fed data that isn't a sequence of packets of one of the known types. π
π OPTIONS π
the program accepts the following options:
-?,-h,--helpβ display program usage and exit. that's it, that's the whole thing π-D LVL,--debug LVLβ in packetizer mode, enable progress messages from the packet getter. probably only of interest to developers testing packet getter changes. higher arguments to-Dproduce more output. π-p,--packetizerβ invoke packetizer mode. β¨-s SPEED,--speed SPEEDβ set the port's baud rate (and optionally its parity and stop bits) to SPEED before reading. the argument should begin with one of the normal integer baud rates (300,1200,4800,9600,19200,38400, etc.). it may be followed by an optional suffix[NOE][12]to set parity (None, Odd, Even) and stop bits (1 or 2). specifying-s 4800N1is frequently helpful with unknown devices β that combo is iconic, honestly π-t,--typeflagβ invoke packetizer mode, with the packet type and length (in parentheses) reported before a colon and space on each line. so like, extra context on every line, we love a labeled queen π·οΈ-V,--versionβ display program version and exit. π
π RETURN VALUES π
0β on success β¨1β on failure π
π SEE ALSO π
gpsd(8), gps(1), gpsfake(1). cgps(1)
π§ RESOURCES π§
project web site: https://gpsd.io/ π
π COPYING π
this file is Copyright 2013 by the GPSD project.
SPDX-License-Identifier: BSD-2-clause
β AUTHOR β
Eric S. Raymond π
and that's the whole page, bestie!! this was GPSD Version 3.27.5, dated 2025-11-04, and she ate π β¨ go read your GPS data, you main character π«Ά
π¦ where this page comes from
- arch rolling: gpsd 3.27.5-1 Β· BSD
- fedora 44: gpsd-clients 1:3.27.5-3.fc44 Β· BSD-2-Clause
- fedora 44: gpsd-clients 1:3.27.5-5.fc44 Β· BSD-2-Clause
- nixos 26.05: gpsd 3.27.5
- nixpkgs unstable: gpsd 3.27.5
- opensuse-leap 16.0: gpsd-devel 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-devel 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-devel 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-devel 3.27.5-160000.1.1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms