Sputnik Satellite#

Name

Sputnik

Description

Demonstrator satellite serving as prototype for new satellites

Category

Example Templates

Language

C++

Description#

This satellite does little apart from beeping, just as its namesake. It mostly serves as demonstrator for the different functionalities of satellites. New satellites may be created by copying and modifying the Sputnik satellite.

This section describes the functions of the satellite and all relevant information about the connected hardware as well as its requirements or external software dependencies.

Building#

The Sputnik satellite has no additional dependencies and is build by default.

Parameters#

The following parameters are read and interpreted by this satellite. Parameters without a default value are required.

Parameter

Description

Type

Default Value

interval

Interval in which beep signals are emitted in units of milliseconds

Unsigned integer

3000

launch_delay

Delay for launch in seconds

Unsigned integer

0

This satellite supports in-orbit reconfiguration of the interval parameter.

Configuration Example#

An example configuration for this satellite which could be dropped into a Constellation configuration as a starting point

[Sputnik.One]
my_param = 7
other_param = "antenna"

Metrics#

The following metrics are distributed by this satellite and can be subscribed to. Timed metrics provide an interval in units of time, triggered metrics in number of calls.

Metric

Description

Value Type

Interval

BEEP

Sputnik beep signal

Integer

configurable, default 3s

TEMPERATURE

Temperature inside the spacecraft in degrees Celsius

Float

3s

FAN_RUNNING

Boolean indicating if the internal fan is running

Bool

5s

TIME

Time since launch in seconds

Float

10s

Custom Commands#

This section describes all custom commands the satellite exposes to the command interface. The description should contain the name and the description of the command as well as all of its arguments, the return value and the allowed states:

Command

Description

Arguments

Return Value

Allowed States

get_channel_reading

This command returns the reading from the given channel number

channel number, int

channel reading, double

NEW, INIT, ORBIT

Framework Parameters#

This satellite inherits the following framework parameters from its base classes:

Parameters inherited from Satellite#

Autonomous Operation#

Parameters to control autonomy in the _autonomy section:

Parameter

Type

Description

Default Value

role

Role name

Role this satellite should take in the Constellation. Accepted values are ESSENTIAL, DYNAMIC, TRANSIENT and NONE.

DYNAMIC

max_heartbeat_interval

Unsigned integer

Maximum interval in seconds between heartbeats to be sent to other Constellation components. The time between heartbeat is adjusted automatically according to the number of nodes in the Constellation but will never exceed this value.

30

Conditional Transitions#

Parameters to control conditional transitions in the _conditions section:

Parameter

Type

Description

Default Value

require_initializing_after

List of strings

List of canonical names of remote satellites for conditional transitioning in initializing state

-

require_launching_after

List of strings

List of canonical names of remote satellites for conditional transitioning in launching state

-

require_landing_after

List of strings

List of canonical names of remote satellites for conditional transitioning in landing state

-

require_starting_after

List of strings

List of canonical names of remote satellites for conditional transitioning in starting state

-

require_stopping_after

List of strings

List of canonical names of remote satellites for conditional transitioning in stopping state

-

transition_timeout

Unsigned integer

Timeout in seconds to wait for all conditions to be satisfied for conditional transitioning

30

Framework Metrics#

This satellite inherits the following framework metrics from its base classes:

Metrics inherited from Satellite#

Metric

Description

Value Type

Interval

RUN_ID

Current run identifier. Updated whenever it changes.

String

-