You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+25-23
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ pygnssutils
3
3
4
4
[Current Status](#currentstatus) |
5
5
[Installation](#installation) |
6
-
[gnssdump CLI](#gnssdump) |
6
+
[gnssstreamer CLI](#gnssstreamer) |
7
7
[gnssserver CLI](#gnssserver) |
8
8
[gnssntripclient CLI](#gnssntripclient) |
9
9
[gnssmqttclient CLI](#gnssmqttclient) |
@@ -24,7 +24,7 @@ pygnssutils is an original series of Python GNSS utility classes and CLI tools b
24
24
25
25
Originally developed in support of the [PyGPSClient](https://github.com/semuconsulting/PyGPSClient) GUI GNSS application, the utilities provided by pygnssutils can also be used in their own right:
26
26
27
-
1.`GNSSStreamer` class and its associated [`gnssdump`](#gnssdump) CLI utility. This is essentially a configurable input/output wrapper around the [`pyubx2.UBXReader`](https://github.com/semuconsulting/pyubx2#reading) class with flexible message formatting, filtering and output handling options for NMEA, UBX and RTCM3 protocols.
27
+
1.`GNSSStreamer` class and its associated [`gnssstreamer`](#gnssstreamer) (formerly `gnssdump`) CLI utility. This is essentially a configurable input/output wrapper around the [`pyubx2.UBXReader`](https://github.com/semuconsulting/pyubx2#reading) class with flexible message formatting, filtering and output handling options for NMEA, UBX and RTCM3 protocols.
28
28
1.`GNSSSocketServer` class and its associated [`gnssserver`](#gnssserver) CLI utility. This implements a TCP Socket Server for GNSS data streams which is also capable of being run as a simple NTRIP Server/Caster.
29
29
1.`GNSSNTRIPClient` class and its associated [`gnssntripclient`](#gnssntripclient) CLI utility. This implements
30
30
a simple NTRIP Client which receives RTCM3 or SPARTN correction data from an NTRIP Server and (optionally) sends this to a
## <aname="gnssdump">GNSSStreamer and gnssdump CLI</a>
102
+
## <aname="gnssstreamer">GNSSStreamer and gnssstreamer CLI</a>
103
103
104
104
```
105
-
class pygnssutils.gnssdump.GNSSStreamer(**kwargs)
105
+
class pygnssutils.gnssstreamer.GNSSStreamer(**kwargs)
106
106
```
107
107
108
-
`gnssdump` is a command line utility which parses and formats the NMEA, UBX or RTCM3 output of a GNSS receiver. The utility can capture data from a variety of input sources (including `--port` serial, `--socket` socket and `--filename` file) and output it to stdout (terminal) or to a designated output handler (`--cliout`: (0) stdout (terminal), (1) file, (2) serial, (3) TCP socket server or (4) Python lambda function). It can output in a variety of formats (`--format`: (1) parsed, (2) raw binary, (4) hexadecimal string, (8) tabulated hexadecimal, (16) parsed as string, (32) JSON, or any OR'd combination thereof). It offers a variety of data filtering options (`--protfilter`, `--msgfilter`) based on message protocol, identity and frequency.
108
+
`gnssstreamer` (formally `gnssdump`) is a command line utility for bidirectional communication with a GNSS datastream - typically a GNSS receiver. It supports NMEA, UBX, RTCM3 and SPARTN protocols. The utility can acquire data from a variety of sources (including `--port` serial, `--socket` socket and `--filename` file) and output it to stdout (terminal) or to a designated output handler (`--clioutput`: 0 = stdout (terminal), 1 = file, 2 = serial, 3 = TCP socket server, 4 = Python lambda expression).
109
109
110
-
You could, for example, output the parsed version of a UBX message alongside its tabular hexadecimal representation.
110
+
It can output the raw and/or parsed data in a variety of formats (`--format`: 1 = parsed, 2 = raw binary, 4 = hexadecimal string, 8 = tabulated hexadecimal, 16 = parsed as string, 32 = JSON, or any OR'd combination thereof - you could, for example, output the parsed version of a UBX message alongside its tabular hexadecimal representation). It offers a variety of data filtering options (`--protfilter`, `--msgfilter`) based on message protocol, identity and periodicity.
111
+
112
+
`gnssstreamer` also accepts a variety of input data sources (`--cliinput`: 0 = none, 1 = RTK NTRIP RTCM caster, 2 = RTK NTRIP SPARTN caster, 3 = RTK MQTT SPARTN source, 4 = serial port, 5 = binary file). Data from these sources will be uploaded to the GNSS datastream *provided* this datastream supports `write()` operations. Serial port input could, for example, be a direct feed from a u-blox NEO-D9S SPARTN L-Band receiver. Binary file input could, for example, contain a series of UBX CFG-* configuration commands to be applied to a u-blox receiver.
111
113
112
114
Any one of the following input data stream specifiers must be provided:
113
115
-`port`: serial port e.g. `COM3` or `/dev/ttyACM1`
@@ -118,14 +120,14 @@ Any one of the following input data stream specifiers must be provided:
118
120
For help and full list of optional arguments, type:
119
121
120
122
```shell
121
-
gnssdump -h
123
+
gnssstreamer -h
122
124
```
123
125
124
-
Command line arguments can be stored in a configuration file and invoked using the `-C` or `--config` argument. The location of the configuration file can be set in environment variable `GNSSDUMP_CONF`.
126
+
Command line arguments can be stored in a configuration file and invoked using the `-C` or `--config` argument. The location of the configuration file can be set in environment variable `GNSSSTREAMER_CONF`.
125
127
126
-
`GNSSStreamer` - the underlying Python class of `gnssdump` - is essentially a configurable input/output wrapper around the [`pyubx2.UBXReader`](https://github.com/semuconsulting/pyubx2#reading) class which can be used within Python scripts.
128
+
`GNSSStreamer` - the underlying Python class of `gnssstreamer` - is essentially a configurable input/output wrapper around the [`pyubx2.UBXReader`](https://github.com/semuconsulting/pyubx2#reading) class which can be used within Python scripts.
127
129
128
-
Refer to the [Sphinx API documentation](https://www.semuconsulting.com/pygnssutils/pygnssutils.html#module-pygnssutils.gnssdump) for further details.
130
+
Refer to the [Sphinx API documentation](https://www.semuconsulting.com/pygnssutils/pygnssutils.html#module-pygnssutils.gnssstreamer) for further details.
129
131
130
132
### CLI Usage:
131
133
@@ -134,7 +136,7 @@ Assuming the Python 3 scripts (bin) directory is in your PATH, the CLI utility m
134
136
Serial input example (with evaluable Python lambda expression as simple output handler):
@@ -223,7 +225,7 @@ class pygnssutils.gnssserver.GNSSSocketServer(**kwargs)
223
225
224
226
In its default configuration (`ntripmode=0`) `gnssserver` acts as an open, unauthenticated CLI TCP socket server, reading the binary data stream from a host-connected GNSS receiver and broadcasting the data to any local or remote TCP socket client capable of parsing binary GNSS data.
225
227
226
-
It supports most of `gnssdump`'s formatting capabilities and could be configured to output a variety of non-binary formats (including, for example, JSON or hexadecimal), but the client software would need to be capable of parsing data in such formats.
228
+
It supports most of `gnssstreamer`'s formatting capabilities and could be configured to output a variety of non-binary formats (including, for example, JSON or hexadecimal), but the client software would need to be capable of parsing data in such formats.
227
229
228
230
Assuming the Python 3 scripts (bin) directory is in your PATH, the CLI utility may be invoked from the shell thus:
`gnssserver` will work with any client capable of parsing binary GNSS data from a TCP socket. Suitable clients include, *but are not limited to*:
267
269
268
-
1) (in default mode) pygnssutils's `gnssdump` cli utility invoked thus:
270
+
1) (in default mode) pygnssutils's `gnssstreamer` cli utility invoked thus:
269
271
270
272
```shell
271
-
gnssdump --socket hostip:outport
273
+
gnssstreamer --socket hostip:outport
272
274
```
273
275
274
276
2) (in NTRIP mode) Any standard NTRIP client, including BKG's [NTRIP client (BNC)](https://igs.bkg.bund.de/ntrip/download), ublox's [legacy ucenter NTRIP client](https://www.u-blox.com/en/product/u-center), or pygnssutil's `gnssntripclient` cli utility invoked thus:
@@ -342,7 +344,7 @@ The `clientid` provided by the location service may be set as environment variab
342
344
Assuming the Python 3 scripts (bin) directory is in your PATH, the CLI utility may be invoked from the shell thus (press CTRL-C to terminate):
Copy file name to clipboardexpand all lines: RELEASE_NOTES.md
+11-11
Original file line number
Diff line number
Diff line change
@@ -18,11 +18,11 @@ ENHANCEMENTS:
18
18
19
19
ENHANCEMENTS:
20
20
21
-
1. Add configuration file option to all CLI utilities via `-C` or `--config` argument. Default location of configuration file can be specified in environment variable `{utility}_CONF` e.g. `GNSSDUMP_CONF`, `GNSSNTRIPCLIENT_CONF`, etc. Config files are text files containing key-value pairs which mirror the existing CLI arguments, e.g.
21
+
1. Add configuration file option to all CLI utilities via `-C` or `--config` argument. Default location of configuration file can be specified in environment variable `{utility}_CONF` e.g. `gnssstreamer_CONF`, `GNSSNTRIPCLIENT_CONF`, etc. Config files are text files containing key-value pairs which mirror the existing CLI arguments, e.g.
2. Streamline logging. CLI usage unchanged; to use pygnssutils logging within calling application, invoke `logging.getLogger("pygnssutils")` in calling module.
38
38
3. Internal enhancements to experimental UBXSimulator to add close() and in_waiting() methods; recognise incoming RTCM data.
@@ -203,7 +203,7 @@ FIXES:
203
203
204
204
ENHANCEMENTS:
205
205
206
-
1. Add IPv6 support in gnssserver, gnssdump and gnssntripclient.
206
+
1. Add IPv6 support in gnssserver, gnssstreamer and gnssntripclient.
207
207
1. Add `on_disconnect` callback to `gnssmqttclient.py` and enhance exception reporting back to calling app.
208
208
1. Minor enhancements to SPARTN and NTRIP client exception handling.
209
209
@@ -236,7 +236,7 @@ FIXES:
236
236
237
237
ENHANCEMENTS:
238
238
239
-
1. Enhance gnssdump.py msgfilter functionality to include periodic filtering = thanks to @acottuli for contribution.
239
+
1. Enhance gnssstreamer.py msgfilter functionality to include periodic filtering = thanks to @acottuli for contribution.
240
240
241
241
### RELEASE 1.0.4
242
242
@@ -256,8 +256,8 @@ CHANGES:
256
256
257
257
1. All CLI utilities amended to use standard Python `argparse` library for parsing input arguments. For example:
- For all CLI utilities, type ```-h``` for help. Refer to README for other examples.
262
262
- The `kwargs` for the underlying Class constructors are unchanged.
263
263
@@ -308,7 +308,7 @@ CHANGES:
308
308
309
309
ENHANCEMENTS:
310
310
311
-
1. Outfile option added to gnssdump. See README and `gnssdump -h` for details.
311
+
1. Outfile option added to gnssstreamer. See README and `gnssstreamer -h` for details.
312
312
313
313
### RELEASE 0.2.2-beta
314
314
@@ -342,8 +342,8 @@ FIXES:
342
342
343
343
ENHANCEMENTS:
344
344
345
-
1. JSON added to range of available output formats in gnssdump.
346
-
2. 'allhandler' protocol handler option added to gnssdump; Use same external protocol handler for all protocols. Will override any individual protocol handlers (ubxhandler etc.)
345
+
1. JSON added to range of available output formats in gnssstreamer.
346
+
2. 'allhandler' protocol handler option added to gnssstreamer; Use same external protocol handler for all protocols. Will override any individual protocol handlers (ubxhandler etc.)
347
347
3. Context management added to GNSSStreamer and GNSSServer modules.
0 commit comments