TSC / CCS / MCS

Test - Integrate - Control

Retreiving packets and parameters in TOPE


TOPE has some powerful new features to get properties and parameters from a packet

The tmprop and tcprop commands allow you to get back packet properties and parameters from a packet by its ID. This now works for fixed and variable packets, and regardless of whether the packet is in the cache. Obviously it takes a little longer to fetch values back from the archive than it does from memory; but you should nevertheless find that the performance is very good.

For telemetry you can retrieve a property like this, where id is the packet id, e.g:

utope::tmprop id property
The property can be any of the properties you see in the MMI, for example "spid".

For a telecommand packet you can do this

utope::tmprop id property
You can however also do this:

utope::tmprop id params

This returns the list of parameter values (complete state) as they were in the specified packet. The return value is a list of TM parameter value lists (as returned by fetch for example) as they were in that packet, including both fixed (PLF) and variable (VPD) layout parameters. A similar result is seen when you request TC parameters; you get back the list of engineering and raw values of the TC parameters, and whether these were explicitly stated, or a default value was used.

It is also possible to extract parameters in a "transient" array in your TOPE scripts, without updating the global TM parameters, without triggering alarms, and without injecting the packet data. It works for both fixed and variable packets.

utope::extract raw arrName ?spid?

This takes the raw (binary) data of a packet, and extracts raw TM parameter values. The resulting values are put in the array variable with the index according to the parameter name. This applies to both fixed (PLF) and variable (VPD) parameters. If you already know the TM packet SPID, then you can save a little effort by specifying the SPID on the command line.

These are supported in both CCS and TSC; note that in TSC you have to activate TM packet database indexing in SQLITE. You can do this in the TmTcDumpRecorder settings.