:py:mod:`pycasx.acas.runner` ============================ .. py:module:: pycasx.acas.runner .. autoapi-nested-parse:: Runner class around ACAS X. Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: pycasx.acas.runner.Runner .. py:class:: Runner(backend, rate, autoavoid_cfg, logger_cfg) Run the ACAS X system in a continuous loop. :param backend: The neural network backend to use for the CAS. :type backend: str :param rate: The update rate of the ACAS X. :type rate: float :param autoavoid_cfg: The autoavoid configuration. :type autoavoid_cfg: AutoavoidConfig :param logger_cfg: The logger configuration. :type logger_cfg: LoggerConfig .. py:method:: register_connection(connection) Register a connection with the CAS. :param connection: The connection to register. :type connection: PropsConnection .. py:method:: autoavoid() Execute the autoavoid action. This method will execute the autoavoid action based on the current autoavoid mode and advisory. :raises ValueError: If the autoavoid mode is not/wrongly set. .. py:method:: _hcas_autoavoid() Execute the HCAS autoavoid action. .. py:method:: _vcas_autoavoid() Execute the VCAS autoavoid action. .. py:method:: log() Log the current state of the ACAS X. This method will log the current state of the ACAS X to log folder. :raises ValueError: If the topic is not found. .. py:method:: init_log() Initialize the logging for the ACAS X. .. py:method:: print_status() Print the status of the ACAS X. .. py:method:: get_system_info(system_type) Get the information about a CAS system. :param system_type: The CAS system to get information about. :type system_type: Literal["hcas", "vcas"] :returns: The information about the CAS system. :rtype: SystemInfo :raises HTTPException: If the system type is not found. .. py:method:: get_ownship() Get the ownship from the ACAS X system. :returns: the ownship representation. :rtype: ExtendedAircraft .. py:method:: get_intruder(call_sign) Get an intruder from the ACAS X system. :param call_sign: The callsign of the intruder. :type call_sign: str :returns: The intruder from the ACAS X system. :rtype: ExtendedIntruder :raises HTTPException: If the intruder is not found. .. py:method:: get_intruders() Get the intruders from the ACAS X system. :returns: The intruders from the ACAS X system. :rtype: Dict[str, Union[ExtendedIntruder, float]] .. py:method:: get_autoavoid() Get the autoavoid status from the ACAS X system. :returns: the autoavoid representation. :rtype: AutoavoidInfo .. py:method:: single_run() Runs a single ACAS X update. .. py:method:: run() :async: Run the ACAS X in a continuous async loop. This method will run the ACAS X in a continuous loop, updating the advisory every `1/rate` seconds.