mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Invalidate frame after IDE reads it.
This commit is contained in:
parent
958c5b7f78
commit
a6953e8757
@ -93,16 +93,17 @@ void usbdbg_data_in(void *buffer, int length)
|
|||||||
|
|
||||||
case USBDBG_FRAME_SIZE:
|
case USBDBG_FRAME_SIZE:
|
||||||
((uint32_t*)buffer)[0] = 0;
|
((uint32_t*)buffer)[0] = 0;
|
||||||
// Try to lock FB
|
// Try to lock FB. If header size == 0 frame is not ready
|
||||||
if (mutex_try_lock(&JPEG_FB()->lock, MUTEX_TID_IDE)) {
|
if (mutex_try_lock(&JPEG_FB()->lock, MUTEX_TID_IDE)) {
|
||||||
// Return header w, h and size/bpp
|
|
||||||
((uint32_t*)buffer)[0] = JPEG_FB()->w;
|
|
||||||
((uint32_t*)buffer)[1] = JPEG_FB()->h;
|
|
||||||
((uint32_t*)buffer)[2] = JPEG_FB()->size;
|
|
||||||
// If header size == 0 frame is not ready
|
// If header size == 0 frame is not ready
|
||||||
if (JPEG_FB()->size == 0) {
|
if (JPEG_FB()->size == 0) {
|
||||||
// unlock FB
|
// unlock FB
|
||||||
mutex_unlock(&JPEG_FB()->lock, MUTEX_TID_IDE);
|
mutex_unlock(&JPEG_FB()->lock, MUTEX_TID_IDE);
|
||||||
|
} else {
|
||||||
|
// Return header w, h and size/bpp
|
||||||
|
((uint32_t*)buffer)[0] = JPEG_FB()->w;
|
||||||
|
((uint32_t*)buffer)[1] = JPEG_FB()->h;
|
||||||
|
((uint32_t*)buffer)[2] = JPEG_FB()->size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cmd = USBDBG_NONE;
|
cmd = USBDBG_NONE;
|
||||||
@ -114,6 +115,7 @@ void usbdbg_data_in(void *buffer, int length)
|
|||||||
xfer_bytes += length;
|
xfer_bytes += length;
|
||||||
if (xfer_bytes == xfer_length) {
|
if (xfer_bytes == xfer_length) {
|
||||||
cmd = USBDBG_NONE;
|
cmd = USBDBG_NONE;
|
||||||
|
JPEG_FB()->w = 0; JPEG_FB()->h = 0; JPEG_FB()->size = 0;
|
||||||
mutex_unlock(&JPEG_FB()->lock, MUTEX_TID_IDE);
|
mutex_unlock(&JPEG_FB()->lock, MUTEX_TID_IDE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user