nuttx/arch
Jukka Laitinen 101ff2c2bb arch/imx9: Add bidirectional dshot driver using i.MX9 FlexIO
Create a bidirectional dshot lower-half driver, using the flexio block.

This driver enables use of DShot protocol for Electronic Speed Controllers
(ESCs) typically used in drone motor control.

Eight channels of DShot per flexio block are supported in:

- Normal mode in all DShot speeds, with telemetry request (uart response
  needs to be handled outside of this driver)
- Bidirectional mode in all DShot speeds, with telemetry request & response
- Configurable to use either independent TX timers for each channel, or to
  use a common TX timer for all channels to synchronize the output
- For bidirectional RX, each channel always uses an own timer.

In normal mode, the driver operates without any interrupts.

In bidirectional mode, the driver reconfigures the FlexIO timers (as needed)
and shifters from TX to RX in the interrupt handler, and reads out the
raw response packet.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-04-30 12:24:47 +08:00
..
arm arch/arm/imx9: Add FlexIO support 2026-04-29 21:39:30 +08:00
arm64 arch/imx9: Add bidirectional dshot driver using i.MX9 FlexIO 2026-04-30 12:24:47 +08:00
avr style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
ceva include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
dummy
hc style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
mips include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
misoc include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
or1k include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
renesas style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
risc-v arch/risc-v/espressif: Fix PM wakeup sources 2026-04-27 21:20:21 +02:00
sim arch/sim: add host_set_timeratio stub for Windows 2026-04-27 15:04:33 +08:00
sparc include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
tricore include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
x86 arch/x86: Modify qemu_vga to return init error 2026-04-30 11:56:49 +08:00
x86_64 arch/x86_64/intel64: fix signal delivery race in x86_64_sigdeliver 2026-04-21 21:57:44 +08:00
xtensa arch/[risc-v|xtensa]: Re-add RMT_LOOP_TEST_MODE Kconfig entry 2026-04-23 09:31:36 +08:00
z16 include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
z80 style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
CMakeLists.txt
Kconfig arch/delays: Invalid default value for BOARD_LOOPSPERMSEC 2026-02-25 15:00:03 -03:00