Option, or better, by introducing an
Undef variant in the enum.
ArrayQueue contains no explicit spin lock or mutex, its code structure forms a big spin lock and thus deadlock is possible.
cr1 register of I²C may generate two consecutive start condition and hang the peripheral.
stm32f4xx-hal failed to set the
LAST bit in I²C
CR2 before initiating a DMA read. We tracked down the problem with a logic analyzer and identified the fix.