GPSSUBFRAME(1)
π NAME π
gpssubframe β bestie's very own tool to dump subframe sentences from gpsd π°οΈβ¨
(it lives in the GPSD Documentation section of the manual, section 1, iykyk)
πΈ SYNOPSIS πΈ
gpssubframe [OPTIONS] [server[:port[:device]]]
gpssubframe -h
gpssubframe -V
π DESCRIPTION π
okay so gpssubframe is a tool that connects to gpsd and dumps decoded subframe data straight to stdout. it's only useful if your GNSS receiver can output GPS subframe messages, and is configured to do so. you also need a working knowledge of IS-GPS-200. keep your copy close at hand, fr fr, like a comfort blanket π
gpssubframe does not require root privileges, but it will run fine as root. it can be run concurrently with other tools connecting to the local gpsd without causing problems. sharing is caring π«Ά
the program will accumulate subframe messages and output them by GPS satellite number on exit. by default the program never exits unless the user selects the number of seconds to run or number of messages to capture. it's giving immortal. it's giving main character energy that refuses to leave the party π
by default gpssubframe connects to a gpsd running on the local host. optionally a host, TCP/IP port number and remote device can be given. your call, bestie β¨
π OPTIONS π
-?,-h,--helpβ Print a usage message and exit. (the original says "-Print", we are not going to argue with it π)-c COUNT,--count COUNTβ Exit afterCOUNTsubframe messages. bye bestie π-D DEBUG,--debug DEBUGβ Set level of debug. Must be integer. Default0.--descβ Print long descriptions. the lore π--device DEVICEβ Connect to deviceDEVICEon gpsd host.-D LVL,--debug LVLβ Set debug level toLVL.--file FILEβ Read gpsd JSON fromFILEinstead of from gpsd.. (yes, two dots, iconic)--host HOSTβ Connect to gpsd on hostHOST.--load LOADFILEβ Load saved JSON Subframe, TPV, and RAW data tromLOADFILE. ("trom" is literally what the man page says, we stan a typo π)-n COUNT,--count COUNTβ Count of messages to parse.0to disable.--port PORTβ Connect to gpsd on portPORT.--progressβ Print progress reports as messages are received. no more staring into the void π³οΈ--satposβ Compute GPS satellite positions before exit. If--timeis given, the positions will be calculated at the time. Otherwise if a RAW message was received, the measurement time in that message will be used. The last resort is to use the time from the last TPV message is used.--save SAVEFILEβ Save decoded Subframe data inSAVEFILEas JSON. If present, the last TPV and RAW JSON records will also be saved.--testβ Run--satposselftest code.--time SECβ Compute satellite position at timeSECin POSIX seconds. β°-V,--versionβ Print the program version, then exit.-x SEC,--seconds SECβ Seconds of messages to parse.0to disable.
π¦ ARGUMENTS π¦
By default, clients collect data from the local gpsd daemon running on localhost, using the default GPSD port 2947. The optional argument to any client may override this behavior: [server[:port[:device]]]
For further explanation, and examples, see the ARGUMENTS section in the gps(1) man page. go read it, it's a whole vibe π
β¨ EXAMPLES β¨
First configure a u-blox 9-series to output subframe messages. Then have gpssubframe gather one complete set of subframes, then print the data organized by GPS satellite number. Be sure to replace -P 22 with the correct protocol version for your receiver. Then calculate and print the known satellite positions as well as the azimuth, elevation, and range from the current position:
ubxtool -P 22 -e SFRBX
gpssubframe -x 750 --satpos
If staring at a blank screen for 12.5 minutes is too stressful, then enable progress messages:
gpssubframe -x 750 --satpos --progress
12.5 minutes of nothing is genuinely an eternity, protect your peace π§ββοΈ
β RETURN VALUES β
0β on success. slay π1β on failure
π SEE ALSO π
gpsd(8), gps(1), gpsprof(1), gpsfake(1).
IS-GPS-200 "NAVSTAR GPS Space Segment/Navigation User Segment Interfaces"
π RESOURCES π
Project web site: https://gpsd.io/
π COPYING π
This file is Copyright 2020 by the GPSD project
SPDX-License-Identifier: BSD-2-clause
π AUTHOR π
Gary E. Miller
that's the whole page bestie, and for the sign-off: this is GPSD Version 3.27.5, dated 2025-11-04, and it's the GPSSUBFRAME(1) page. periodt πβ¨
π¦ 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-clients 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-clients 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-clients 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-clients 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