I am just getting started with stm32. I am using a stm32f031 mcu and am trying to read an input signal from a flight controller. The protocol used puts out a series of 4 pulses that vary from 1us to 2.6us in width with a 1us in between ( proshot protocol). I have used input capture with a timer for slower speed pulses but I have no luck with reading such short pulse durations. I am looking for clues as to how to read this? It seems input capture with interrupts is just too slow? Is DMA the solution here? can DMA read the 4 pulses one after another like this and store in an array? I am really new at this and I have spent a lot of time trying things than find out it could never work so this time I am asking first. Thanks for your help!