diff --git a/tmtc/.idea/runConfigurations/TMTC_PUS_17_Generic.xml b/tmtc/.idea/runConfigurations/TMTC_PUS_17_Generic.xml
new file mode 100644
index 0000000..2c0b569
--- /dev/null
+++ b/tmtc/.idea/runConfigurations/TMTC_PUS_17_Generic.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tmtc/.idea/runConfigurations/TMTC_PUS_17.xml b/tmtc/.idea/runConfigurations/TMTC_PUS_17_Ping.xml
similarity index 87%
rename from tmtc/.idea/runConfigurations/TMTC_PUS_17.xml
rename to tmtc/.idea/runConfigurations/TMTC_PUS_17_Ping.xml
index c758e4f..d8fdfae 100644
--- a/tmtc/.idea/runConfigurations/TMTC_PUS_17.xml
+++ b/tmtc/.idea/runConfigurations/TMTC_PUS_17_Ping.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/tmtc/config/hook_implementation.py b/tmtc/config/hook_implementation.py
index d7168b4..63bcbd3 100644
--- a/tmtc/config/hook_implementation.py
+++ b/tmtc/config/hook_implementation.py
@@ -51,7 +51,7 @@ class FsfwHookBase(TmTcHookBase):
def pack_service_queue(self, service: int, op_code: str, service_queue: TcQueueT):
from pus_tc.tc_packing import pack_service_queue_user
- pack_service_queue_user(service=service, op_code=op_code, service_queue=service_queue)
+ pack_service_queue_user(service=service, op_code=op_code, tc_queue=service_queue)
def get_object_ids(self) -> Dict[bytes, list]:
from config.object_ids import get_object_ids
diff --git a/tmtc/pus_tc/service_17_test.py b/tmtc/pus_tc/service_17_test.py
new file mode 100644
index 0000000..0a290fa
--- /dev/null
+++ b/tmtc/pus_tc/service_17_test.py
@@ -0,0 +1,9 @@
+from tmtccmd.pus_tc.definitions import TcQueueT
+from tmtccmd.pus_tc.service_17_test import pack_service17_ping_command, pack_generic_service17_test
+
+
+def pack_service_17_commands(op_code: str, init_ssc: int, tc_queue: TcQueueT):
+ if op_code == "0":
+ tc_queue.appendleft(pack_service17_ping_command(ssc=init_ssc).pack_command_tuple())
+ else:
+ pack_generic_service17_test(tc_queue=tc_queue, init_ssc=init_ssc)
diff --git a/tmtc/pus_tc/tc_packing.py b/tmtc/pus_tc/tc_packing.py
index 89cc582..7e09646 100644
--- a/tmtc/pus_tc/tc_packing.py
+++ b/tmtc/pus_tc/tc_packing.py
@@ -11,6 +11,7 @@ from typing import Union
from pus_tc.service_20_parameters import pack_service20_commands_into
from pus_tc.service_2_raw_cmd import pack_service_2_commands_into
from pus_tc.service_3_housekeeping import pack_service_3_commands_into
+from pus_tc.service_17_test import pack_service_17_commands
from pus_tc.service_8_func_cmd import pack_service_8_commands_into
from tmtccmd.utility.logger import get_console_logger
from tmtccmd.pus_tc.definitions import TcQueueT
@@ -22,21 +23,21 @@ from pus_tc.service_200_mode import pack_service_200_commands_into
LOGGER = get_console_logger()
-def pack_service_queue_user(service: Union[str, int], op_code: str, service_queue: TcQueueT):
+def pack_service_queue_user(service: Union[str, int], op_code: str, tc_queue: TcQueueT):
if service == CoreServiceList.SERVICE_2.value:
- return pack_service_2_commands_into(op_code=op_code, tc_queue=service_queue)
+ return pack_service_2_commands_into(op_code=op_code, tc_queue=tc_queue)
if service == CoreServiceList.SERVICE_3.value:
- return pack_service_3_commands_into(op_code=op_code, tc_queue=service_queue)
+ return pack_service_3_commands_into(op_code=op_code, tc_queue=tc_queue)
if service == CoreServiceList.SERVICE_5.value:
- return pack_generic_service5_test_into(tc_queue=service_queue)
+ return pack_generic_service5_test_into(tc_queue=tc_queue)
if service == CoreServiceList.SERVICE_8.value:
- return pack_service_8_commands_into(op_code=op_code, tc_queue=service_queue)
+ return pack_service_8_commands_into(op_code=op_code, tc_queue=tc_queue)
if service == CoreServiceList.SERVICE_17.value:
- return pack_generic_service17_test(init_ssc=1700, tc_queue=service_queue)
+ return pack_service_17_commands(op_code=op_code, tc_queue=tc_queue, init_ssc=0)
if service == CoreServiceList.SERVICE_20.value:
- return pack_service20_commands_into(tc_queue=service_queue, op_code=op_code)
+ return pack_service20_commands_into(tc_queue=tc_queue, op_code=op_code)
if service == CoreServiceList.SERVICE_200.value:
- return pack_service_200_commands_into(tc_queue=service_queue, op_code=op_code)
+ return pack_service_200_commands_into(tc_queue=tc_queue, op_code=op_code)
LOGGER.warning("Invalid Service !")
diff --git a/tmtc/tmtccmd b/tmtc/tmtccmd
index 7633cae..eed1bb0 160000
--- a/tmtc/tmtccmd
+++ b/tmtc/tmtccmd
@@ -1 +1 @@
-Subproject commit 7633cae84f57d2e56b56ac76cb2e6af40650f812
+Subproject commit eed1bb0b2e6e7634a1af3198406dd3629b56ecaf