OpenC3/cosmos

View on GitHub
openc3/data/config/telemetry.yaml

Summary

Maintainability
Test Coverage
---
TELEMETRY:
  # Prevent prettier from removing the newline after modifiers:
  # prettier-ignore
  modifiers:
    <%= MetaConfigParser.load('telemetry_modifiers.yaml').to_meta_config_yaml(4) %>
  summary: Defines a new telemetry packet
  parameters:
    - name: Target
      required: true
      description: Name of the target this telemetry packet is associated with
      values: .+
    - name: Command
      required: true
      description:
        Name of this telemetry packet. Also referred to as its mnemonic.
        Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible.
      values: \D\S*
    - name: Endianness
      required: true
      description: Indicates if the data in this packet is in Big Endian or Little Endian format
      values: ["BIG_ENDIAN", "LITTLE_ENDIAN"]
    - name: Description
      required: false
      description: Description of this telemetry packet which must be enclosed with quotes
      values: '[''"].*[''"]'
  example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Instrument health and status"
SELECT_TELEMETRY:
  # prettier-ignore
  modifiers:
    <%= MetaConfigParser.load('telemetry_modifiers.yaml').to_meta_config_yaml(4) %>
  summary: Selects an existing telemetry packet for editing
  description:
    Typically used in a separate configuration file from where the original
    telemetry is defined to override or add to the existing telemetry definition.
    Must be used in conjunction with SELECT_ITEM to change an individual item.
  parameters:
    - name: Target Name
      required: true
      description: Name of the target this telemetry packet is associated with
      values: .+
    - name: Packet Name
      required: true
      description: Name of the telemetry packet to select
      values: .+
  example: |
    SELECT_TELEMETRY INST HEALTH_STATUS
      SELECT_ITEM TEMP1
        # Define limits for this item, overrides or replaces any existing
        LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0
LIMITS_GROUP:
  summary: Defines a group of related limits Items
  description:
    Limits groups contain telemetry items that can be enabled and disabled together.
    It can be used to group related limits as a subsystem that can be enabled or disabled
    as that particular subsystem is powered (for example). To enable a group call the
    enable_limits_group("NAME") method in Script Runner. To disable a group call the
    disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups
    but the last enabled or disabled group "wins". For example, if an item belongs to
    GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will
    be disabled. If you then enable GROUP1 again it will be enabled.
  parameters:
    - name: Group Name
      required: true
      description: Name of the limits group
      values: .+
LIMITS_GROUP_ITEM:
  summary: Adds the specified telemetry item to the last defined LIMITS_GROUP
  description:
    Limits group information is typically kept in a separate configuration
    file in the config/TARGET/cmd_tlm folder named limits_groups.txt.
  parameters:
    - name: Target Name
      required: true
      description: Name of the target
      values: .+
    - name: Packet Name
      required: true
      description: Name of the packet
      values: .+
    - name: Item Name
      required: true
      description: Name of the telemetry item to add to the group
      values: .+
  example: |
    LIMITS_GROUP SUBSYSTEM
      LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1
      LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2
      LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3