vsync_gpio_output.py
# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Пример вывода GPIO по сигналу VSYNC.
#
# Этот пример показывает, как переключать вывод по прерыванию VSYNC.
import csi
import time
from pyb import Pin
csi0 = csi.CSI()
csi0.reset() # Сброс и инициализация датчика.
csi0.pixformat(csi.GRAYSCALE) # Установить формат пикселей RGB565 (или GRAYSCALE)
csi0.framesize(csi.QVGA) # Установить размер кадра QVGA (320x240)
# Этот вывод будет включаться/выключаться по фронтам нарастания и спада сигнала VSYNC.
led_pin = Pin("LED_BLUE", Pin.OUT_PP, Pin.PULL_NONE)
csi0.vsync_callback(lambda state, led=led_pin: led_pin.value(state))
clock = time.clock() # Создать объект clock для отслеживания FPS.
while True:
clock.tick() # Обновить счётчик FPS.
img = csi0.snapshot() # Сделать снимок и вернуть изображение.
print(clock.fps()) # Примечание: OpenMV Cam работает примерно вдвое медленнее при подключении
# к IDE. FPS должен увеличиться после отключения.