| title | description | category | language | parent_class |
|---|---|---|---|---|
Template |
Satellite base structure serving as the basis for new developments |
External |
Python |
Satellite |
This is a template for new Constellation satellites, written in Python. The following steps help in setting up the new satellite, rename the relevant classes and files, and run the satellite for the first time. Additional information as well as detailed tutorials on how to implement a new satellite in Python can be found in the Constellation Application Developer Guide.
-
Rename the satellite using the self-destructing script:
rename-template.py MyName
-
Adjust the satellite base class depending on the target functionality:
TransmitterSatellite: This satellite will generate and transmit data during the runReceiverSatellite: This satellite will receive data during the runSatellite: This satellite will neither send nor receive data via CDTP during the run
-
Implement the satellite code
-
Install the Satellite:
- From the template's base directory (where the
pyproject.tomlis located), runpip install ./ - During development, you might want to add the
-eswitch to install an editable install, meaning changes in the source code of your satellite will directly modify the installed version.
- From the template's base directory (where the
-
Run the satellite
-
Update this
README.md- Remove the "First Steps" section
- Update the
parent_classtag in theREADME.mdto the satellite base class used in the code - Update the satellite description, parameter and metric list, custom commands of the
README.mdstructure below - Add a configuration example for easy copy & paste
- Add the satellite to the Constellation Satellite Library as described in the Constellation Application Developer Guide
This is a detailed description of the satellite and its functionality. Possible dependencies are described alongside its features, potential pitfalls and other information.
The following parameters are read and interpreted by this satellite. Parameters without a default value are required.
| Parameter | Description | Type | Default Value |
|---|---|---|---|
example |
Description of the parameter | Boolean | true |
An example configuration for this satellite which could be dropped into a Constellation configuration as a starting point
[Template.One]
example = falseThe following metrics are distributed by this satellite and can be subscribed to.
| Metric | Description | Value Type | Metric Type | Interval |
|---|---|---|---|---|
TIME |
Time since launch in seconds | Float | LAST_VALUE |
10s |
This section describes all custom commands the satellite exposes to the command interface.
| Command | Description | Arguments | Return Value | Allowed States |
|---|---|---|---|---|
test |
This command always returns true |
- | Boolean, always true |
NEW, INIT, ORBIT |