Skip to content
Snippets Groups Projects
Forked from an inaccessible project.
obsw_user_code.py 1.17 KiB
"""
User defined code can be added here.
"""
from typing import Union, Tuple
from tmtc_core.tc.obsw_pus_tc_base import PusTcInfo
from enum import Enum


# Yeah, I did not have a better idea yet..
class Developer(Enum):
    Robin = 0


Developer = Developer.Robin


def command_preparation_hook() -> Tuple[bytearray, Union[None, PusTcInfo]]:
    """
    Can be used to pack user-defined commands.
    """
    if Developer == Developer.Robin:
        return prepare_robins_commands()


def global_setup_hook():
    """
    Can be used to alter the global variables in a custom defined way.
    For example, device specific com ports or ethernet ports can be set here.
    The global variables in the config.obsw_config file can be edited here
    by using the handle.
    For example: config.obsw_config.G_ETHERNET_SEND_ADDRESS = new_send_address
    """
    if Developer == Developer.Robin:
        global_setup_hook_robin()


def prepare_robins_commands():
    from tmtc_core.tc.obsw_pus_tc_base import PusTelecommand
    command = PusTelecommand(service=17, subservice=1, ssc=20)
    return command.pack_command_tuple()


def global_setup_hook_robin():
    import config.obsw_config
    pass