pub fn read(&mut self, buffer: &mut [u8]) {
        for chunk in buffer.chunks_mut(4) {
            let bytes = self.random().to_le_bytes();
            chunk.copy_from_slice(&bytes[..chunk.len()]);
        }
    }
Reads enough bytes from hardware random number generator to fill
`buffer`.

If any error is encountered then this function immediately returns. The
contents of buf are unspecified in this case.

If this function returns an error, it is unspecified how many bytes it
has read, but it will never read more than would be necessary to
completely fill the buffer.
esp-hal/src/rng.rs