Intake

A telemetry board takes an 8-byte status frame from a sensor module over USART1 (115200 baud, 8N1). A colleague wired DMA2 Stream 2 to land the frame straight into a buffer instead of polling for every byte, then echo it back. It passed review, but on the bench the readout never matches what the sensor sent.

When it works, the firmware copies all 8 bytes into the buffer and prints them back:

RX:<received characters> OK

For example, a frame of "SENSORPK" should produce:

RX:SENSORPK OK

The UART itself is fine and the stream is armed. The data path into memory is not. Find and fix all the bugs.

Constraints: DMA2 Stream 2, Channel 4 maps to USART1_RX on STM32F4. The frame is exactly 8 bytes and fills an 8-byte buffer. The DMA peripheral address points to the USART data register.

Loading the interactive arena.