Is there a way in OpenMV to get the status of the UART error flags, and to reset the UART if an error has occurred (e.g. overflow)?
No, but the receive buffer can literally be of infinite length… so if this is happening, you have other issues.
You can pass an rxbuf
argument to the machine uart class which sets a read buffer which can be any of number of bytes.
The default receive buffer size looked to be about 180 bytes. Once full it discards all other incoming bytes. I increased the uart read buffer size with this and now the entire packet is received.
self.uart = pyb.UART(3, _UART_BAUD, timeout_char=10, read_buf_len = 512)
Awesome!