pub fn fill(&mut self, data: &[u8]) {
        self.set_length(data.len());
        self.as_mut_slice()[..data.len()].copy_from_slice(data);
    }
Fills the TX buffer with the bytes provided in `data` and reset the
descriptors to only cover the filled section.

The number of bytes in data must be less than or equal to the buffer
size.
esp-hal/src/dma/buffers.rs