Перейти к содержимому
Betaflight | Режимы отладки (Debug Modes)

Betaflight | Режимы отладки (Debug Modes)

Четверг, 24 июля 2025

Команды CLI (интерфейс командной строки)

  • VERSION — Показывает текущую прошивку и последний коммит в GitHub (например: (9f67a584b)), соответствующий данной сборке.
  • STATUS — Отображает различную информацию о настройке квадрокоптера: свободное место в ПЗУ, тип гироскопа, обнаруженное напряжение и т.д.
  • TASKS — Показывает активные задачи и их использование ЦП. Убедитесь, что задачи gyro/PID работают с указанной частотой (Гц).
  • DSHOT_TELEMETRY_INFO — Показывает успешность получения пакетов обратной телеметрии DShot RPM от каждого ESC (начиная с версии 4.1+).
  • RC_SMOOTHING_INFO — Показывает обнаруженную частоту кадров RX. Работает только если выбран тип сглаживания сигнала Filter во вкладке Receiver, и оба параметра Input Cutoff Type и Derivative Cutoff Type установлены в auto. Для корректной работы радио и приёмник должны быть подключены и включены.
  • get DEBUG_MODE — Показывает текущий режим отладки и все доступные режимы.

Режимы отладки (DEBUG MODES)

bandicam_2025-07-24_08-21-34-141.jpg

Сигнал гироскопа (GYRO SIGNAL)

  • GYRO_RAW (необработанные данные гироскопа, без масштабирования и фильтрации) — используется для анализа необработанного сигнала гироскопа в прошивке, особенно при диагностике переполнения стека (для гироскопов ICM).
    • [0] = roll: входной сигнал гироскопа (без масштабирования)
    • [1] = pitch: входной сигнал гироскопа (без масштабирования)
    • [2] = yaw: входной сигнал гироскопа (без масштабирования)
    • [3] = [пусто]
  • GYRO_SCALED (данные гироскопа, переведённые в град/с, до применения фильтрации в полётном контроллере)
    • [0] = roll: сигнал гироскопа (в град/с)
    • [1] = pitch: сигнал гироскопа (в град/с)
    • [2] = yaw: сигнал гироскопа (в град/с)
    • [3] = [пусто]
  • GYRO_FILTERED (ТО ЖЕ САМОЕ, ЧТО И ГРАФИКИ ГИРОСКОПА, ЗАПИСЫВАЕМЫЕ ПО УМОЛЧАНИЮ)
    • [0] = roll: отфильтрованный сигнал гироскопа
    • [1] = pitch: отфильтрованный сигнал гироскопа
    • [2] = yaw: отфильтрованный сигнал гироскопа
    • [3] = [пусто]
  • GYRO_SAMPLE
    • [0] = данные гироскопа до понижения частоты дискретизации до частоты цикла PID
    • [1] = данные гироскопа на частоте цикла PID
    • [2] = данные гироскопа на частоте PID после фильтрации по RPM
    • [3] = данные гироскопа на частоте PID после RPM- и всех статических фильтров, но до динамических режекторных фильтров

Фильтры (FILTERS)

  • D_LPF
    • [0] = roll: нефильтрованный D-член
    • [1] = pitch: нефильтрованный D-член
    • [2] = roll: отфильтрованный, после коррекции DMin/Dmax, до применения TPA
    • [3] = pitch: отфильтрованный, после коррекции DMin/Dmax, до применения TPA
  • DYN_LPF
    • [0] = roll: необработанные данные гироскопа (в град/с)
    • [1] = roll: центральная частота режекторного фильтра
    • [2] = roll: частота среза НЧ-фильтра
    • [3] = roll: данные гироскопа до динамического режекторного фильтра (после НЧ-фильтров)
  • FFT_FREQ
    • [0] = ось gyroDebugAxis: центральная частота 1-го режекторного фильтра
    • [1] = ось gyroDebugAxis: центральная частота 2-го режекторного фильтра
    • [2] = ось gyroDebugAxis: центральная частота 3-го режекторного фильтра
    • [3] = ось gyroDebugAxis: данные гироскопа до динамического режекторного фильтра (после НЧ- и RPM-фильтров)
  • FFT
    • [0] = ось gyroDebugAxis: данные до динамического режекторного фильтра
    • [1] = ось gyroDebugAxis: данные после динамического режекторного фильтра
    • [2] = ось gyroDebugAxis: данные после понижения частоты дискретизации, используемые для FFT
    • [3] = [пусто]
  • FFT_TIME
    • [0] = текущий выполняемый шаг расчёта
    • [1] = длительность этого шага
    • [2] = [пусто]
    • [3] = [пусто]
  • RPM_FILTER
    • [0] = частота центра режекторного фильтра для мотора №1 (где ожидается пик шума от мотора)
    • [1] = частота центра режекторного фильтра для мотора №2
    • [2] = частота центра режекторного фильтра для мотора №3
    • [3] = частота центра режекторного фильтра для мотора №4

ПИД-регуляторы (PIDs)

  • D_MIN
    • [0] = коэффициент от сигнала гироскопа (в %, умноженный на d_min_gain)
    • [1] = коэффициент от заданного значения (в %, умноженный на d_min_advance). Применяется больший из двух.
    • [2] = roll: активный коэффициент D-члена
    • [3] = pitch: активный коэффициент D-члена
  • ITERM_RELAX
    • [0] = ВЧ-фильтр для обнаружения резких изменений заданного значения
    • [1] = коэффициент расслабления (в %, используется только в режиме SETPOINT)
    • [2] = ослабленная интегральная ошибка
    • [3] = абсолютная ошибка по оси (roll)
  • ANTI_GRAVITY — Усиление I и P при резких изменениях газа
    • [0] = коэффициент I-усиления от ВЧ-фильтра газа (×1000)
    • [1] = итоговый коэффициент I-усиления (включая сглаженный НЧ-элемент) (×1000)
    • [2] = коэффициент P-усиления (×1000) [roll]
    • [3] = коэффициент P-усиления (×1000) [pitch]
  • FEEDFORWARD_LIMIT (FF_LIMIT) — Ограничение Feedforward при быстром приближении стиков к максимальной скорости
    • [0] = коэффициент ограничения [roll]
    • [1] = коэффициент ограничения [pitch]
    • [2] = ограниченный feedforward [roll]
    • [3] = не используется
  • FEEDFORWARD (4.3)
    • [0] = интерполированное заданное значение [roll]
    • [1] = изменение заданного значения, сглаженное [roll]
    • [2] = коэффициент усиления, сглаженный [roll]
    • [3] = изменение команды RC [roll] (в мкс)
  • FF_INTERPOLATED (4.2)
    • [0] = изменение заданного значения [roll]
    • [1] = ускорение заданного значения [roll]
    • [2] = ускорение заданного значения, с ограничением [roll]
    • [3] = счётчик дублирования
  • FF_INTERPOLATED (4.0)
    • [0] = изменение заданного значения (реализация) [roll]
    • [1] = величина усиления [roll]
    • [2] = величина усиления с ограничением [roll]
    • [3] = величина ограничения

ESC и моторы (ESC and MOTORS)

  • DSHOT_RPM_TELEMETRY — RPM в Configurator 10.8, eRPM для версий до 10.8 (RPM = eRPM × количество магнитов мотора)
    • [0] = RPM мотора №1
    • [1] = RPM мотора №2
    • [2] = RPM мотора №3
    • [3] = RPM мотора №4
  • DSHOT_RPM_ERRORS
    • [0] = Мотор №1: процент невалидных пакетов (в сотых процента — например, 123 = 1,23%)
    • [1] = Мотор №2: аналогично
    • [2] = Мотор №3: аналогично
    • [3] = Мотор №4: аналогично
  • DYN_IDLE (4.3)
    • [0] = Dyn Idle P [roll]
    • [1] = Dyn Idle I [roll]
    • [2] = Dyn Idle D [roll]
    • [3] = минимальные RPM (наименьшие текущие обороты мотора)
  • DYN_IDLE (до 4.3)
    • [0] = motorRangeMinIncrease × 1000
    • [1] = targetRpsChangeRate (простая ошибка RPM × idle_adjustment_speed)
    • [2] = ошибка (величина, которую нужно исправить)
    • [3] = minRps (наименьшие текущие обороты мотора, в об/с × 10). Например, значение 500 = 50,0 × 60 = 3000 об/мин

Стабильность цикла (LOOPTIME STABILITY)

  • CYCLETIME
    • [0] = время в микросекундах с момента последнего запуска задачи PID
    • [1] = текущая загрузка ЦП в процентах
    • [2] = время с момента последнего обновления моторов (мкс)
    • [3] = отклонение интервала обновления моторов от целевого времени цикла PID (мкс). Примечание: начиная с версии 4.2.x, [2] и [3] бесполезны, так как обновление моторов теперь входит в задачу PID.
  • PIDLOOP
    • [0] = время выполнения задачи гироскопа (неактуально после BF 4.2.x)
    • [1] = время расчётов PID (в мкс)
    • [2] = время обработки микшера, сервоприводов, обновления моторов, статистики DShot
    • [3] = время обработки удержания магнитного поля и логики Blackbox
  • SCHEDULER_DETERMINISM
    • [0] = время начала задачи гироскопа (в десятых долях мкс)
    • [1] = ID запоздавшей задачи
    • [2] = величина задержки задачи (в десятых долях мкс)
    • [3] = разница в синхронизации блокировки гироскопа (в тактах)
  • TIMING_ACCURACY
    • [0] = % времени, когда ЦП был занят
    • [1] = количество запоздавших задач за последнюю секунду
    • [2] = общая задержка за последнюю секунду (в десятых долях мкс)
    • [3] = общее количество выполненных задач за последнюю секунду

Сглаживание RC-сигнала (RC SMOOTHING)

  • RC_INTERPOLATION
    • [0] = необработанные данные канала RC [roll]
    • [1] = текущая частота кадров RX
    • [2] = количество шагов интерполяции
    • [3] = заданное значение RC [roll]
  • RC_SMOOTHING
    • [0] = необработанные данные канала RC
    • [1] = необработанная производная заданного значения
    • [2] = отфильтрованная производная до применения веса заданного значения
    • [3] = текущее рассчитанное среднее (показывает заблокированную частоту, используемую для настройки фильтров)
  • RC_SMOOTHING_RATE
    • [0] = интервал каждого кадра RX (задержка от предыдущего кадра в мкс)
    • [1] = счётчик шагов обучения
    • [2] = текущее рассчитанное среднее (частота, используемая для фильтров)
    • [3] = указывает, активно ли охранное время (guard time)

Динамика полёта (FLIGHT DYNAMICS)

  • AC_ERROR (Absolute Control Error)
    • [0] = roll: ошибка по оси × 10
    • [1] = pitch: ошибка по оси × 10
    • [2] = yaw: ошибка по оси × 10
    • [3] = [нет]
  • AC_CORRECTION (AC = Absolute Control)
    • [0] = roll: коррекция AC × 10
    • [1] = pitch: коррекция AC × 10
    • [2] = yaw: коррекция AC × 10
    • [3] = [нет]
  • FF_THUMB (Absolute Control Correction)
    • [0] = нормальный FF для roll
    • [1] = FF для roll после ограничения стика
    • [2] = FF после максимального отклонения
    • [3] = прогнозируемая максимальная скорость из-за экстраполяции стика

Фьюзинг датчиков (SENSOR FUSION) для плат с двумя гироскопами

  • DUAL_GYRO_RAW
    • [0] = roll: необработанные данные гироскопа №1 (не в град/с)
    • [1] = pitch: необработанные данные гироскопа №1 (не в град/с)
    • [2] = roll: необработанные данные гироскопа №2 (не в град/с)
    • [3] = pitch: необработанные данные гироскопа №2 (не в град/с)
  • DUAL_GYRO_SCALED
    • [0] = roll: масштабированные данные гироскопа №1 (в град/с)
    • [1] = pitch: масштабированные данные гироскопа №1 (в град/с)
    • [2] = roll: масштабированные данные гироскопа №2 (в град/с)
    • [3] = pitch: масштабированные данные гироскопа №2 (в град/с)
  • DUAL_GYRO_DIFF
    • [0] = roll: фильтрованные данные гироскопа №1 – фильтрованные данные гироскопа №2
    • [1] = pitch: фильтрованные данные гироскопа №1 – фильтрованные данные гироскопа №2
    • [2] = yaw: фильтрованные данные гироскопа №1 – фильтрованные данные гироскопа №2
    • [3] = [пусто]
  • DUAL_GYRO_COMBINED (только для разработчиков)
    • [0] = [пусто]
    • [1] = roll: отфильтрованный гироскоп (совпадает с графиком gyro)
    • [2] = pitch: отфильтрованный гироскоп (совпадает с графиком gyro)
    • [3] = [пусто]
  • DUAL_GYRO_COMBINED (только для разработчиков)
    • [0] = [пусто]
    • [1] = roll: отфильтрованный гироскоп (совпадает с графиком gyro)
    • [2] = pitch: отфильтрованный гироскоп (совпадает с графиком gyro)
    • [3] = [пусто]

VTX (Передатчик видео)

  • SMARTAUDIO
    • [0] = Версия SmartAudio × 100 + режим устройства
    • [1] = канал устройства
    • [2] = частота устройства
    • [3] = мощность устройства
  • TRAMP
    • [0] = статус
    • [1] = код ответа
    • [2] = режим Pit Mode
    • [3] = количество попыток

RX (Приёмник)

  • SBUS (FrSky SBUS)
    • [0] = флаги кадра
    • [1] = флаги состояния
    • [2] = время кадра
    • [3] = не используется
  • FPORT (FrSky FPORT)
    • [0] = интервал кадров
    • [1] = ошибки кадров
    • [2] = последняя ошибка
    • [3] = интервал телеметрии
  • GHST (Ghost)
    • [0] = счётчик ошибок CRC
    • [1] = RSSI
    • [2] = качество связи (Link Quality)
    • [3] = счётчик неизвестных кадров
  • CRSF_LINK_STATISTICS_UPLINK
    • [0] = Uplink RSSI 1
    • [1] = Uplink RSSI 2
    • [2] = Uplink Link Quality
    • [3] = RF Mode
  • CRSF_LINK_STATISTICS_UPLINK
    • [0] = Uplink RSSI 1
    • [1] = Uplink RSSI 2
    • [2] = Uplink Link Quality
    • [3] = RF Mode
  • CRSF_LINK_STATISTICS_PWR
    • [0] = антенна
    • [1] = SNR
    • [2] = мощность передатчика
    • [3] = не используется
  • CRSF_LINK_STATISTICS_DOWN
    • [0] = Downlink RSSI
    • [1] = Downlink LQ
    • [2] = Downlink SNR
    • [3] = не используется
  • RX_SFHSS_SPI (FrSky SPI, программный приёмник)
    • [0] = состояние данных
    • [1] = пропущенные кадры
    • [2] = максимальное смещение
    • [3] = минимальное смещение
  • RX_EXPRESSLRS_PHASELOCK (ExpressLRS, программный PLL)
    • [0] = rawOffsetUs: мгновенное фазовое смещение, измеренное по последнему таймерному тику
    • [1] = offsetUs: отфильтрованное значение смещения, используемое в программном PLL
    • [2] = frequencyOffsetTicks: разница частоты (в таймерных тиках) между передатчиком ELRS и приёмником
    • [3] = phaseShiftUs: текущее мгновенное фазовое смещение, применяемое на следующем таймерном тике
  • RX_EXPRESSLRS_SPI (ExpressLRS SPI RX)
    • [0] = lostConnectionCounter: количество разрывов соединения с момента запуска
    • [1] = rssiFiltered: текущее сглаженное значение RSSI от sx1280/sx127x
    • [2] = snr: текущее значение SNR от sx1280/sx127x
    • [3] = uplinkLQ: процент качества uplink-связи

Список режимов отладки (Debug List)

Не все режимы отладки доступны в некоторых сборках прошивки.

Тип отладки
DEBUG_CYCLETIME
DEBUG_BATTERY
DEBUG_GYRO
DEBUG_GYRO_FILTERED
DEBUG_ACCELEROMETER
DEBUG_PIDLOOP
DEBUG_GYRO_SCALED
DEBUG_RC_INTERPOLATION
DEBUG_ANGLERATE
DEBUG_ESC_SENSOR
DEBUG_SCHEDULER
DEBUG_STACK
DEBUG_ESC_SENSOR_RPM
DEBUG_ESC_SENSOR_TMP
DEBUG_ALTITUDE
DEBUG_FFT
DEBUG_FFT_TIME
DEBUG_FFT_FREQ
DEBUG_RX_FRSKY_SPI
DEBUG_RX_SFHSS_SPI
DEBUG_GYRO_RAW
DEBUG_DUAL_GYRO_RAW
DEBUG_DUAL_GYRO_COMBINED
DEBUG_DUAL_GYRO_DIFF
DEBUG_MAX7456_SIGNAL
DEBUG_MAX7456_SPICLOCK
DEBUG_SBUS
DEBUG_FPORT
DEBUG_RANGEFINDER
DEBUG_RANGEFINDER_QUALITY
DEBUG_LIDAR_TF
DEBUG_ADC_INTERNAL
DEBUG_RUNAWAY_TAKEOFF
DEBUG_SDIO
DEBUG_CURRENT_SENSOR
DEBUG_USB
DEBUG_SMARTAUDIO
DEBUG_RTH
DEBUG_ITERM_RELAX
DEBUG_ACRO_TRAINER
DEBUG_RC_SMOOTHING
DEBUG_RX_SIGNAL_LOSS
DEBUG_RC_SMOOTHING_RATE
DEBUG_ANTI_GRAVITY
DEBUG_DYN_LPF
DEBUG_RX_SPEKTRUM_SPI
DEBUG_DSHOT_RPM_TELEMETRY
DEBUG_RPM_FILTER
DEBUG_D_MIN
DEBUG_AC_CORRECTION
DEBUG_AC_ERROR
DEBUG_DUAL_GYRO_SCALED
DEBUG_DSHOT_RPM_ERRORS
DEBUG_CRSF_LINK_STATISTICS_UPLINK
DEBUG_CRSF_LINK_STATISTICS_PWR
DEBUG_CRSF_LINK_STATISTICS_DOWN
DEBUG_BARO
DEBUG_GPS_RESCUE_THROTTLE_PID
DEBUG_DYN_IDLE
DEBUG_FF_LIMIT
DEBUG_FF_INTERPOLATED
DEBUG_BLACKBOX_OUTPUT
DEBUG_GYRO_SAMPLE
DEBUG_RX_TIMING
DEBUG_D_LPF
DEBUG_VTX_TRAMP
DEBUG_GHST
SCHEDULER_DETERMINISM
TIMING_ACCURACY
DEBUG_RX_EXPRESSLRS_SPI
DEBUG_RX_EXPRESSLRS_PHASELOCK
Betaflight | Режимы отладки (Debug Modes) ID 50