Something went wrong on our end
Forked from an inaccessible project.
-
Robin.Mueller authoredRobin.Mueller authored
obsw_tc_service3.py 2.49 KiB
# -*- coding: utf-8 -*-
"""
@file obsw_tc_service3.py
@brief PUS Service 3: Housekeeping Service.
@author R. Mueller
@date 02.05.2020
"""
import struct
from typing import Deque
from tmtc_core.tc.obsw_pus_tc_base import PusTelecommand
import config.obsw_config as g
def make_sid(object_id: bytearray, set_id: int) -> bytearray:
set_id_bytearray = struct.pack(">I", set_id)
return object_id + set_id_bytearray
def make_interval(interval_seconds: float) -> bytearray:
return bytearray(struct.pack(">f", interval_seconds))
# adding custom defintion to hk using test pool variables
sid_thermalsensor = make_sid(g.THERMAL_SENSOR_DEVICE_ID, 1)
number_of_parameters = struct.pack('>B', 5)
def pack_service3_test_into(tc_queue: Deque) -> Deque:
tc_queue.appendleft(("print", "Testing Service 3"))
# Predefined packet testing
# pack_predefined_tests(tc_queue)
pack_custom_tests(tc_queue)
tc_queue.appendleft(("export", "log/tmtc_log_service3.txt"))
return tc_queue
def pack_custom_tests(tc_queue: Deque):
# deleting pre-defined test entry
tc_queue.appendleft(("print", "Testing Service 3: "))
tc_queue.appendleft(("print", "Generate one Thermal Sensor packet: "))
command = PusTelecommand(service=3, subservice=27, ssc=3100, app_data=sid_thermalsensor)
tc_queue.appendleft(command.pack_command_tuple())
# tc_queue.appendleft(("print", "Enabling periodic Thermal Sensor packet generation: "))
# command = PusTelecommand(service=3, subservice=5, ssc=3101, app_data=sid_thermalsensor)
# tc_queue.appendleft(command.pack_command_tuple())
#
# new_interval = 1.0
# interval_app_data = sid_thermalsensor + make_interval(new_interval)
# tc_queue.appendleft(("print", "Setting interval to one second: "))
# command = PusTelecommand(service=3, subservice=31, ssc=3102, app_data=interval_app_data)
# tc_queue.appendleft(command.pack_command_tuple())
#
# tc_queue.appendleft(("wait", 2))
#
# tc_queue.appendleft(("print", "Disabling periodic Thermal Sensor packet generation: "))
# command = PusTelecommand(service=3, subservice=6, ssc=3103, app_data=sid_thermalsensor)
# tc_queue.appendleft(command.pack_command_tuple())
#
# tc_queue.appendleft(("print", "Generate one shot Thermal Sensor packet: "))
# command = PusTelecommand(service=3, subservice=27, ssc=3104, app_data=sid_thermalsensor)
# tc_queue.appendleft(command.pack_command_tuple())