I send “0x0F 0x00 0x0F 0x00 0x0F 0x00 0x0F 0x00” number with realterm software every half second (quick click) and the camera stops.
i dont have the same behavior if i send 50x this number at once because the uart buffer is limited.
It looks like the uart buffer index is lost when the reading is during the reception.
Well, i discovered the problem when i tried to send image over UART to a master which does something else, lose a part of the data and try to restart a new synchronization.
To reproduce the behavior, I send several datas by frame (like 0x0F 0x00 0x0F 0x00 0x0F 0x00 0x0F 0x00) every ~0.5s when the camera is reading the buffer slowly (one data every 0.5s).
This does not happen when i send at once a very big frame (like 50 times 0x0F 0x00 0x0F 0x00 0x0F 0x00 0x0F 0x00) because the uart buffer is a circular list i assume.
I join a picture, where you can see Openmv IDE and Realterm software with the frame “0x00 0xFF 0x00 0xFF 0x00 0xFF 0x00 0xFF” and the “send Numbers” button.
After few quick clicks (10 times every half sec), the camera stops, disconnects and cant be reconnected (unplug and plug again the USB cable is necessary to reconnect the camera).
git pull --rebase https://github.com/openmv/src/micropython.git master
in opemnv/ replaced all the openmv directory by micropython directory : OOups !
in openmv/src/python would have been better