Implementation of CCSDS Space Link Extension (SLE) Protocol
Project description
Python SLE
Implementation of the CCSDS Space Link Extension (SLE) API in Python. It provides the RAF (Return All Frames) and RCF (Return Channel Frames) Return Link Services and the CLTU Forward Link Service.
The CCSDS Space Link Extension (SLE) services are used by all major space agencies to interconnect ground stations to mission control systems. The SLE is a standardized protocol that enable such cross-support. In basic terms, a groundstation communicates with a spacecraft through CCSDS telecommand and telemetry frames. The transfer of those frames between a groundstation and a remote mission control system is done via SLE, which is essentially just a container protocol that runs over TCP/IP. On the side of the groundstation there sits a SLE provider gateway and on the mission control side there is a SLE user gateway.
This Python package implements the SLE User API and can be used to develop SLE user and provider gateway applications on top of it.
Installation
Install via pip:
$ pip install sle
Example
To create a service for receiving all return frames, we create a RAF User. Then we bind to the remote SLE Provider and start the reception of frames.
import sle
raf_service = sle.RaServicefUser(
service_instance_identifier=SI_IDENTIFIER,
responder_host=RESPONDER_HOST,
responder_port=RESPONDER_PORT,
auth_level="bind", # or "all" or None
local_identifier=LOCAL_IDENTIFIER,
peer_identifier=PEER_IDENTIFIER,
local_password=LOCAL_PASSWORD,
peer_password=PEER_PASSWORD)
raf_service.bind()
raf_service.start()
time.sleep(10) # wait for 10 seconds to show incoming frames
raf_service.stop()
raf_service.unbind()
Documentation
The API documentation is in docs/README.md.
Contribute
- Issue Tracker: https://gitlab.com/librecube/lib/python-sle/-/issues
- Source Code: https://gitlab.com/librecube/lib/python-sle
To learn more on how to successfully contribute please read the contributing information in the LibreCube guidelines.
Support
If you are having issues, please let us know. Reach us at Matrix or via Email.
License
The project is licensed under the MIT license. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.