Skip to main content

An implementation of the telemetry and telecommand packet utilization standard (PUS).

Project description

Puslib

Puslib is a Python implementation of the telemetry and telecommand packet utilization standard (PUS). It is a standard widely used in the space industry for the purposes of remote monitoring and control of spacecraft subsystems and payloads.

This package is mainly intended for ground segment tools, e.g.:

  • data extraction and post-processing of telemetry.
  • simulators.
  • EGSE SW, and thus enabling the use of mission control systems for controling and monitoring of EGSE equipment.
  • enable Python based commanding for mission control systems and other PUS based systems.
  • mission-specific tools.
  • student projects.

Install

pip install puslib

Python 3.7 or later is required.

Basic Example

from datetime import datetime
from functools import partial

from puslib import packet
from puslib import time

MyTmPacket = partial(packet.PusTmPacket.deserialize,
                     has_type_counter_field=False,
                     has_destination_field=False)
MyCucTime = partial(time.CucTime, 4, 2, has_preamble=False)

with open('telemetry.dump', 'rb') as f:
    content = f.read()
    data = memoryview(content)

    offset = 0
    cuc_time = MyCucTime()
    while offset < len(data):
        packet_length, packet = MyTmPacket(data[offset:],
                                           cuc_time,
                                           validate_fields=False,
                                           validate_pec=False)
        offset += packet_length
        if packet.service == 3 and packet.subservice == 25:
            print(packet)

Supported Features

  • CCSDS packet handling (telecommands and telemetry packets)
  • CCSDS Unsegmented Time Code (CUC) support
  • Policy handling of mission specific or implementation specific configurations
  • Simple abstraction of application processes
  • Streams for telemetry and telecommand I/O access
  • PUS Services:
    • PUS 1: Request Verification
    • PUS 3: Housekeeping (partial support)
    • PUS 5: Event Reporting
    • PUS 8: Function Management
    • PUS 17: Test (partial support)
    • PUS 20: On-board Parameter Management (partial support)

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

puslib-0.2.1.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

puslib-0.2.1-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file puslib-0.2.1.tar.gz.

File metadata

  • Download URL: puslib-0.2.1.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.2

File hashes

Hashes for puslib-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b3641721181a5851e052f0496c1c374deb95b6a5f81ebae176f054e1760e1c7c
MD5 3e26c479b69b39f2597938f4ca3cbdf1
BLAKE2b-256 6e31a4f82504974da42a8c36a97db5efcf5fde9fc8f68031c49b106caca615b6

See more details on using hashes here.

File details

Details for the file puslib-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: puslib-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.2

File hashes

Hashes for puslib-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cd07f728c6799a28968f9ffa01d55bc4c149f28b1423fe775c5835992a5941f7
MD5 79b212fcfcaeb6f495ee2ae3d05ccf0b
BLAKE2b-256 b066e497d4d89cd24ce70d1ae8157b93e0b592ffe4a8a316972d1f85478aca7c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page