- General Information
- Server Administration
- Mission Database
- Data Management
- Data Links
- Web Interface
Yamcs Release Notes
Yamcs HTTP API
Source Code Documentation
Use packet-viewer to extract parameters from packets by either loading a packet dump from disk (~ offline mode), or by decoding the raw data received from connecting to a Yamcs server (~ online mode).
In online mode, the splitting of packets is done by Yamcs Server and packet-viewer extracts parameters from each packet binary by using the same logic as Yamcs Server would.
In offline mode packet-viewer must in addition have access to a local MDB, and requires configuration so that it knows how to decode individual packets from a dump file. By default, dump files are assumed to contain concatenated CCSDS.
Print a help message and exit.
- -l <N>¶
Limit the view to <N> packets.
In online mode only the last <N> packets will be visible. The default is 1000.
In offline mode only the first <N> packets of the file are displayed. There is no default, but for large dumps packet-viewer may become sluggish or run out of heap memory.
- -x <MDB>¶
Name of the applicable MDB as specified in the
This option is required in offline mode. In online mode the MDB defaults to that of the connected Yamcs instance.
- -i <INSTANCE>¶
In online mode, this indicates which instance's telemetry stream packet-viewer should connect to.
- -s <STREAM>¶
In online mode, this indicates which telemetry stream packet-viewer should connect to.
A local file which contains one or more packets. Typically concatenated CCSDS, but other file formats can be defined through configuration.
Base URL of a Yamcs server.
packet-viewer -l 50 -x my-db packet-file
packet-viewer -l 50 -i simulator http://localhost:8090
packet-viewer configuration files are placed in the
etc/ directory. MDB files for local packet decoding are placed in
<packet-viewer> |-- bin/ |-- etc/ | |-- mdb.yaml | +-- packet-viewer.yaml |-- lib/ +-- mdb/ |-- xtce1.xml +-- xtce2.xml
Specifies one or more MDB configurations, which you can then choose from in order to extract parameters from a packet.
The MDB configuration structure can be copied from a
yamcs.instance.yaml configuration file, but with a level on top which specifies the name visible in UI. In the following example, the user can choose between mymdb1 and mymdb2.
mymdb1: - type: "xtce" args: file: "mdb/xtce1.xml" mymdb2: - type: "xtce" args: file: "mdb/xtce2.xml"
Configure a packet pre-processor. Configuration options are identical to preprocessor configuration of a data link on Yamcs Server.
List of supported file formats when opening a local packet dump file. The file format determines how to split the file in packets. Sub-keys:
Name of the format, as visible in UI.
Configures a packet input stream. Configuration options are identical to packet input stream configuration of a data link on Yamcs Server.
Qualified name of the base container. Required if it cannot be uniquely determined.
packetPreprocessorClassName: org.yamcs.tctm.IssPacketPreprocessor fileFormats: - name: CCSDS Packets packetInputStreamClassName: org.yamcs.tctm.CcsdsPacketInputStream
Packet Viewer includes a filter box for filtering the displayed packets through arbitrary expressions.
For example, assume you have parameters
/YSS/param2 then you could write arbitrary expressions like:
param1 > 2 param2 == 3 param1 > 3 or param2 != 4
The left-hand side of a clause must always be the parameter. This may also be a fully qualified parameter name like
The operator must be one of
contains. The latter is useful for string parameters.
The right-hand side of a clause may be a number or a string, and is compared to the engineering value of the parameter. The string may be surrounded by double quotes.
You can combine multiple clauses through the logical operators
!). Parentheses are allowed.
When done typing a filter, press ENTER to apply it.
Filter on packet properties¶
There are two hardcoded "parameters" that allow filtering on the global packet name or length:
packet.name == DHS packet.length > 200
Filter on parameter presence¶
The operator and right-hand side of a clause are optional. This allows filtering on the presence of a parameter inside a packet. Example:
Or, display only packets that do not include a parameter
and_expr)* and_expr ::=
unary_expr)* unary_expr ::=
expr")" | "("
literal] reference ::=
refchar+ refchar ::=
digit| "/" | "_" | "-" | "[" | "]" | "." literal ::=
stringchar+ quoted_string ::= '"' [
string] '"' stringchar ::=
digit| ":" | "_" letter ::= "a"..."Z" digit ::= "0"..."9" rel_op ::=
matches_op| "contains" eq_op ::= "eq" | "==" ne_op ::= "ne" | "!=" gt_op ::= "gt" | ">" lt_op ::= "lt" | "<" ge_op ::= "ge" | ">=" le_op ::= "le" | "<=" matches_op ::= "matches" | "~" and_op ::= "and" | "&&" or_op ::= "or" | "||" not_op ::= "not" | "!"