# -*- 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(set_id: int, object_id: bytearray) -> bytearray: set_id_bytearray = struct.pack(">I", set_id) return object_id + set_id_bytearray # adding custom defintion to hk using test pool variables sid_thermalsensor = make_sid(0, g.THERMAL_SENSOR_DEVICE_ID) collection_interval_hk = struct.pack('>f', 3) collection_interval_diag = struct.pack('>f', 0.8) 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: ")) command = PusTelecommand(service=3, subservice=3, ssc=3100, app_data=sid_thermalsensor) tc_queue.appendleft(command.pack_command_tuple())