33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
"""
|
|
@brief This file transfers control of TM parsing to the user
|
|
@details Template configuration file. Copy this folder to the TMTC commander root and adapt
|
|
it to your needs.
|
|
"""
|
|
from tmtccmd.pus_tm.service_8_functional_cmd import Service8TM
|
|
from tmtccmd.pus_tm.base import PusTelemetry
|
|
from tmtccmd.utility.tmtcc_logger import get_logger
|
|
|
|
from tmtccmd.pus_tm.service_1_verification import Service1TM
|
|
from tmtccmd.pus_tm.service_3_base import Service3Base
|
|
from tmtccmd.pus_tm.service_5_event import Service5TM
|
|
from tmtccmd.pus_tm.service_17_test import Service17TM
|
|
|
|
LOGGER = get_logger()
|
|
|
|
|
|
def tm_user_factory_hook(raw_tm_packet: bytearray) -> PusTelemetry:
|
|
service_type = raw_tm_packet[7]
|
|
if service_type == 1:
|
|
return Service1TM(raw_tm_packet)
|
|
if service_type == 3:
|
|
return Service3Base(raw_tm_packet)
|
|
if service_type == 5:
|
|
return Service5TM(raw_tm_packet)
|
|
if service_type == 8:
|
|
service_8_tm = Service8TM(raw_tm_packet)
|
|
return Service8TM(raw_tm_packet)
|
|
if service_type == 17:
|
|
return Service17TM(raw_tm_packet)
|
|
LOGGER.info("The service " + str(service_type) + " is not implemented in Telemetry Factory")
|
|
return PusTelemetry(raw_tm_packet)
|