# Copyright (c) 2023, Auterion AG
# SPDX-License-Identifier: BSD-3-Clause

"""
# GDB Python Modules

This module includes many PX4-specific GDB Python plugins that provide additional
debug functionality for interactive debugging and automated scripting.

Since we want these modules to work inside and outside of GDB, we do not use
`import gdb` which is only available inside GDB, but instead provide `gdb`
as a function argument so that it can be replaced by
`emdbg.debug.remote.rpyc.Gdb`.

.. warning::
    You must only use the [GDB Python API][api] and the Python standard library
    in this folder so that they work both inside and outside of GDB.


[api]: https://sourceware.org/gdb/onlinedocs/gdb/Python-API.html
"""



from .task import all_tasks, all_tasks_as_table, task_switch
from .device import all_registers, all_registers_as_table, all_gpios_as_table
from .device import vector_table, vector_table_as_table, Device, coredump
from .svd import PeripheralWatcher

from .system_load import restart_system_load_monitor
from .utils import gdb_backtrace as backtrace
from .pinout import fmu_v5x as pinout_fmu_v5x

_TARGET = None
_SVD_FILE = None
