ploc tc mem write and tc mem read test

This commit is contained in:
2021-04-24 13:27:57 +02:00
parent 7310513805
commit 79e897b035
4 changed files with 20 additions and 19 deletions

View File

@ -10,7 +10,7 @@ import struct
from tmtccmd.core.definitions import QueueCommands
from tmtccmd.pus_tc.packer import TcQueueT
from tmtccmd.pus_tc.base import PusTelecommand
from tmtccmd.ecss.tc import PusTelecommand
class PlocTestProcedure:
@ -25,8 +25,12 @@ class PlocTestProcedure:
class PlocActionIds:
tc_mem_write = bytearray([0x0, 0x0, 0x7, 0x14])
tc_mem_read = bytearray([0x0, 0x0, 0x7, 0x15])
tc_mem_write = bytearray([0x0, 0x0, 0x0, 0x1])
tc_mem_read = bytearray([0x0, 0x0, 0x0, 0x2])
class PlocReplyIds:
tm_mem_read_report = 6
def pack_ploc_test_into(object_id: bytearray, tc_queue: TcQueueT) -> TcQueueT:
@ -37,17 +41,16 @@ def pack_ploc_test_into(object_id: bytearray, tc_queue: TcQueueT) -> TcQueueT:
if PlocTestProcedure.all or PlocTestProcedure.test_tc_mem_write:
tc_queue.appendleft((QueueCommands.PRINT, "PLOC: TC Mem Write Test"))
command = generateWriteMemCommand(object_id)
memory_address = int(input("Type memory address: 0x"), 16)
memory_data = int(input("Type memory data: 0x"), 16)
command = generateWriteMemCommand(object_id, struct.pack('I', memory_address), memory_data)
command = generateWriteMemCommand(object_id, struct.pack('!I', memory_address), memory_data)
command = PusTelecommand(service=8, subservice=128, ssc=23, app_data=command)
tc_queue.appendleft(command.pack_command_tuple())
if PlocTestProcedure.all or PlocTestProcedure.test_tc_mem_write:
if PlocTestProcedure.all or PlocTestProcedure.test_tc_mem_read:
tc_queue.appendleft((QueueCommands.PRINT, "PLOC: TC Mem Read Test"))
memory_address = int(input("Type memory address: 0x"), 16)
command = object_id + PlocActionIds.tc_mem_read + struct.pack('I', memory_address)
command = object_id + PlocActionIds.tc_mem_read + struct.pack('!I', memory_address)
command = PusTelecommand(service=8, subservice=128, ssc=24, app_data=command)
tc_queue.appendleft(command.pack_command_tuple())
@ -60,5 +63,5 @@ def generateWriteMemCommand(object_id: bytearray, memory_address: bytearray, mem
@param memory_address The PLOC memory address where to write to.
@param memory_data The data to write to the memory address specified by the bytearray memory_address.
"""
command = object_id + PlocActionIds.tc_mem_write + memory_address + struct.pack('I', memory_data)
return command
command = object_id + PlocActionIds.tc_mem_write + memory_address + struct.pack('!I', memory_data)
return command

View File

@ -58,7 +58,7 @@ def pack_service_queue_user(service: Union[str, int], op_code: str, service_queu
object_id = get_object_id(ObjIdIds.HEATER)
return pack_heater_test_into(object_id, service_queue)
if service == CustomServiceList.PLOC.value:
object_id = get_object_id(ObjIdIds.PLOC)
object_id = get_object_id(ObjIdIds.PLOC_ID)
return pack_ploc_test_into(object_id, service_queue)
LOGGER.warning("Invalid Service !")