Skip to content
Snippets Groups Projects
Commit 4cf1a094 authored by Jan Gerhards's avatar Jan Gerhards
Browse files

continue implementing tests for pus service 20

parent 269cbed4
No related branches found
No related tags found
No related merge requests found
......@@ -69,6 +69,7 @@ def create_total_tc_queue() -> TcQueueT:
tc_queue = pack_service8_test_into(tc_queue)
tc_queue = pack_service9_test_into(tc_queue)
tc_queue = pack_service17_test_into(tc_queue)
tc_queue = pack_service20_test_into(tc_queue)
tc_queue = pack_service200_test_into(tc_queue)
tc_queue = pack_dummy_device_test_into(tc_queue)
object_id = g.GPS0_ObjectId
......
......@@ -56,12 +56,12 @@ def pack_service20_test_into(tc_queue: Deque, called_externally: bool = False) -
#tc_queue.appendleft(command.pack_command_tuple())
#test checking Load for uint32_t
tc_queue.appendleft(("print", "Testing Service 20: Load uint32_t"))
parameter_id = struct.pack(">I", parameterID0)
parameter_data = struct.pack(">I", 42)
payload = object_id + parameter_id + parameter_data
command = PusTelecommand(service=20, subservice=128, ssc=2001, app_data=payload)
tc_queue.appendleft(command.pack_command_tuple())
#tc_queue.appendleft(("print", "Testing Service 20: Load uint32_t"))
#parameter_id = struct.pack(">I", parameterID0)
#parameter_data = struct.pack(">I", 42)
#payload = object_id + parameter_id + parameter_data
#command = PusTelecommand(service=20, subservice=128, ssc=2001, app_data=payload)
#tc_queue.appendleft(command.pack_command_tuple())
#test checking Dump for uint32_t
tc_queue.appendleft(("print", "Testing Service 20: Dump uint32_t"))
......
......@@ -11,7 +11,7 @@ from typing import Deque
from test.obsw_module_test import TestService, PusTmInfoQueueT, TmDictionaryKeys, AssertionDictKeys
from tc.obsw_pus_tc_base import PusTcInfoQueueT
from tc.obsw_pus_tc_packer import pack_service17_test_into, pack_service5_test_into, \
pack_service2_test_into, pack_service8_test_into, pack_service200_test_into
pack_service2_test_into, pack_service8_test_into, pack_service200_test_into, pack_service20_test_into
import config.obsw_config as g
from utility.obsw_logger import get_logger
......
# -*- coding: utf-8 -*-
from typing import Deque, List, Tuple
from tm.obsw_pus_tm_base import PusTelemetry, PusTmInfoT
from tm.obsw_pus_tm_base import PusTelemetry, PusTmInfoT, TmDictionaryKeys
from tm.obsw_tm_service_1 import Service1TM
from tm.obsw_tm_service_3 import Service3TM
from tm.obsw_tm_service_5 import Service5TM
......@@ -105,25 +105,50 @@ class Service17TM(PusTelemetry):
class Service20TM(PusTelemetry):
def __init__(self, byte_array):
super().__init__(byte_array)
datasize = len(self._tm_data)
self.objectId = struct.unpack('>I', self._tm_data[0:4])[0]
self.parameter_id = struct.unpack('>I', self._tm_data[4:8])[0]
self.param = struct.unpack('>I', self._tm_data[8:12])[0]
if self.get_subservice() == 130:
self.type = struct.unpack('>H', self._tm_data[8:10])[0]
self.type_ptc = self._tm_data[8]
self.type_pfc = self._tm_data[9]
self.column = self._tm_data[10]
self.row = self._tm_data[11]
self.param = struct.unpack('>I', self._tm_data[12:datasize])[0]
self.specify_packet_info("Functional Commanding Reply")
def append_telemetry_content(self, array):
super().append_telemetry_content(array)
array.append(hex(self.objectId))
array.append(self.parameter_id)
array.append(str(hex(self.param)))
if self.get_subservice() == 130:
array.append(str("ptc: " + self.type_ptc + "| pfc: " + self.type_pfc))
array.append(str(self.column))
array.append(str(self.row))
array.append(str(hex(self.param)))
return
def append_telemetry_column_headers(self, array):
super().append_telemetry_column_headers(array)
array.append("objectID")
array.append("parameterID")
array.append("parameter")
if self.get_subservice() == 130:
array.append("type")
array.append("column")
array.append("row")
array.append("parameter")
return
def pack_tm_information(self) -> PusTmInfoT:
tm_information = super().pack_tm_information()
add_information = {
TmDictionaryKeys.REPORTER_ID: self.objectId,
TmDictionaryKeys.EVENT_ID: self.parameter_id,
TmDictionaryKeys.EVENT_PARAM_1: self.param
}
tm_information.update(add_information)
return tm_information
class Service200TM(PusTelemetry):
def __init__(self, byte_array):
super().__init__(byte_array)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment