Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
actuators_dshot module

Driver for DSHOT speed controller.

Beware that servo output from the same timer cannot mix PWM and DSHOT. It might be required to disable by hand some PWM output to avoid conflicts when they are activated by default on a board. Currently only implemented over ChibiOS.

Example for airframe file

Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!

<module name="actuators_dshot">
b'<define name="DSHOT_SPEED" value="600" />\n '
</module>

Module configuration options

Define Options

  • name: DSHOT_SPEED value: 600
    Description: DSHOT speed (150,300,600,1200)

Files

Header Files

The following headers are automatically included in modules.h

Source Files

  • arch dependent: modules/actuators/actuators_dshot_arch.c
  • arch dependent: modules/actuators/esc_dshot.c
  • arch dependent: mcu_periph/hal_stm32_dma.c

Raw actuators_dshot.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="actuators_dshot" dir="actuators" task="actuators">
<doc>
<description>
Driver for DSHOT speed controller.
Beware that servo output from the same timer cannot mix PWM and DSHOT.
It might be required to disable by hand some PWM output to avoid conflicts when they are activated by default on a board.
Currently only implemented over ChibiOS.
</description>
<define name="DSHOT_SPEED" value="600" description="DSHOT speed (150,300,600,1200)"/>
</doc>
<header>
<file name="actuators_dshot.h"/>
</header>
<makefile>
<define name="ACTUATORS"/>
<file_arch name="actuators_dshot_arch.c"/>
<file_arch name="esc_dshot.c" cond="ifeq ($(RTOS),chibios)"/>
<file_arch name="hal_stm32_dma.c" dir="mcu_periph" cond="ifeq ($(RTOS),chibios)"/>
</makefile>
</module>