eive-tmtc/eive_tmtc/tmtc/tm_store.py

56 lines
1.6 KiB
Python
Raw Normal View History

2023-02-17 18:13:20 +01:00
import struct
2023-02-07 15:21:48 +01:00
from eive_tmtc.config.definitions import CustomServiceList
2023-02-17 18:13:20 +01:00
from tmtccmd.config import TmtcDefinitionWrapper
from tmtccmd.config.tmtc import tmtc_definitions_provider, OpCodeEntry
2023-02-07 15:21:48 +01:00
from tmtccmd.tc import service_provider
from tmtccmd.tc.decorator import ServiceProviderParams
2023-02-17 18:13:20 +01:00
from dateutil.parser import parse
class OpCode:
DUMP = "dump"
DELETE = "delete"
class Info:
DUMP = "Dump Telemetry Packets"
DELETE = "Delete Telemetry Packets"
2023-02-07 15:21:48 +01:00
@service_provider(CustomServiceList.TM_STORE)
def pack_tm_store_commands(p: ServiceProviderParams):
2023-02-17 18:13:20 +01:00
q = p.queue_helper
o = p.op_code
if o == OpCode.DELETE:
q.add_log_cmd(Info.DELETE)
delete_start_time = parse(
input(
"Please enter delete start time in UTC ISO format (YYYY-MM-DDThh:mm:ssZ"
)
)
delete_end_time = parse(
input(
"Please enter delete end time in UTC ISO format (YYYY-MM-DDThh:mm:ssZ"
)
)
start_stamp = delete_start_time.timestamp()
end_stamp = delete_end_time.timestamp()
app_data = bytearray(struct.pack("!I", start_stamp))
app_data.extend(struct.pack("!I", end_stamp))
pass
elif o == OpCode.DUMP:
q.add_log_cmd(Info.DUMP)
pass
@tmtc_definitions_provider
def add_persistent_tm_store_cmd_defs(defs: TmtcDefinitionWrapper):
oce = OpCodeEntry()
oce.add(keys=OpCode.DELETE, info=Info.DELETE)
oce.add(keys=OpCode.DUMP, info=Info.DUMP)
defs.add_service(
CustomServiceList.TM_STORE, "Persistent TM Store", op_code_entry=oce
)