mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
common/vospi: Implement abort.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
This commit is contained in:
parent
1ddd69bfbe
commit
2119953d51
@ -136,10 +136,8 @@ void vospi_callback(omv_spi_t *spi, void *userdata, void *buf) {
|
||||
|| (!vospi_check_crc(base))
|
||||
#endif
|
||||
|| (vospi.lepton_3 && (pid == VOSPI_SPECIAL_PACKET) && (sid != vospi.sid))) {
|
||||
vospi.pid = 0;
|
||||
vospi.sid = 0;
|
||||
omv_spi_transfer_abort(&vospi.spi_bus);
|
||||
vospi.flags |= VOSPI_FLAGS_RESYNC;
|
||||
vospi_abort();
|
||||
vospi.flags |= VOSPI_FLAGS_CAPTURE;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -196,6 +194,15 @@ int vospi_deinit() {
|
||||
return omv_spi_deinit(&vospi.spi_bus);
|
||||
}
|
||||
|
||||
int vospi_abort(void) {
|
||||
vospi.flags &= ~VOSPI_FLAGS_CAPTURE;
|
||||
int ret = omv_spi_transfer_abort(&vospi.spi_bus);
|
||||
vospi.pid = 0;
|
||||
vospi.sid = 0;
|
||||
vospi.flags |= VOSPI_FLAGS_RESYNC;
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool vospi_active(void) {
|
||||
return vospi.flags & VOSPI_FLAGS_CAPTURE;
|
||||
}
|
||||
@ -224,10 +231,7 @@ int vospi_snapshot(uint32_t timeout_ms) {
|
||||
}
|
||||
|
||||
if ((mp_hal_ticks_ms() - tick_start) > timeout_ms) {
|
||||
omv_spi_transfer_abort(&vospi.spi_bus);
|
||||
vospi.pid = 0;
|
||||
vospi.sid = 0;
|
||||
vospi.flags = VOSPI_FLAGS_RESYNC;
|
||||
vospi_abort();
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
@ -28,6 +28,7 @@
|
||||
#include "framebuffer.h"
|
||||
int vospi_init(uint32_t n_packets, framebuffer_t *fb);
|
||||
int vospi_deinit();
|
||||
int vospi_abort(void);
|
||||
bool vospi_active(void);
|
||||
int vospi_snapshot(uint32_t timeout_ms);
|
||||
#endif // __VOSPI_H__
|
||||
|
||||
Loading…
Reference in New Issue
Block a user