diff --git a/.idea/runConfigurations/ACU_Test_UDP.xml b/.idea/runConfigurations/ACU_Test_UDP.xml
new file mode 100644
index 0000000..e44f65c
--- /dev/null
+++ b/.idea/runConfigurations/ACU_Test_UDP.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/tmtcclient_Heater_Test_UDP.xml b/.idea/runConfigurations/Heater_Test.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_Heater_Test_UDP.xml
rename to .idea/runConfigurations/Heater_Test.xml
index a5895ff..6debe25 100644
--- a/.idea/runConfigurations/tmtcclient_Heater_Test_UDP.xml
+++ b/.idea/runConfigurations/Heater_Test.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_IMTQ_Get_Commanded_Dipole.xml b/.idea/runConfigurations/IMTQ_Get_Commanded_Dipole.xml
similarity index 86%
rename from .idea/runConfigurations/tmtcclient_IMTQ_Get_Commanded_Dipole.xml
rename to .idea/runConfigurations/IMTQ_Get_Commanded_Dipole.xml
index 7da3192..d77c885 100644
--- a/.idea/runConfigurations/tmtcclient_IMTQ_Get_Commanded_Dipole.xml
+++ b/.idea/runConfigurations/IMTQ_Get_Commanded_Dipole.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_IMTQ_Neg_X_Test.xml b/.idea/runConfigurations/IMTQ_Neg_X_Test.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_IMTQ_Neg_X_Test.xml
rename to .idea/runConfigurations/IMTQ_Neg_X_Test.xml
index ae172c6..eec3e30 100644
--- a/.idea/runConfigurations/tmtcclient_IMTQ_Neg_X_Test.xml
+++ b/.idea/runConfigurations/IMTQ_Neg_X_Test.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_IMTQ_Neg_Y_Test.xml b/.idea/runConfigurations/IMTQ_Neg_Y_Test.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_IMTQ_Neg_Y_Test.xml
rename to .idea/runConfigurations/IMTQ_Neg_Y_Test.xml
index 7a9c86d..c8e3250 100644
--- a/.idea/runConfigurations/tmtcclient_IMTQ_Neg_Y_Test.xml
+++ b/.idea/runConfigurations/IMTQ_Neg_Y_Test.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_IMTQ_Neg_Z_Test.xml b/.idea/runConfigurations/IMTQ_Neg_Z_Test.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_IMTQ_Neg_Z_Test.xml
rename to .idea/runConfigurations/IMTQ_Neg_Z_Test.xml
index 5319fbe..d2cba27 100644
--- a/.idea/runConfigurations/tmtcclient_IMTQ_Neg_Z_Test.xml
+++ b/.idea/runConfigurations/IMTQ_Neg_Z_Test.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_IMTQ_Pos_X_Test.xml b/.idea/runConfigurations/IMTQ_Pos_X_Test.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_IMTQ_Pos_X_Test.xml
rename to .idea/runConfigurations/IMTQ_Pos_X_Test.xml
index 2e73364..6d75c92 100644
--- a/.idea/runConfigurations/tmtcclient_IMTQ_Pos_X_Test.xml
+++ b/.idea/runConfigurations/IMTQ_Pos_X_Test.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_IMTQ_Pos_Y_Test.xml b/.idea/runConfigurations/IMTQ_Pos_Y_Test.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_IMTQ_Pos_Y_Test.xml
rename to .idea/runConfigurations/IMTQ_Pos_Y_Test.xml
index d3a129d..fb8e104 100644
--- a/.idea/runConfigurations/tmtcclient_IMTQ_Pos_Y_Test.xml
+++ b/.idea/runConfigurations/IMTQ_Pos_Y_Test.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_IMTQ_Pos_Z_Test.xml b/.idea/runConfigurations/IMTQ_Pos_Z_Test.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_IMTQ_Pos_Z_Test.xml
rename to .idea/runConfigurations/IMTQ_Pos_Z_Test.xml
index 73fcd50..98f8f4b 100644
--- a/.idea/runConfigurations/tmtcclient_IMTQ_Pos_Z_Test.xml
+++ b/.idea/runConfigurations/IMTQ_Pos_Z_Test.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_IMTQ_Test_UDP.xml b/.idea/runConfigurations/IMTQ_Test_UDP.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_IMTQ_Test_UDP.xml
rename to .idea/runConfigurations/IMTQ_Test_UDP.xml
index 6413dc4..318b97a 100644
--- a/.idea/runConfigurations/tmtcclient_IMTQ_Test_UDP.xml
+++ b/.idea/runConfigurations/IMTQ_Test_UDP.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_P60_Dock_Test_UDP.xml b/.idea/runConfigurations/P60_Dock_Test_UDP.xml
similarity index 86%
rename from .idea/runConfigurations/tmtcclient_P60_Dock_Test_UDP.xml
rename to .idea/runConfigurations/P60_Dock_Test_UDP.xml
index 49c15a5..8e873b7 100644
--- a/.idea/runConfigurations/tmtcclient_P60_Dock_Test_UDP.xml
+++ b/.idea/runConfigurations/P60_Dock_Test_UDP.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_PDU1_Test_UDP.xml b/.idea/runConfigurations/PDU1_Test_UDP.xml
similarity index 86%
rename from .idea/runConfigurations/tmtcclient_PDU1_Test_UDP.xml
rename to .idea/runConfigurations/PDU1_Test_UDP.xml
index 3c6859b..22ea5c2 100644
--- a/.idea/runConfigurations/tmtcclient_PDU1_Test_UDP.xml
+++ b/.idea/runConfigurations/PDU1_Test_UDP.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_PDU2_Test_UDP.xml b/.idea/runConfigurations/PDU2_Test_UDP.xml
similarity index 86%
rename from .idea/runConfigurations/tmtcclient_PDU2_Test_UDP.xml
rename to .idea/runConfigurations/PDU2_Test_UDP.xml
index c640826..fbf8adf 100644
--- a/.idea/runConfigurations/tmtcclient_PDU2_Test_UDP.xml
+++ b/.idea/runConfigurations/PDU2_Test_UDP.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/PLOC_SUPV_Test.xml b/.idea/runConfigurations/PLOC_SUPV_Test.xml
index 843dd32..cd4ce6f 100644
--- a/.idea/runConfigurations/PLOC_SUPV_Test.xml
+++ b/.idea/runConfigurations/PLOC_SUPV_Test.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_PLOC_Test_UDP_Flatsat.xml b/.idea/runConfigurations/PLOC_Test_UDP_Flatsat.xml
similarity index 86%
rename from .idea/runConfigurations/tmtcclient_PLOC_Test_UDP_Flatsat.xml
rename to .idea/runConfigurations/PLOC_Test_UDP_Flatsat.xml
index 81d46a6..cdfbdc6 100644
--- a/.idea/runConfigurations/tmtcclient_PLOC_Test_UDP_Flatsat.xml
+++ b/.idea/runConfigurations/PLOC_Test_UDP_Flatsat.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/PLOC_Test_UDP_Local.xml b/.idea/runConfigurations/PLOC_Test_UDP_Local.xml
new file mode 100644
index 0000000..09ce41b
--- /dev/null
+++ b/.idea/runConfigurations/PLOC_Test_UDP_Local.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/RW1_Test.xml b/.idea/runConfigurations/RW1_Test.xml
index c013f3d..e297519 100644
--- a/.idea/runConfigurations/RW1_Test.xml
+++ b/.idea/runConfigurations/RW1_Test.xml
@@ -1,14 +1,14 @@
-
+
-
+
-
+
diff --git a/.idea/runConfigurations/RW2_Test_.xml b/.idea/runConfigurations/RW2_Test_.xml
index cd2434f..bfa97e4 100644
--- a/.idea/runConfigurations/RW2_Test_.xml
+++ b/.idea/runConfigurations/RW2_Test_.xml
@@ -1,14 +1,14 @@
-
+
-
+
-
+
diff --git a/.idea/runConfigurations/RW3_Test_.xml b/.idea/runConfigurations/RW3_Test_.xml
index 6c98750..570dc53 100644
--- a/.idea/runConfigurations/RW3_Test_.xml
+++ b/.idea/runConfigurations/RW3_Test_.xml
@@ -1,14 +1,14 @@
-
+
-
+
-
+
diff --git a/.idea/runConfigurations/RW4_Test_.xml b/.idea/runConfigurations/RW4_Test_.xml
index e48dc3b..f2c0917 100644
--- a/.idea/runConfigurations/RW4_Test_.xml
+++ b/.idea/runConfigurations/RW4_Test_.xml
@@ -1,14 +1,14 @@
-
+
-
+
-
+
diff --git a/.idea/runConfigurations/tmtcc_Listener_Mode_UDP.xml b/.idea/runConfigurations/Reboot_0_0.xml
similarity index 82%
rename from .idea/runConfigurations/tmtcc_Listener_Mode_UDP.xml
rename to .idea/runConfigurations/Reboot_0_0.xml
index 1273551..5ded074 100644
--- a/.idea/runConfigurations/tmtcc_Listener_Mode_UDP.xml
+++ b/.idea/runConfigurations/Reboot_0_0.xml
@@ -1,5 +1,5 @@
-
+
@@ -13,7 +13,7 @@
-
+
diff --git a/.idea/runConfigurations/Reboot_0_1.xml b/.idea/runConfigurations/Reboot_0_1.xml
new file mode 100644
index 0000000..31348ba
--- /dev/null
+++ b/.idea/runConfigurations/Reboot_0_1.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Reboot_1_0.xml b/.idea/runConfigurations/Reboot_1_0.xml
new file mode 100644
index 0000000..c635a7e
--- /dev/null
+++ b/.idea/runConfigurations/Reboot_1_0.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Reboot_1_1.xml b/.idea/runConfigurations/Reboot_1_1.xml
new file mode 100644
index 0000000..11e12bf
--- /dev/null
+++ b/.idea/runConfigurations/Reboot_1_1.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Reboot_Prompt.xml b/.idea/runConfigurations/Reboot_Prompt.xml
new file mode 100644
index 0000000..8d7f4b5
--- /dev/null
+++ b/.idea/runConfigurations/Reboot_Prompt.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Reboot_Self.xml b/.idea/runConfigurations/Reboot_Self.xml
new file mode 100644
index 0000000..ec6c747
--- /dev/null
+++ b/.idea/runConfigurations/Reboot_Self.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/tmtcclient_ACU_Test_UDP.xml b/.idea/runConfigurations/S_A_Deployment_Test_UDP.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_ACU_Test_UDP.xml
rename to .idea/runConfigurations/S_A_Deployment_Test_UDP.xml
index 3c13fbb..4e5633e 100644
--- a/.idea/runConfigurations/tmtcclient_ACU_Test_UDP.xml
+++ b/.idea/runConfigurations/S_A_Deployment_Test_UDP.xml
@@ -1,5 +1,5 @@
-
+
@@ -13,7 +13,7 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_Syrlinks_Test_UDP.xml b/.idea/runConfigurations/Syrlinks_Test_UDP.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcclient_Syrlinks_Test_UDP.xml
rename to .idea/runConfigurations/Syrlinks_Test_UDP.xml
index d3eb8eb..83cc53f 100644
--- a/.idea/runConfigurations/tmtcclient_Syrlinks_Test_UDP.xml
+++ b/.idea/runConfigurations/Syrlinks_Test_UDP.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_TMP1075_1_Dock_Test_UDP.xml b/.idea/runConfigurations/TMP1075_1_Dock_Test_UDP.xml
similarity index 86%
rename from .idea/runConfigurations/tmtcclient_TMP1075_1_Dock_Test_UDP.xml
rename to .idea/runConfigurations/TMP1075_1_Dock_Test_UDP.xml
index 2670a02..0232820 100644
--- a/.idea/runConfigurations/tmtcclient_TMP1075_1_Dock_Test_UDP.xml
+++ b/.idea/runConfigurations/TMP1075_1_Dock_Test_UDP.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_TMP1075_2_Dock_Test_UDP.xml b/.idea/runConfigurations/TMP1075_2_Dock_Test_UDP.xml
similarity index 86%
rename from .idea/runConfigurations/tmtcclient_TMP1075_2_Dock_Test_UDP.xml
rename to .idea/runConfigurations/TMP1075_2_Dock_Test_UDP.xml
index d1043e9..65b4efb 100644
--- a/.idea/runConfigurations/tmtcclient_TMP1075_2_Dock_Test_UDP.xml
+++ b/.idea/runConfigurations/TMP1075_2_Dock_Test_UDP.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_IMTQ_Command_Dipole.xml b/.idea/runConfigurations/_IMTQ_Command_Dipole.xml
similarity index 86%
rename from .idea/runConfigurations/tmtcclient_IMTQ_Command_Dipole.xml
rename to .idea/runConfigurations/_IMTQ_Command_Dipole.xml
index e532c40..7972ab7 100644
--- a/.idea/runConfigurations/tmtcclient_IMTQ_Command_Dipole.xml
+++ b/.idea/runConfigurations/_IMTQ_Command_Dipole.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcc_Service_2_UDP.xml b/.idea/runConfigurations/tmtcc_Listener_Mode.xml
similarity index 88%
rename from .idea/runConfigurations/tmtcc_Service_2_UDP.xml
rename to .idea/runConfigurations/tmtcc_Listener_Mode.xml
index fec9dac..e67c129 100644
--- a/.idea/runConfigurations/tmtcc_Service_2_UDP.xml
+++ b/.idea/runConfigurations/tmtcc_Listener_Mode.xml
@@ -1,5 +1,5 @@
-
+
@@ -13,7 +13,7 @@
-
+
diff --git a/.idea/runConfigurations/tmtcc_Service_17_UDP.xml b/.idea/runConfigurations/tmtcc_Service_17.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcc_Service_17_UDP.xml
rename to .idea/runConfigurations/tmtcc_Service_17.xml
index 9bb6ff3..4162965 100644
--- a/.idea/runConfigurations/tmtcc_Service_17_UDP.xml
+++ b/.idea/runConfigurations/tmtcc_Service_17.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcc_Service_2.xml b/.idea/runConfigurations/tmtcc_Service_2.xml
new file mode 100644
index 0000000..bd86ff4
--- /dev/null
+++ b/.idea/runConfigurations/tmtcc_Service_2.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/tmtcc_Service_200_UDP.xml b/.idea/runConfigurations/tmtcc_Service_200.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcc_Service_200_UDP.xml
rename to .idea/runConfigurations/tmtcc_Service_200.xml
index 526925e..a8d49be 100644
--- a/.idea/runConfigurations/tmtcc_Service_200_UDP.xml
+++ b/.idea/runConfigurations/tmtcc_Service_200.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcc_Service_3_UDP.xml b/.idea/runConfigurations/tmtcc_Service_3.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcc_Service_3_UDP.xml
rename to .idea/runConfigurations/tmtcc_Service_3.xml
index 232d098..686dd13 100644
--- a/.idea/runConfigurations/tmtcc_Service_3_UDP.xml
+++ b/.idea/runConfigurations/tmtcc_Service_3.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcc_Service_8_UDP.xml b/.idea/runConfigurations/tmtcc_Service_8.xml
similarity index 87%
rename from .idea/runConfigurations/tmtcc_Service_8_UDP.xml
rename to .idea/runConfigurations/tmtcc_Service_8.xml
index e80b75a..698dd1f 100644
--- a/.idea/runConfigurations/tmtcc_Service_8_UDP.xml
+++ b/.idea/runConfigurations/tmtcc_Service_8.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/tmtcclient_PLOC_Test_UDP_Local.xml b/.idea/runConfigurations/tmtcclient_PLOC_Test_UDP_Local.xml
deleted file mode 100644
index 409787b..0000000
--- a/.idea/runConfigurations/tmtcclient_PLOC_Test_UDP_Local.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations/tmtcclient_S_A_Deployment_Test_UDP.xml b/.idea/runConfigurations/tmtcclient_S_A_Deployment_Test_UDP.xml
deleted file mode 100644
index bd78fc6..0000000
--- a/.idea/runConfigurations/tmtcclient_S_A_Deployment_Test_UDP.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/config/definitions.py b/config/definitions.py
index 771eb06..3d5f7b4 100644
--- a/config/definitions.py
+++ b/config/definitions.py
@@ -29,3 +29,4 @@ class CustomServiceList(enum.Enum):
REACTION_WHEEL_4 = "reaction_wheel_4"
RAD_SENSOR = "rad_sensor"
PLOC_SUPV = "ploc_supv"
+ CORE = 'core'
diff --git a/config/hook_implementations.py b/config/hook_implementations.py
index c5bad08..46079c7 100644
--- a/config/hook_implementations.py
+++ b/config/hook_implementations.py
@@ -20,16 +20,30 @@ class EiveHookObject(TmTcHookBase):
def get_service_op_code_dictionary(self) -> ServiceOpCodeDictT:
from tmtccmd.config.globals import get_default_service_op_code_dict
service_op_code_dict = get_default_service_op_code_dict()
- op_code_dict_srv_acu = {
+ op_code_dict = {
+ 'reboot': ('Reboot with Prompt', {OpCodeDictKeys.TIMEOUT: 2.0}),
+ 'reboot_self': ('Reboot Self', {OpCodeDictKeys.TIMEOUT: 4.0}),
+ 'reboot_0_0': ('Reboot 0 0', {OpCodeDictKeys.TIMEOUT: 4.0}),
+ 'reboot_0_1': ('Reboot 0 1', {OpCodeDictKeys.TIMEOUT: 4.0}),
+ 'reboot_1_0': ('Reboot 1 0', {OpCodeDictKeys.TIMEOUT: 4.0}),
+ 'reboot_1_1': ('Reboot 1 1', {OpCodeDictKeys.TIMEOUT: 4.0}),
+ }
+ service_tuple = ('Core Controller', op_code_dict)
+ service_op_code_dict[CustomServiceList.CORE.value] = service_tuple
+
+ op_code_dict = {
"0": ("ACU Tests", {OpCodeDictKeys.TIMEOUT: 2.0}),
}
- service_acu_tuple = ("ACU Devices", op_code_dict_srv_acu)
+ service_tuple = ("ACU Devices", op_code_dict)
+ service_op_code_dict[CustomServiceList.ACU.value] = service_tuple
- op_code_dict_srv_tmp1075 = {
+ op_code_dict = {
"0": ("TMP1075 Tests", {OpCodeDictKeys.TIMEOUT: 2.2}),
}
- service_tmp1075_1_tuple = ("TMP1075 1", op_code_dict_srv_tmp1075)
- service_tmp1075_2_tuple = ("TMP1075 2", op_code_dict_srv_tmp1075)
+ service_tuple = ("TMP1075 1", op_code_dict)
+ service_op_code_dict[CustomServiceList.TMP1075_1.value] = service_tuple
+ service_tuple = ("TMP1075 2", op_code_dict)
+ service_op_code_dict[CustomServiceList.TMP1075_2.value] = service_tuple
op_code_dict_srv_p60 = {
"0": ("P60 Tests", {OpCodeDictKeys.TIMEOUT: 2.0}),
@@ -120,9 +134,6 @@ class EiveHookObject(TmTcHookBase):
}
service_ploc_supv_tuple = ("PLOC Supervisor", op_code_dict_srv_ploc_supv)
- service_op_code_dict[CustomServiceList.ACU.value] = service_acu_tuple
- service_op_code_dict[CustomServiceList.TMP1075_1.value] = service_tmp1075_1_tuple
- service_op_code_dict[CustomServiceList.TMP1075_2.value] = service_tmp1075_2_tuple
service_op_code_dict[CustomServiceList.P60DOCK.value] = service_p60_tuple
service_op_code_dict[CustomServiceList.PDU1.value] = service_pdu1_tuple
service_op_code_dict[CustomServiceList.PDU1.value] = service_pdu2_tuple
diff --git a/config/object_ids.py b/config/object_ids.py
index 5d6b3e7..5537e62 100644
--- a/config/object_ids.py
+++ b/config/object_ids.py
@@ -26,6 +26,7 @@ RW4_ID = bytes([0x44, 0x12, 0x00, 0x4])
START_TRACKER_ID = bytes([0x44, 0x13, 0x00, 0x1])
RAD_SENSOR_ID = bytes([0x44, 0x32, 0x00, 0xA5])
PLOC_SUPV_ID = bytes([0x44, 0x33, 0x00, 0x16])
+CORE_CONTROLLER_ID = bytes([0x43, 0x00, 0x00, 0x03])
def get_object_ids() -> Dict[bytes, list]:
@@ -47,5 +48,6 @@ def get_object_ids() -> Dict[bytes, list]:
RW4_ID: "Reaction Wheel 4",
RAD_SENSOR_ID: "Radiation Sensor",
PLOC_SUPV_ID: "PLOC Supervisor",
+ CORE_CONTROLLER_ID: "Core Controller",
})
return object_id_dict
diff --git a/pus_tc/acu.py b/pus_tc/acu.py
index 9e06242..d31cba6 100644
--- a/pus_tc/acu.py
+++ b/pus_tc/acu.py
@@ -53,13 +53,17 @@ class ACUHkTable:
wdt_gnd_left = TableEntry(bytearray([0x00, 0x74]), TableEntry.uint32_size)
-def pack_acu_test_into(object_id: bytearray, tc_queue: TcQueueT) -> TcQueueT:
+def pack_acu_test_into(object_id: bytearray, tc_queue: TcQueueT):
tc_queue.appendleft((QueueCommands.PRINT, "Testing ACU"))
- tc_queue.appendleft((QueueCommands.PRINT, "P60 Dock: Enabling ACU connected to X1 slot (channel 0)"))
+ tc_queue.appendleft(
+ (QueueCommands.PRINT, "P60 Dock: Enabling ACU connected to X1 slot (channel 0)")
+ )
p60dock_object_id = P60_DOCK_HANDLER
- command = pack_set_param_command(p60dock_object_id, P60DockConfigTable.out_en_0.parameter_address,
- P60DockConfigTable.out_en_0.parameter_size, Channel.on)
+ command = pack_set_param_command(
+ p60dock_object_id, P60DockConfigTable.out_en_0.parameter_address,
+ P60DockConfigTable.out_en_0.parameter_size, Channel.on
+ )
command = PusTelecommand(service=8, subservice=128, ssc=23, app_data=command)
tc_queue.appendleft(command.pack_command_tuple())
@@ -70,8 +74,10 @@ def pack_acu_test_into(object_id: bytearray, tc_queue: TcQueueT) -> TcQueueT:
tc_queue.appendleft(command.pack_command_tuple())
if ACUTestProcedure.all or ACUTestProcedure.read_gnd_wdt:
tc_queue.appendleft((QueueCommands.PRINT, "ACU: Reading ground watchdog timer value"))
- command = pack_get_param_command(object_id, TableIds.hk, ACUHkTable.wdt_gnd_left.parameter_address,
- ACUHkTable.wdt_gnd_left.parameter_size)
+ command = pack_get_param_command(
+ object_id, TableIds.hk, ACUHkTable.wdt_gnd_left.parameter_address,
+ ACUHkTable.wdt_gnd_left.parameter_size
+ )
command = PusTelecommand(service=8, subservice=128, ssc=20, app_data=command)
tc_queue.appendleft(command.pack_command_tuple())
if ACUTestProcedure.all or ACUTestProcedure.gnd_wdt_reset:
diff --git a/pus_tc/core.py b/pus_tc/core.py
new file mode 100644
index 0000000..c29c6fe
--- /dev/null
+++ b/pus_tc/core.py
@@ -0,0 +1,112 @@
+import enum
+
+from tmtccmd.config.definitions import QueueCommands
+from tmtccmd.tc.definitions import TcQueueT
+from tmtccmd.tc.service_8_functional_cmd import generate_action_command
+from tmtccmd.utility.logger import get_console_logger
+from config.object_ids import CORE_CONTROLLER_ID
+
+LOGGER = get_console_logger()
+
+
+class ActionIds(enum.IntEnum):
+ REBOOT = 32
+
+
+class OpCodes(enum.Enum):
+ REBOOT = 'reboot'
+ REBOOT_SELF = 'reboot_self'
+ REBOOT_0_0 = 'reboot_0_0'
+ REBOOT_0_1 = 'reboot_0_1'
+ REBOOT_1_0 = 'reboot_1_0'
+ REBOOT_1_1 = 'reboot_1_1'
+
+
+class Chip(enum.IntEnum):
+ CHIP_0 = 0
+ CHIP_1 = 1
+ NONE = 2
+
+
+class Copy(enum.IntEnum):
+ COPY_0_NOM = 0
+ COPY_1_GOLD = 1
+ NONE = 2
+
+
+def pack_core_commands(tc_queue: TcQueueT, op_code: str):
+ if op_code == OpCodes.REBOOT.value:
+ reboot_self, chip_select, copy_select = determine_reboot_params()
+ perform_reboot_cmd(
+ tc_queue=tc_queue, reboot_self=reboot_self, chip=chip_select, copy=copy_select
+ )
+ elif op_code == OpCodes.REBOOT_SELF.value:
+ perform_reboot_cmd(tc_queue=tc_queue, reboot_self=True)
+ elif op_code == OpCodes.REBOOT_0_0.value:
+ perform_reboot_cmd(
+ tc_queue=tc_queue, reboot_self=False, chip=Chip.CHIP_0, copy=Copy.COPY_0_NOM
+ )
+ elif op_code == OpCodes.REBOOT_0_1.value:
+ perform_reboot_cmd(
+ tc_queue=tc_queue, reboot_self=False, chip=Chip.CHIP_0, copy=Copy.COPY_1_GOLD
+ )
+ elif op_code == OpCodes.REBOOT_1_0.value:
+ perform_reboot_cmd(
+ tc_queue=tc_queue, reboot_self=False, chip=Chip.CHIP_1, copy=Copy.COPY_0_NOM
+ )
+ elif op_code == OpCodes.REBOOT_1_1.value:
+ perform_reboot_cmd(
+ tc_queue=tc_queue, reboot_self=False, chip=Chip.CHIP_1, copy=Copy.COPY_1_GOLD
+ )
+
+
+def determine_reboot_params() -> (bool, Chip, Copy):
+ chip_select = -1
+ copy_select = -1
+ reboot_self = input('Reboot self? [y/n]: ')
+ if reboot_self in ['y', 'yes', '1']:
+ LOGGER.info('Rebooting currently running image')
+ return True, chip_select, copy_select
+ LOGGER.info('Rebooting image specified by chip and copy')
+ while True:
+ chip_select = input('Chip select [0/1]: ')
+ if chip_select in ['0', '1']:
+ if chip_select == '0':
+ chip_select = Chip.CHIP_0
+ else:
+ chip_select = Chip.CHIP_1
+ break
+ else:
+ LOGGER.warning('Invalid chip select value. Try again')
+ while True:
+ copy_select = input('Copy select [0/1]: ')
+ if copy_select in ['0', '1']:
+ if copy_select == '0':
+ copy_select = Copy.COPY_0_NOM
+ else:
+ copy_select = Copy.COPY_1_GOLD
+ break
+ else:
+ LOGGER.warning('Invalid copy select value. Try again')
+ return False, chip_select, copy_select
+
+
+def perform_reboot_cmd(
+ tc_queue: TcQueueT, reboot_self: bool, chip: Chip = Chip.NONE, copy: Copy = Copy.NONE
+):
+ tc_data = bytearray()
+ if reboot_self:
+ tc_queue.appendleft((QueueCommands.PRINT, 'Packing reboot command for current image'))
+ tc_data.append(True)
+ else:
+ tc_data.append(False)
+ tc_data.append(chip)
+ tc_data.append(copy)
+ tc_queue.append(
+ (QueueCommands.PRINT, f'Packing reboot command for chip {chip} and copy {copy}')
+ )
+ action_cmd = generate_action_command(
+ object_id=CORE_CONTROLLER_ID, action_id=ActionIds.REBOOT, app_data=tc_data, ssc=0
+ )
+ tc_queue.appendleft(action_cmd.pack_command_tuple())
+
diff --git a/pus_tc/tc_packer_hook.py b/pus_tc/tc_packer_hook.py
index 80d893f..ed8d6d4 100644
--- a/pus_tc/tc_packer_hook.py
+++ b/pus_tc/tc_packer_hook.py
@@ -26,6 +26,7 @@ from pus_tc.ploc_supervisor import pack_ploc_supv_test_into
from pus_tc.heater import pack_heater_test_into
from pus_tc.reaction_wheels import pack_single_rw_test_into
from pus_tc.rad_sensor import pack_rad_sensor_test_into
+from pus_tc.core import pack_core_commands
from config.definitions import CustomServiceList
from config.object_ids import P60_DOCK_HANDLER, PDU_1_HANDLER_ID, PDU_2_HANDLER_ID, ACU_HANDLER_ID, \
TMP_1075_1_HANDLER_ID, TMP_1075_2_HANDLER_ID, HEATER_ID, IMTQ_HANDLER_ID, PLOC_MPSOC_ID, RW1_ID, RW2_ID, RW3_ID, RW4_ID, \
@@ -93,7 +94,8 @@ def pack_service_queue_user(service: Union[str, int], op_code: str, service_queu
if service == CustomServiceList.PLOC_SUPV.value:
object_id = PLOC_SUPV_ID
return pack_ploc_supv_test_into(object_id=object_id, tc_queue=service_queue, op_code=op_code)
-
+ if service == CustomServiceList.CORE.value:
+ return pack_core_commands(tc_queue=service_queue, op_code=op_code)
LOGGER.warning("Invalid Service !")
diff --git a/tmtccmd b/tmtccmd
index 2058b28..dbf6034 160000
--- a/tmtccmd
+++ b/tmtccmd
@@ -1 +1 @@
-Subproject commit 2058b28fa167fa1cc3eb7dd69b18b4968e86ddb1
+Subproject commit dbf6034513616e447cb980efe7cf0ac255c205a4