added new time commands
This commit is contained in:
parent
091cf2dd63
commit
19768cb1b1
@ -45,3 +45,4 @@ class CustomServiceList(enum.Enum):
|
|||||||
ACS_ASS = "acs-ass"
|
ACS_ASS = "acs-ass"
|
||||||
SUS_ASS = "sus-ass"
|
SUS_ASS = "sus-ass"
|
||||||
TCS_ASS = "tcs-ass"
|
TCS_ASS = "tcs-ass"
|
||||||
|
TIME = "time"
|
||||||
|
@ -1,19 +1,14 @@
|
|||||||
import argparse
|
from typing import Union
|
||||||
from typing import Union, Dict
|
|
||||||
|
|
||||||
from tmtccmd.config.definitions import (
|
from tmtccmd.config.definitions import (
|
||||||
ServiceOpCodeDictT,
|
ServiceOpCodeDictT,
|
||||||
HkReplyUnpacked,
|
|
||||||
DataReplyUnpacked,
|
|
||||||
)
|
)
|
||||||
from tmtccmd.tm.service_3_base import Service3Base
|
|
||||||
from tmtccmd.tc.definitions import TcQueueT
|
from tmtccmd.tc.definitions import TcQueueT
|
||||||
from tmtccmd.utility.retval import RetvalDictT
|
from tmtccmd.utility.retval import RetvalDictT
|
||||||
from tmtccmd.pus.obj_id import ObjectIdDictT
|
from tmtccmd.pus.obj_id import ObjectIdDictT
|
||||||
from tmtccmd.com_if.com_interface_base import CommunicationInterface
|
from tmtccmd.com_if.com_interface_base import CommunicationInterface
|
||||||
from tmtccmd.core.backend import TmTcHandler
|
from tmtccmd.core.backend import TmTcHandler
|
||||||
from tmtccmd.config.hook import TmTcHookBase
|
from tmtccmd.config.hook import TmTcHookBase
|
||||||
from tmtccmd.utility.tmtc_printer import FsfwTmTcPrinter
|
|
||||||
from tmtccmd.config.globals import OpCodeDictKeys
|
from tmtccmd.config.globals import OpCodeDictKeys
|
||||||
|
|
||||||
from config.definitions import CustomServiceList
|
from config.definitions import CustomServiceList
|
||||||
@ -75,6 +70,7 @@ def get_eive_service_op_code_dict(service_op_code_dict: ServiceOpCodeDictT):
|
|||||||
add_ploc_mpsoc_cmds,
|
add_ploc_mpsoc_cmds,
|
||||||
add_ploc_supv_cmds,
|
add_ploc_supv_cmds,
|
||||||
add_system_cmds,
|
add_system_cmds,
|
||||||
|
add_time_cmds,
|
||||||
)
|
)
|
||||||
from pus_tc.devs.gps import GpsOpCodes
|
from pus_tc.devs.gps import GpsOpCodes
|
||||||
|
|
||||||
@ -88,6 +84,7 @@ def get_eive_service_op_code_dict(service_op_code_dict: ServiceOpCodeDictT):
|
|||||||
add_ploc_mpsoc_cmds(cmd_dict=service_op_code_dict)
|
add_ploc_mpsoc_cmds(cmd_dict=service_op_code_dict)
|
||||||
add_ploc_supv_cmds(cmd_dict=service_op_code_dict)
|
add_ploc_supv_cmds(cmd_dict=service_op_code_dict)
|
||||||
add_system_cmds(cmd_dict=service_op_code_dict)
|
add_system_cmds(cmd_dict=service_op_code_dict)
|
||||||
|
add_time_cmds(cmd_dict=service_op_code_dict)
|
||||||
|
|
||||||
op_code_dict = {
|
op_code_dict = {
|
||||||
GpsOpCodes.RESET_GNSS.value: ("Reset GPS", {OpCodeDictKeys.TIMEOUT: 2.0})
|
GpsOpCodes.RESET_GNSS.value: ("Reset GPS", {OpCodeDictKeys.TIMEOUT: 2.0})
|
||||||
|
@ -179,6 +179,23 @@ def add_pl_pcdu_cmds(cmd_dict: ServiceOpCodeDictT):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def add_time_cmds(cmd_dict: ServiceOpCodeDictT):
|
||||||
|
from pus_tc.system.time import OpCodes, Info
|
||||||
|
|
||||||
|
op_code_dict = dict()
|
||||||
|
add_op_code_entry(
|
||||||
|
op_code_dict=op_code_dict,
|
||||||
|
keys=OpCodes.SET_CURRENT_TIME,
|
||||||
|
info=Info.SET_CURRENT_TIME,
|
||||||
|
)
|
||||||
|
add_service_op_code_entry(
|
||||||
|
srv_op_code_dict=cmd_dict,
|
||||||
|
name=CustomServiceList.TIME.value,
|
||||||
|
info="Time Service",
|
||||||
|
op_code_entry=op_code_dict,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def add_pcdu_cmds(cmd_dict: ServiceOpCodeDictT):
|
def add_pcdu_cmds(cmd_dict: ServiceOpCodeDictT):
|
||||||
from pus_tc.devs.p60dock import P60OpCodes, GomspaceOpCodes, Info
|
from pus_tc.devs.p60dock import P60OpCodes, GomspaceOpCodes, Info
|
||||||
from pus_tc.devs.pdu1 import Pdu1OpCodes
|
from pus_tc.devs.pdu1 import Pdu1OpCodes
|
||||||
|
@ -146,9 +146,7 @@ class Submode:
|
|||||||
FIRMWARE = 2
|
FIRMWARE = 2
|
||||||
|
|
||||||
|
|
||||||
def pack_star_tracker_commands(
|
def pack_star_tracker_commands(object_id: bytearray, tc_queue: TcQueueT, op_code: str):
|
||||||
object_id: bytearray, tc_queue: TcQueueT, op_code: str
|
|
||||||
) -> TcQueueT:
|
|
||||||
tc_queue.appendleft(
|
tc_queue.appendleft(
|
||||||
(
|
(
|
||||||
QueueCommands.PRINT,
|
QueueCommands.PRINT,
|
||||||
|
28
pus_tc/system/time.py
Normal file
28
pus_tc/system/time.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
from spacepackets.ecss import PusTelecommand
|
||||||
|
from tmtccmd.config import QueueCommands
|
||||||
|
from tmtccmd.tc.definitions import TcQueueT
|
||||||
|
|
||||||
|
from tmtccmd.logging import get_console_logger
|
||||||
|
|
||||||
|
LOGGER = get_console_logger()
|
||||||
|
|
||||||
|
|
||||||
|
class OpCodes:
|
||||||
|
SET_CURRENT_TIME = ["0", "set-curr-time"]
|
||||||
|
|
||||||
|
|
||||||
|
class Info:
|
||||||
|
SET_CURRENT_TIME = "Setting current time in ASCII format"
|
||||||
|
|
||||||
|
|
||||||
|
def pack_set_current_time_ascii_command(tc_queue: TcQueueT, ssc: int):
|
||||||
|
time_test_current_time = datetime.utcnow().isoformat() + "Z" + "\0"
|
||||||
|
current_time_ascii = time_test_current_time.encode("ascii")
|
||||||
|
LOGGER.info(f"Current time in ASCII format: {current_time_ascii}")
|
||||||
|
tc_queue.appendleft((QueueCommands.PRINT, Info.SET_CURRENT_TIME))
|
||||||
|
command = PusTelecommand(
|
||||||
|
service=9, subservice=128, ssc=ssc, app_data=current_time_ascii
|
||||||
|
)
|
||||||
|
tc_queue.appendleft(command.pack_command_tuple())
|
@ -36,6 +36,7 @@ from pus_tc.system.core import pack_core_commands
|
|||||||
from pus_tc.devs.star_tracker import pack_star_tracker_commands
|
from pus_tc.devs.star_tracker import pack_star_tracker_commands
|
||||||
from pus_tc.devs.syrlinks_hk_handler import pack_syrlinks_command
|
from pus_tc.devs.syrlinks_hk_handler import pack_syrlinks_command
|
||||||
from pus_tc.devs.gps import pack_gps_command
|
from pus_tc.devs.gps import pack_gps_command
|
||||||
|
from pus_tc.system.time import pack_set_current_time_ascii_command
|
||||||
from pus_tc.system.acs import pack_acs_command, pack_sus_cmds
|
from pus_tc.system.acs import pack_acs_command, pack_sus_cmds
|
||||||
from pus_tc.devs.plpcdu import pack_pl_pcdu_commands
|
from pus_tc.devs.plpcdu import pack_pl_pcdu_commands
|
||||||
from pus_tc.devs.str_img_helper import pack_str_img_helper_command
|
from pus_tc.devs.str_img_helper import pack_str_img_helper_command
|
||||||
@ -230,6 +231,8 @@ def pack_service_queue_user(
|
|||||||
return pack_acs_command(tc_queue=service_queue, op_code=op_code)
|
return pack_acs_command(tc_queue=service_queue, op_code=op_code)
|
||||||
if service == CustomServiceList.TCS_ASS.value:
|
if service == CustomServiceList.TCS_ASS.value:
|
||||||
return pack_tcs_sys_commands(tc_queue=service_queue, op_code=op_code)
|
return pack_tcs_sys_commands(tc_queue=service_queue, op_code=op_code)
|
||||||
|
if service == CustomServiceList.TIME.value:
|
||||||
|
return pack_set_current_time_ascii_command(tc_queue=service_queue, ssc=0)
|
||||||
LOGGER.warning("Invalid Service !")
|
LOGGER.warning("Invalid Service !")
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user