- General Client
- Mission Database
- TM/TC Processing
- Archive
- Link Management
- Object Storage
- File Transfer
- Time Correlation (TCO)
- Timeline
- Examples
Mission Database¶
The Mission Database API provides methods for reading the entries in a Yamcs Mission Database (MDB). An MDB groups telemetry and command definitions for one or more space systems. The MDB is used to:
Instruct Yamcs how to process incoming packets
Describe items in Yamcs Archive
Instruct Yamcs how to compose telecommands
Space systems form a hierarchical multi-rooted tree. Each level of the tree may contain any number of definitions. These break down in:
parameters
containers
commands
algorithms
Entries in the Space system are addressable via a qualified name that looks like a Unix file path. Each segment of the path contains the name of the space system node, the final path segment is the name of the entry itself.
For example, in an MDB that contains these parameter entries:
└── YSS
└── SIMULATOR
├── BatteryVoltage1
└── BatteryVoltage2
we find two space systems /YSS
and /YSS/SIMULATOR
and two parameter
entries /YSS/SIMULATOR/BatteryVoltage1
and
/YSS/SIMULATOR/BatteryVoltage2
.
Some MDB entries may also define an alias. An alias is a unique name to address the entry under a custom namespace (unrelated to XTCE space systems).
When it comes to addressing entries via this client, it is possible to
provide either the fully-qualified XTCE name in the format
/YSS/SIMULATOR/BatteryVoltage1
or an alias in the format
NAMESPACE/NAME
.
Reference¶
Snippets¶
Create an MDBClient
for a specific instance:
from yamcs.client import YamcsClient
client = YamcsClient('localhost:8090')
mdb = client.get_mdb(instance='simulator')
Print all space systems:
for space_system in mdb.list_space_systems():
print(space_system)
Print all parameters of type float
:
for parameter in mdb.list_parameters(parameter_type="float"):
print(parameter)
Print all commands:
for command in mdb.list_commands():
print(command)
Find a parameter by qualified name or alias:
p1 = mdb.get_parameter("/YSS/SIMULATOR/BatteryVoltage2")
print("Via qualified name:", p1)
p2 = mdb.get_parameter("MDB:OPS Name/SIMULATOR_BatteryVoltage2")
print("Via domain-specific alias:", p2)