Ці виходи не можуть видавати DShot чи керувати світлодіодною стрічкою
Що пише ArduPilot:
- Chan N to N, …: …
- Chan N, …: …
Виходи, названі на початку, ділять один таймер процесора. Від них попросили DShot або адресну світлодіодну стрічку, а для цього потрібен DMA — апаратний канал, що подає дані таймеру. «failed, no DMA»: на цій платі в цього таймера його немає, і виходи повертаються до звичайного PWM. «failed to allocate DMA» чи «…DMA buffer»: канал або пам'ять для нього отримати не вдалося. «failed to match clock speed»: таймер не може видати таку швидкість передачі. Слово посередині — протокол, який виходи мають зараз.
Що робити: найімовірніше спершу
Регулятор DShot або світлодіодна стрічка стоїть на виходах, таймер яких не має DMA.
Перевірте«Планувальник плати й підключення» показує виходи вашої плати за групами таймерів і те, які групи мають DMA.
ВиправтеПеренесіть його на виходи з DMA й відповідно змініть номери
SERVOn_FUNCTION. Для будь-якої перевірки моторів після цього зніміть пропелери.SERVO_BLH_MASKчиSERVO_BLH_BDMASKмістить виходи, на яких немає регулятора DShot.ВиправтеПозначте лише ті виходи, що справді йдуть до регуляторів DShot, і перезавантажте.
Той самий канал DMA на цій платі ділиться з послідовним портом або іншим таймером.
ВиправтеВізьміть іншу групу виходів або звільніть канал, не користуючись послідовним портом, що його ділить.
Мотор на виході, що повернувся до PWM, тоді як його регулятор чекає DShot, не закрутиться або не заармується. Подивіться рядок запуску «RCOut: …», щоб побачити, що насправді видає кожен вихід.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
MOT_PWM_TYPE | Output PWM type |
SERVO_BLH_MASK | BLHeli Channel Bitmask |
SERVO_BLH_OTYPE | BLHeli output type override |
SERVO_BLH_BDMASK | BLHeli bitmask of bi-directional dshot channels |
NTF_LED_TYPES | LED Driver Types |
Де це зробити:Планувальник плати й підключенняНалаштування й тюнінг
Код, який це надсилає
Chan N to N, …: …
libraries/AP_HAL_ChibiOS/RCOutput.cpp RCOutput::print_group_setup_error() · Відкрити в ArduPilot Copter-4.7.1
Chan N, …: …
libraries/AP_HAL_ChibiOS/RCOutput.cpp RCOutput::print_group_setup_error() · Відкрити в ArduPilot Copter-4.7.1