/  PyMDB  /  Parameters

Parameters

DataSource

class yamcs.pymdb.DataSource

Bases: Enum

The nature of the source entity for which a parameter receives a value

TELEMETERED = 1

A telemetered parameter is one that will have values in telemetry

DERIVED = 2

A derived parameter is one that is calculated, usually by an Algorithm

CONSTANT = 3

A constant parameter is one that is used as a constant in the system (e.g. a vehicle id)

LOCAL = 4

A local parameter is one that is used purely by the software locally (e.g. a ground command counter)

GROUND = 5

A ground parameter is one that is generated by an asset which is not the spacecraft

Parameter

class yamcs.pymdb.Parameter

Bases: DataType

Base class for a telemetry parameter.

If parameters are to be used as entries of telemetry or command containers, an encoding should also be specified, describing the raw encoding.

Implementations are: AbsoluteTimeParameter, BinaryParameter, BooleanParameter, EnumeratedParameter, FloatParameter, IntegerParameter and StringParameter.

And complex parameters AggregateParameter and ArrayParameter. These do not directly specify an encoding, but group together other parameters.

Each of these implementations matches a native engineering type in Yamcs.

__init__(system: System, name: str, *, aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, units: str | None = None, encoding: Encoding | None = None) None
aliases: dict[str, str]

Alternative names, keyed by namespace

data_source: DataSource

The nature of the source entity for which this parameter receives a value

encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

initial_value: Any

Initial value

long_description: str | None

Multiline description

name: str

Short name of this parameter

persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

short_description: str | None

Oneline description

system: System

System this parameter belongs to

units: str | None

Engineering units

Basic parameters

class yamcs.pymdb.AbsoluteTimeParameter

Bases: Parameter, AbsoluteTimeDataType

A parameter where engineering values represent an instant in time

__init__(system: System, name: str, reference: Epoch | datetime | AbsoluteTimeParameter, aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, units: str | None = None, encoding: TimeEncoding | None = None) None
aliases: dict[str, str]

Alternative names, keyed by namespace

data_source: DataSource

The nature of the source entity for which this parameter receives a value

encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

initial_value: Any

Initial value

long_description: str | None

Multiline description

name: str

Short name of this parameter

persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

reference: Epoch | datetime | AbsoluteTimeParameter
short_description: str | None

Oneline description

system: System

System this parameter belongs to

units: str | None

Engineering units

class yamcs.pymdb.BinaryParameter

Bases: Parameter, BinaryDataType

A parameter where engineering values represent binary

__init__(system: System, name: str, min_length: int | None = None, max_length: int | None = None, aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, units: str | None = None, encoding: Encoding | None = None) None
aliases: dict[str, str]

Alternative names, keyed by namespace

data_source: DataSource

The nature of the source entity for which this parameter receives a value

encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

initial_value: Any

Initial value

long_description: str | None

Multiline description

max_length: int | None

Maximum length in bytes

min_length: int | None

Minimum length in bytes

name: str

Short name of this parameter

persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

short_description: str | None

Oneline description

system: System

System this parameter belongs to

units: str | None

Engineering units

class yamcs.pymdb.FloatParameter

Bases: Parameter, FloatDataType

A parameter where engineering values represent a decimal

__init__(system: System, name: str, bits: Literal[32, 64] = 32, minimum: float | None = None, minimum_inclusive: bool = True, maximum: float | None = None, maximum_inclusive: bool = True, aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, units: str | None = None, encoding: Encoding | None = None, calibrator: Calibrator | None = None, alarm: ThresholdAlarm | None = None, context_alarms: Sequence[ThresholdContextAlarm] | None = None) None
alarm: ThresholdAlarm | None

Specification for alarm monitoring

aliases: dict[str, str]

Alternative names, keyed by namespace

bits: Literal[32, 64]
calibrator: Calibrator | None

Describes how a raw value is transformed to an engineering value

context_alarms: list[ThresholdContextAlarm]

Alarm specification when a specific context expression applies

data_source: DataSource

The nature of the source entity for which this parameter receives a value

encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

initial_value: Any

Initial value

long_description: str | None

Multiline description

maximum: float | None

Maximum valid engineering value (inclusive)

maximum_inclusive: bool

Whether the maximum value itself is valid

minimum: float | None

Minimum valid engineering value

minimum_inclusive: bool

Whether the minimum value itself is valid

name: str

Short name of this parameter

persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

short_description: str | None

Oneline description

system: System

System this parameter belongs to

units: str | None

Engineering units

class yamcs.pymdb.IntegerParameter

Bases: Parameter, IntegerDataType

A parameter where engineering values represent an integer

__init__(system: System, name: str, signed: bool = True, bits: int = 32, minimum: int | None = None, maximum: int | None = None, aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, units: str | None = None, encoding: Encoding | None = None, calibrator: Calibrator | None = None, alarm: ThresholdAlarm | None = None, context_alarms: Sequence[ThresholdContextAlarm] | None = None) None
alarm: ThresholdAlarm | None

Specification for alarm monitoring

aliases: dict[str, str]

Alternative names, keyed by namespace

bits: int
calibrator: Calibrator | None

Describes how a raw value is transformed to an engineering value

context_alarms: list[ThresholdContextAlarm]

Alarm specification when a specific context expression applies

data_source: DataSource

The nature of the source entity for which this parameter receives a value

encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

initial_value: Any

Initial value

long_description: str | None

Multiline description

maximum: int | None

Maximum valid engineering value (inclusive)

minimum: int | None

Minimum valid engineering value (inclusive)

name: str

Short name of this parameter

persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

short_description: str | None

Oneline description

signed: bool
system: System

System this parameter belongs to

units: str | None

Engineering units

class yamcs.pymdb.StringParameter

Bases: Parameter, StringDataType

A parameter where engineering values represent a character string

__init__(system: System, name: str, min_length: int | None = None, max_length: int | None = None, aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, units: str | None = None, encoding: Encoding | None = None) None
aliases: dict[str, str]

Alternative names, keyed by namespace

data_source: DataSource

The nature of the source entity for which this parameter receives a value

encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

initial_value: Any

Initial value

long_description: str | None

Multiline description

max_length: int | None

Maximum length in characters

min_length: int | None

Minimum length in characters

name: str

Short name of this parameter

persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

short_description: str | None

Oneline description

system: System

System this parameter belongs to

units: str | None

Engineering units

Enumerated parameters

Enumerated parameters can only represent discrete values. Booleans are a special kind of enumerated parameter that only knows two states.

class yamcs.pymdb.BooleanParameter

Bases: Parameter, BooleanDataType

A parameter where engineering values represent a boolean enumeration

__init__(system: System, name: str, zero_string_value: str = 'False', one_string_value: str = 'True', aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, units: str | None = None, encoding: Encoding | None = None) None
aliases: dict[str, str]

Alternative names, keyed by namespace

data_source: DataSource

The nature of the source entity for which this parameter receives a value

encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

initial_value: Any

Initial value

long_description: str | None

Multiline description

name: str

Short name of this parameter

one_string_value: str
persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

short_description: str | None

Oneline description

system: System

System this parameter belongs to

units: str | None

Engineering units

zero_string_value: str
class yamcs.pymdb.EnumeratedParameter

Bases: Parameter, EnumeratedDataType

A parameter where engineering values represent states in an enumeration

__init__(system: System, name: str, choices: Choices, alarm: EnumerationAlarm | None = None, context_alarms: Sequence[EnumerationContextAlarm] | None = None, aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, units: str | None = None, encoding: Encoding | None = None) None
alarm: EnumerationAlarm | None

Specification for alarm monitoring

aliases: dict[str, str]

Alternative names, keyed by namespace

choices: Choices
context_alarms: list[EnumerationContextAlarm]

Alarm specification when a specific context expression applies

data_source: DataSource

The nature of the source entity for which this parameter receives a value

encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

initial_value: Any

Initial value

label_for(value: int)
long_description: str | None

Multiline description

name: str

Short name of this parameter

persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

short_description: str | None

Oneline description

system: System

System this parameter belongs to

units: str | None

Engineering units

Complex parameters

class yamcs.pymdb.AggregateParameter

Bases: Parameter, AggregateDataType

A parameter where engineering values represent a structure of other data types, referred to as members

__init__(system: System, name: str, members: Sequence[Member], aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, encoding: Encoding | None = None) None
aliases: dict[str, str]

Alternative names, keyed by namespace

data_source: DataSource

The nature of the source entity for which this parameter receives a value

encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

find_member(name: str) Member
initial_value: Any

Initial value

long_description: str | None

Multiline description

members: list[Member]
name: str

Short name of this parameter

persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

short_description: str | None

Oneline description

system: System

System this parameter belongs to

units: str | None

Engineering units

class yamcs.pymdb.ArrayParameter

Bases: Parameter, ArrayDataType

A parameter where engineering values represent an array where each element is of another data type

__init__(system: System, name: str, data_type: DataType, length: int | DynamicInteger, aliases: Mapping[str, str] | None = None, data_source: DataSource = DataSource.TELEMETERED, initial_value: Any = None, persistent: bool = True, short_description: str | None = None, long_description: str | None = None, extra: Mapping[str, str] | None = None, encoding: Encoding | None = None) None
aliases: dict[str, str]

Alternative names, keyed by namespace

data_source: DataSource

The nature of the source entity for which this parameter receives a value

data_type: DataType
encoding: Encoding | None

How this data is sent or received from some non-native, off-platform device. (e.g. a spacecraft)

extra: dict[str, str]

Arbitrary information, keyed by name

initial_value: Any

Initial value

length: int | DynamicInteger
long_description: str | None

Multiline description

name: str

Short name of this parameter

persistent: bool

If true, the parameter’s last value is restored in case of a restart of the Yamcs system.

If initial_value is set too, attr:initial_value is only used once (when there is no other value to persist).

property qualified_name: str

Absolute path of this item covering the full system tree. For example, an item C in a subystem B of a top-level system A is represented as /A/B/C

short_description: str | None

Oneline description

system: System

System this parameter belongs to

units: str | None

Engineering units