v1.9.0 #53
4
.idea/runConfigurations/RW1_Test.xml
generated
4
.idea/runConfigurations/RW1_Test.xml
generated
@ -13,9 +13,9 @@
|
|||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtccli.py" />
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtccli.py" />
|
||||||
<option name="PARAMETERS" value="-c udp -s reaction_wheel_1 -l -t 8 --hk" />
|
<option name="PARAMETERS" value="-s reaction_wheel_1 -l -t 8 --hk" />
|
||||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
<option name="EMULATE_TERMINAL" value="false" />
|
<option name="EMULATE_TERMINAL" value="true" />
|
||||||
<option name="MODULE_MODE" value="false" />
|
<option name="MODULE_MODE" value="false" />
|
||||||
<option name="REDIRECT_INPUT" value="false" />
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
<option name="INPUT_FILE" value="" />
|
<option name="INPUT_FILE" value="" />
|
||||||
|
4
.idea/runConfigurations/RW2_Test_.xml
generated
4
.idea/runConfigurations/RW2_Test_.xml
generated
@ -13,9 +13,9 @@
|
|||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtccli.py" />
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtccli.py" />
|
||||||
<option name="PARAMETERS" value="-c udp -s reaction_wheel_2 -l -t 6 --hk" />
|
<option name="PARAMETERS" value="-s reaction_wheel_2 -l -t 6 --hk" />
|
||||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
<option name="EMULATE_TERMINAL" value="false" />
|
<option name="EMULATE_TERMINAL" value="true" />
|
||||||
<option name="MODULE_MODE" value="false" />
|
<option name="MODULE_MODE" value="false" />
|
||||||
<option name="REDIRECT_INPUT" value="false" />
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
<option name="INPUT_FILE" value="" />
|
<option name="INPUT_FILE" value="" />
|
||||||
|
4
.idea/runConfigurations/RW3_Test_.xml
generated
4
.idea/runConfigurations/RW3_Test_.xml
generated
@ -13,9 +13,9 @@
|
|||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtccli.py" />
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtccli.py" />
|
||||||
<option name="PARAMETERS" value="-c udp -s reaction_wheel_3 -l -t 6 --hk" />
|
<option name="PARAMETERS" value="-s reaction_wheel_3 -l -t 6 --hk" />
|
||||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
<option name="EMULATE_TERMINAL" value="false" />
|
<option name="EMULATE_TERMINAL" value="true" />
|
||||||
<option name="MODULE_MODE" value="false" />
|
<option name="MODULE_MODE" value="false" />
|
||||||
<option name="REDIRECT_INPUT" value="false" />
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
<option name="INPUT_FILE" value="" />
|
<option name="INPUT_FILE" value="" />
|
||||||
|
4
.idea/runConfigurations/RW4_Test_.xml
generated
4
.idea/runConfigurations/RW4_Test_.xml
generated
@ -13,9 +13,9 @@
|
|||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtccli.py" />
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/tmtccli.py" />
|
||||||
<option name="PARAMETERS" value="-c udp -s reaction_wheel_4 -l -t 12 --hk" />
|
<option name="PARAMETERS" value="-s reaction_wheel_4 -l -t 12 --hk" />
|
||||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
<option name="EMULATE_TERMINAL" value="false" />
|
<option name="EMULATE_TERMINAL" value="true" />
|
||||||
<option name="MODULE_MODE" value="false" />
|
<option name="MODULE_MODE" value="false" />
|
||||||
<option name="REDIRECT_INPUT" value="false" />
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
<option name="INPUT_FILE" value="" />
|
<option name="INPUT_FILE" value="" />
|
||||||
|
@ -467,8 +467,9 @@ def add_ploc_mpsoc_cmds(cmd_dict: ServiceOpCodeDictT):
|
|||||||
"6": ("Ploc MPSoC: Downlink pwr on", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
"6": ("Ploc MPSoC: Downlink pwr on", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
||||||
"7": ("Ploc MPSoC: Downlink pwr off", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
"7": ("Ploc MPSoC: Downlink pwr off", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
||||||
"8": ("Ploc MPSoC: Replay write sequence", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
"8": ("Ploc MPSoC: Replay write sequence", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
||||||
"9": ("Ploc MPSoC: Read DEADBEEF address", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
"9": ("Ploc MPSoC: OBSW reset sequence count", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
||||||
"10": ("Ploc MPSoC: Mode replay", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
"10": ("Ploc MPSoC: Read DEADBEEF address", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
||||||
|
"11": ("Ploc MPSoC: Mode replay", {OpCodeDictKeys.TIMEOUT: 2.0}),
|
||||||
}
|
}
|
||||||
service_ploc_mpsoc_tuple = ("Ploc MPSoC", op_code_dict_srv_ploc_mpsoc)
|
service_ploc_mpsoc_tuple = ("Ploc MPSoC", op_code_dict_srv_ploc_mpsoc)
|
||||||
cmd_dict[CustomServiceList.PLOC_MPSOC.value] = service_ploc_mpsoc_tuple
|
cmd_dict[CustomServiceList.PLOC_MPSOC.value] = service_ploc_mpsoc_tuple
|
||||||
|
@ -17,17 +17,17 @@ from utility.input_helper import InputHelper
|
|||||||
|
|
||||||
LOGGER = get_console_logger()
|
LOGGER = get_console_logger()
|
||||||
|
|
||||||
MANUAL_INPUT = "3"
|
MANUAL_INPUT = "1"
|
||||||
|
|
||||||
flash_write_file_dict = {
|
flash_write_file_dict = {
|
||||||
"1": ["/mnt/sd0/ploc/mpsoc/flash_write.bin", "/mnt/sd0/ploc/mpsoc/flash_write.bin"],
|
|
||||||
"2": ["/mnt/sd0/ploc/mpsoc/flash_write.bin", "/mnt/sd0/ploc/mpsoc/flash_write.bin"],
|
|
||||||
MANUAL_INPUT: ["manual input", ""],
|
MANUAL_INPUT: ["manual input", ""],
|
||||||
|
"2": ["/mnt/sd0/ploc/mpsoc/flash_write.bin", "/mnt/sd0/ploc/mpsoc/flash_write.bin"],
|
||||||
}
|
}
|
||||||
|
|
||||||
mpsoc_file_dict = {
|
mpsoc_file_dict = {
|
||||||
"1": ["0:/EM16/231", "0:/EM16/231"],
|
"1": ["0:/EM16/231", "0:/EM16/231"],
|
||||||
MANUAL_INPUT: ["manual input", ""],
|
MANUAL_INPUT: ["manual input", ""],
|
||||||
|
"2": ["/tmp/flash_write", "/tmp/flash_write.bin"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -41,11 +41,15 @@ class CommandIds(enum.IntEnum):
|
|||||||
TC_REPLAY_WRITE_SEQUENCE = 13
|
TC_REPLAY_WRITE_SEQUENCE = 13
|
||||||
TC_DOWNLINK_PWR_ON = 14
|
TC_DOWNLINK_PWR_ON = 14
|
||||||
TC_DOWNLINK_PWR_OFF = 15
|
TC_DOWNLINK_PWR_OFF = 15
|
||||||
|
<<<<<<< HEAD
|
||||||
|
OBSW_RESET_SEQ_COUNT = 50
|
||||||
|
=======
|
||||||
TC_MODE_REPLAY = 16
|
TC_MODE_REPLAY = 16
|
||||||
|
|
||||||
|
|
||||||
class MemAddresses(enum.IntEnum):
|
class MemAddresses(enum.IntEnum):
|
||||||
DEADBEEF = 0x40000000
|
DEADBEEF = 0x40000000
|
||||||
|
>>>>>>> 6572a5df6169772b517f2de2f3e4a1ba8f6471f4
|
||||||
|
|
||||||
|
|
||||||
class PlocReplyIds:
|
class PlocReplyIds:
|
||||||
@ -114,13 +118,18 @@ def pack_ploc_mpsoc_commands(
|
|||||||
command = PusTelecommand(service=8, subservice=128, ssc=27, app_data=command)
|
command = PusTelecommand(service=8, subservice=128, ssc=27, app_data=command)
|
||||||
tc_queue.appendleft(command.pack_command_tuple())
|
tc_queue.appendleft(command.pack_command_tuple())
|
||||||
elif op_code == "9":
|
elif op_code == "9":
|
||||||
|
tc_queue.appendleft((QueueCommands.PRINT, "PLOC MPSoC: Reset OBSW sequence count"))
|
||||||
|
command = object_id + struct.pack('!I', CommandIds.OBSW_RESET_SEQ_COUNT)
|
||||||
|
command = PusTelecommand(service=8, subservice=128, ssc=28, app_data=command)
|
||||||
|
tc_queue.appendleft(command.pack_command_tuple())
|
||||||
|
elif op_code == "10":
|
||||||
num_words = 1
|
num_words = 1
|
||||||
tc_queue.appendleft((QueueCommands.PRINT, "PLOC MPSoC: Read DEADBEEF address"))
|
tc_queue.appendleft((QueueCommands.PRINT, "PLOC MPSoC: Read DEADBEEF address"))
|
||||||
command = object_id + struct.pack('!I', CommandIds.TC_MEM_READ) + struct.pack("!I", MemAddresses.DEADBEEF) + \
|
command = object_id + struct.pack('!I', CommandIds.TC_MEM_READ) + struct.pack("!I", MemAddresses.DEADBEEF) + \
|
||||||
struct.pack('!H', num_words)
|
struct.pack('!H', num_words)
|
||||||
command = PusTelecommand(service=8, subservice=128, ssc=28, app_data=command)
|
command = PusTelecommand(service=8, subservice=128, ssc=28, app_data=command)
|
||||||
tc_queue.appendleft(command.pack_command_tuple())
|
tc_queue.appendleft(command.pack_command_tuple())
|
||||||
elif op_code == "10":
|
elif op_code == "11":
|
||||||
tc_queue.appendleft((QueueCommands.PRINT, "PLOC MPSoC: Tc mode replay"))
|
tc_queue.appendleft((QueueCommands.PRINT, "PLOC MPSoC: Tc mode replay"))
|
||||||
command = object_id + struct.pack('!I', CommandIds.TC_MODE_REPLAY)
|
command = object_id + struct.pack('!I', CommandIds.TC_MODE_REPLAY)
|
||||||
command = PusTelecommand(service=8, subservice=128, ssc=29, app_data=command)
|
command = PusTelecommand(service=8, subservice=128, ssc=29, app_data=command)
|
||||||
@ -158,8 +167,10 @@ def prepare_mem_read_command(object_id: bytearray) -> bytearray:
|
|||||||
|
|
||||||
|
|
||||||
def prepare_flash_write_cmd(object_id: bytearray) -> bytearray:
|
def prepare_flash_write_cmd(object_id: bytearray) -> bytearray:
|
||||||
file = get_flash_write_file()
|
obcFile = get_flash_write_file()
|
||||||
command = object_id + struct.pack('!I', CommandIds.FLASH_WRITE) + bytearray(file, 'utf-8')
|
mpsocFile = get_mpsoc_file()
|
||||||
|
command = object_id + struct.pack('!I', CommandIds.FLASH_WRITE) + bytearray(obcFile, 'utf-8') + \
|
||||||
|
struct.pack('B', 0) + bytearray(mpsocFile, 'utf-8')
|
||||||
return command
|
return command
|
||||||
|
|
||||||
|
|
||||||
@ -204,7 +215,7 @@ def get_flash_write_file() -> str:
|
|||||||
|
|
||||||
|
|
||||||
def get_mpsoc_file() -> str:
|
def get_mpsoc_file() -> str:
|
||||||
LOGGER.info("Specify mpsoc file")
|
LOGGER.info("Specify flash file to write to")
|
||||||
input_helper = InputHelper(mpsoc_file_dict)
|
input_helper = InputHelper(mpsoc_file_dict)
|
||||||
key = input_helper.get_key()
|
key = input_helper.get_key()
|
||||||
if key == MANUAL_INPUT:
|
if key == MANUAL_INPUT:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user