csi — sensory kamery

Moduł csi to nowoczesny, obiektowy interfejs do sensora (sensorów) kamery w OpenMV Cam. Każdy fizyczny sensor jest reprezentowany przez instancję CSI, dzięki czemu płytki obrazowania wielospektralnego, które łączą sensor kolorowy z sensorem termicznym lub zdarzeniowym, mogą sterować każdym z nich niezależnie, przekazując inny cid do konstruktora. Kamery z jednym sensorem po prostu tworzą jedną instancję CSI.

Obiekt CSI posiada pełną konfigurację sensora – format piksela, rozmiar ramki / okno, ekspozycję / wzmocnienie / balans bieli, sprzętowe odbicie lustrzane i odwrócenie, wzór testowy z paskami kolorów, zegar liczby klatek, ROI dla automatycznej ekspozycji oraz specyficzne dla układu polecenia ioctl. Ramki są przechwytywane za pomocą CSI.snapshot(), która zwraca obiekt image.Image powiązany z buforem ramki.

Ten moduł zastępuje przestarzały moduł sensor (który udostępniał tę samą funkcjonalność jako funkcje na poziomie modułu powiązane z jednym ukrytym sensorem). Nowy kod powinien używać CSI.

Przykład użycia:

import csi

# Setup camera.
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QVGA)
csi0.snapshot(time=2000)  # skip frames

# Take pictures.
while(True):
    csi0.snapshot()

Użycie z asyncio

Blokująca pętla CSI.snapshot() powyżej nie współpracuje z pętlą zdarzeń asyncio – gdy snapshot czeka na następną ramkę, każda inna korutyna w programie jest zamrożona. Aby pętla przechwytywania mogła współistnieć z inną równoległą pracą (klientem UART, obserwatorem przycisku, zadaniem sieciowym), opakuj CSI w mały adapter, który zamienia snapshot w przyjazną dla await korutynę, odpytując snapshot(blocking=False) i oddając sterowanie pętli zdarzeń pomiędzy sprawdzeniami:

import asyncio
import csi


class AsyncCSI:
    def __init__(self, *args, **kwargs):
        self._csi = csi.CSI(*args, **kwargs)

    def __getattr__(self, name):
        return getattr(self._csi, name)

    async def snapshot(self):
        while True:
            img = self._csi.snapshot(blocking=False)
            if img is not None:
                return img
            await asyncio.sleep_ms(0)

__getattr__ przekazuje każdy inny atrybut (reset, pixformat, framesize, pokrętła sensora) do leżącego u podstaw obiektu CSI, dzięki czemu opakowanie jest zamiennikiem typu drop-in. Pierwsze nieblokujące wywołanie uruchamia także przechwytywanie DMA kamery, jeśli nie było ono jeszcze aktywne, więc nie jest potrzebna żadna dodatkowa inicjalizacja.

Pętla przechwytywania wpasowuje się wówczas w większy program asyncio jako kolejna korutyna:

async def capture_loop(cam):
    while True:
        img = await cam.snapshot()
        # process img here

async def main():
    cam = AsyncCSI()
    cam.reset()
    cam.pixformat(csi.RGB565)
    cam.framesize(csi.QVGA)

    asyncio.create_task(some_other_task())
    await capture_loop(cam)

asyncio.run(main())

Ustawienie framebuffers nadal ma znaczenie w tej postaci – tryb pojedynczego bufora sprawia, że snapshot(blocking=False) zwraca None, dopóki nie zostanie przechwycona następna ramka, podczas gdy podwójne lub potrójne buforowanie wygładza to, dzięki czemu opakowanie zwykle znajduje zbuforowaną ramkę czekającą już przy pierwszym odpytaniu. Pełny przewodnik znajdziesz w finałowym przykładzie AsyncCSI w samouczku asyncio.

klasa CSI – interfejs sensora kamery (Camera Sensor Interface)

Klasa CSI służy do sterowania sensorem kamery.

class csi.CSI(cid: int = -1, delays: bool = True, fflush: bool = True, stream: bool | None = None)

Tworzy obiekt do komunikacji z sensorem kamery. Na płytkach z wieloma sensorami konkretny obiekt CSI można wybrać, przekazując cid taki jak csi.LEPTON, aby wybrać moduł sensora FLIR Lepton. Jeśli cid wynosi -1, wybierany jest sensor podstawowy (zwykle moduł kamery kolorowej na płytkach z wieloma sensorami).

Jeśli delays ma wartość False, wszystkie opóźnienia na ustabilizowanie się w sterowniku csi są wyłączone. Domyślnie sterownik sensora wprowadza opóźnienie po resecie / zmianie trybu, aby zapobiec zwracaniu uszkodzonych ramek przez CSI.snapshot. Wyłączenie opóźnień pozwala zgrupować aktualizacje i zastosować pojedyncze opóźnienie na końcu przed wywołaniem CSI.snapshot.

Jeśli fflush ma wartość False, automatyczne opróżnianie bufora ramki wspomniane w CSI.framebuffers jest wyłączone. Usuwa to wszelkie ograniczenia czasowe dla ramek w kolejce FIFO bufora ramki.

stream wybiera, czy ten CSI jest źródłem strumienia wysyłanego do IDE. Jeśli None (domyślnie), CSI staje się źródłem strumienia tylko wtedy, gdy jest sensorem podstawowym (niepomocniczym). Przekaż True, aby wymusić, by ten CSI był źródłem strumienia, lub dowolną wartość fałszywą, aby pozostawić istniejące źródło strumienia bez zmian.

Metody

reset(hard: bool = True) None

Inicjalizuje sensor kamery. Wykonuje sprzętowy reset poprzez przełączenie sygnału GPIO RESET do modułu kamery, jeśli hard ma wartość True. hard powinno być ustawione na false podczas resetowania pomocniczych sensorów kamery, które współdzielą ten sam sygnał GPIO RESET co moduł podstawowy.

shutdown(enable: bool) None

Wprowadza kamerę w tryb niższego poboru mocy niż uśpienie (ale kamera musi zostać zresetowana po wybudzeniu).

sleep(enable: bool) None

Usypia kamerę, jeśli enable ma wartość True. W przeciwnym razie wybudza ją z powrotem.

flush() None

Kopiuje bieżącą zawartość bufora ramki do podglądu w IDE. Wywołaj to po ostatnim CSI.snapshot, jeśli skrypt się kończy, aby IDE pokazało ostatnią ramkę.

snapshot(time: int = -1, frames: int = -1, blocking: bool = True, image: image.Image | None = None) image.Image | None

Robi zdjęcie za pomocą kamery i zwraca obiekt image.Image.

Jeśli przekazano time i/lub frames, snapshot będzie blokować przez tyle milisekund time i/lub tyle przechwyconych z kamery klatek frames. Oba argumenty mogą być używane jednocześnie. Po upływie time i/lub frames snapshot zwróci None.

blocking może mieć wartość False, aby włączyć zachowanie nieblokujące, które spowoduje, że snapshot zwróci None, gdy następny obraz z kamery nie jest gotowy, zamiast czekać.

image może być innym obiektem image.Image, który ma zostać zaktualizowany nowym obrazem przechwyconym z kamery, zamiast zwracania nowego obiektu image.Image. Poprzednia zawartość obrazu jest nadpisywana przez głęboką kopię.

Jeśli CSI.auto_rotation jest włączone, ta metoda zwróci już obrócony obraz image.Image.

width() int

Zwraca szerokość rozdzielczości sensora.

height() int

Zwraca wysokość rozdzielczości sensora.

cid() int

Zwraca ID układu modułu kamery. Porównaj z dowolnym z csi.OV2640, csi.OV5640, csi.OV7670, csi.OV7690, csi.OV7725, csi.OV9650, csi.MT9V022, csi.MT9V024, csi.MT9V032, csi.MT9V034, csi.MT9M114, csi.BOSON320, csi.BOSON640, csi.LEPTON, csi.HM01B0, csi.HM0360, csi.GC2145, csi.GENX320ES, csi.GENX320, csi.PAG7920, csi.PAG7936, csi.PAJ6100, csi.FROGEYE2020 lub csi.SOFTCSI.

readable() bool

Zwraca True, jeśli istnieje obraz gotowy do zwrócenia przez CSI.snapshot, więc wywołanie snapshot nie będzie blokować.

pixformat(pixformat: int | None = None) int | None

Ustawia format piksela dla modułu kamery na jeden z csi.GRAYSCALE, csi.RGB565, csi.BAYER, csi.YUV422 lub csi.JPEG (tylko w OV2640/OV5640).

Zwraca bieżący pixformat, jeśli wywołano bez argumentów.

framesize(framesize: int | Tuple[int, int] | None = None) int | None

Ustawia rozmiar ramki dla modułu kamery na jedną ze stałych rozmiaru (np. csi.QVGA, csi.VGA, csi.HD itd. — zobacz sekcję ze stałymi).

Alternatywnie możesz przekazać niestandardowy rozmiar ramki jako krotkę (w, h). Gdy wywoływana jest CSI.snapshot, niestandardowy rozmiar ramki zostanie sprawdzony pod kątem reguł DMA. Ogólnie rozmiary ramek muszą być wielokrotnością 8 pikseli i/lub 16 bajtów.

Zwraca bieżący rozmiar ramki, jeśli wywołano bez argumentów.

framerate(rate: int | None = None) int | None

Ustawia liczbę klatek na sekundę w Hz dla modułu kamery.

Zwraca bieżącą liczbę klatek na sekundę, jeśli wywołano bez argumentów.

Informacja

CSI.framerate działa poprzez odrzucanie ramek odbieranych przez moduł kamery, aby utrzymać liczbę klatek na poziomie określonej wartości lub poniżej niej. Domyślnie kamera będzie działać z maksymalną liczbą klatek. Jeśli zostało to zaimplementowane dla konkretnego sensora kamery, CSI.framerate zmniejszy także wewnętrznie liczbę klatek sensora kamery, aby oszczędzać energię i poprawić jakość obrazu poprzez zwiększenie ekspozycji sensora. CSI.framerate może wchodzić w konflikt z CSI.auto_exposure w niektórych kamerach.

window(roi: Tuple[int, int] | Tuple[int, int, int, int] | None = None) Tuple[int, int, int, int] | None

Ustawia rozdzielczość kamery na podobszar bieżącej rozdzielczości. roi to krotka (x, y, w, h). Możesz także przekazać (w, h), a okno zostanie wycentrowane.

Zwraca bieżącą krotkę (x, y, w, h), jeśli wywołano bez argumentów.

gainceiling(gainceiling: int) bool

Ustawia pułap wzmocnienia obrazu kamery na jedną z wartości 2, 4, 8, 16, 32, 64 lub 128.

Zwraca True w przypadku powodzenia i False w przypadku niepowodzenia.

brightness(brightness: int) bool

Ustawia jasność obrazu kamery.

Zwraca True w przypadku powodzenia i False w przypadku niepowodzenia.

contrast(contrast: int) bool

Ustawia kontrast obrazu kamery.

Zwraca True w przypadku powodzenia i False w przypadku niepowodzenia.

saturation(saturation: int) bool

Ustawia nasycenie obrazu kamery.

Zwraca True w przypadku powodzenia i False w przypadku niepowodzenia.

quality(quality: int) bool

Ustawia jakość kompresji JPEG obrazu kamery. 0 - 100.

Zwraca True w przypadku powodzenia i False w przypadku niepowodzenia.

Informacja

Tylko dla kamer OV2640/OV5640.

colorbar(enable: bool) bool

Włącza (True) lub wyłącza (False) tryb pasków kolorów. Domyślnie wyłączony.

Zwraca True w przypadku powodzenia i False w przypadku niepowodzenia.

auto_gain(enable: bool, gain_db: float | None = None, gain_db_ceiling: float | None = None) None

enable włącza (True) lub wyłącza (False) automatyczną regulację wzmocnienia. Kamera uruchamia się z włączoną automatyczną regulacją wzmocnienia.

Jeśli enable ma wartość False, możesz ustawić stałe wzmocnienie w decybelach za pomocą gain_db.

Jeśli enable ma wartość True, możesz ustawić maksymalny pułap wzmocnienia w decybelach za pomocą gain_db_ceiling dla algorytmu automatycznej regulacji wzmocnienia.

Informacja

Musisz wyłączyć także balans bieli, jeśli chcesz śledzić kolory.

gain_db() float

Zwraca bieżącą wartość wzmocnienia kamery w decybelach.

auto_exposure(enable: bool, exposure_us: int = -1) None

enable włącza (True) lub wyłącza (False) automatyczną regulację ekspozycji. Kamera uruchamia się z włączoną automatyczną regulacją ekspozycji.

Jeśli enable ma wartość False, możesz ustawić stały czas ekspozycji w mikrosekundach za pomocą exposure_us.

Informacja

Algorytmy automatycznej ekspozycji kamery są dość zachowawcze co do tego, o ile zmieniają wartość ekspozycji, i zasadniczo unikają znacznych zmian wartości ekspozycji. Zamiast tego mocno zmieniają wartość wzmocnienia, aby poradzić sobie ze zmieniającym się oświetleniem.

exposure_us() int

Zwraca bieżącą wartość ekspozycji kamery w mikrosekundach.

auto_whitebal(enable: bool, rgb_gain_db: Tuple[float, float, float] | None = None) None

enable włącza (True) lub wyłącza (False) automatyczny balans bieli. Kamera uruchamia się z włączonym automatycznym balansem bieli.

Jeśli enable ma wartość False, możesz ustawić stałe wzmocnienie w decybelach odpowiednio dla kanałów czerwonego, zielonego i niebieskiego za pomocą rgb_gain_db.

Informacja

Musisz wyłączyć także regulację wzmocnienia, jeśli chcesz śledzić kolory.

rgb_gain_db() Tuple[float, float, float]

Zwraca krotkę (r, g, b) zawierającą bieżące wartości wzmocnienia kamery dla kanału czerwonego, zielonego i niebieskiego w decybelach.

auto_blc(enable: bool, regs: List[int] | None = None) None

Ustawia automatyczną kalibrację poziomu czerni (BLC) w kamerze.

enable przekaż True lub False, aby włączyć lub wyłączyć BLC. Zazwyczaj zawsze chcesz mieć to włączone.

regs jeśli wyłączone, możesz ręcznie ustawić wartości rejestrów BLC z poprzedniego wywołania CSI.blc_regs.

blc_regs() List[int]

Zwraca rejestry BLC sensora jako listę liczb całkowitych. Do użytku z CSI.auto_blc.

hmirror(enable: bool | None = None) bool | None

Włącza (True) lub wyłącza (False) tryb poziomego odbicia lustrzanego. Domyślnie wyłączony.

Zwraca bieżące ustawienie, jeśli wywołano bez argumentów.

vflip(enable: bool | None = None) bool | None

Włącza (True) lub wyłącza (False) tryb pionowego odwrócenia. Domyślnie wyłączony.

Zwraca bieżące ustawienie, jeśli wywołano bez argumentów.

transpose(enable: bool | None = None) bool | None

Włącza (True) lub wyłącza (False) tryb transpozycji. Domyślnie wyłączony.

  • vflip=False, hmirror=False, transpose=False -> obrót o 0 stopni

  • vflip=True, hmirror=False, transpose=True -> obrót o 90 stopni

  • vflip=True, hmirror=True, transpose=False -> obrót o 180 stopni

  • vflip=False, hmirror=True, transpose=True -> obrót o 270 stopni

Zwraca bieżące ustawienie, jeśli wywołano bez argumentów.

auto_rotation(enable: bool | None = None) bool | None

Włącza (True) lub wyłącza (False) tryb automatycznego obrotu. Domyślnie wyłączony.

Zwraca bieżące ustawienie, jeśli wywołano bez argumentów.

Informacja

Ta metoda działa tylko wtedy, gdy OpenMV Cam ma zainstalowany imu, i jest włączana automatycznie.

framebuffers(count: int | None = None) int | None

Ustawia liczbę buforów ramki używanych do odbierania danych obrazu. Domyślnie OpenMV Cam spróbuje przydzielić maksymalną liczbę buforów ramki, jaką może. Ponowna alokacja następuje za każdym razem, gdy wywoływane są CSI.pixformat, CSI.framesize lub CSI.window.

count o wartości 1 (pojedynczy bufor), 2 (podwójny bufor) lub 3 (potrójny bufor) wybiera odpowiedni tryb przechwytywania. Przekaż 4 lub więcej, aby przełączyć sterownik w tryb wideo FIFO, w którym kolejkowanych jest count buforów — przydatne do nagrywania wideo na kartę SD. Przy utracie ramki wszystkie bufory ramki poza aktywnym są czyszczone, więc CSI.snapshot zawsze zwraca świeżą ramkę.

Zwraca bieżącą liczbę, jeśli wywołano bez argumentów.

special_effect(effect: int) bool

Ustawia specjalny efekt cyfrowy (jeden z csi.NORMAL lub csi.NEGATIVE).

Zwraca True w przypadku powodzenia i False w przypadku niepowodzenia.

lens_correction(enable: bool, radi: int, coef: int) bool

enable True, aby włączyć, False, aby wyłączyć. radi całkowity promień pikseli do skorygowania. coef siła korekcji.

Zwraca True w przypadku powodzenia i False w przypadku niepowodzenia.

vsync_callback(cb: Callable[[int], None] | None = None) Callable[[int], None] | None

Rejestruje wywołanie zwrotne cb, które ma być wykonane (w kontekście przerwania) za każdym razem, gdy moduł kamery generuje nową ramkę (ale zanim ramka zostanie odebrana).

cb przyjmuje jeden argument, którym jest bieżący stan pinu vsync po zmianie.

Zwraca zarejestrowane wywołanie zwrotne, jeśli wywołano bez argumentów. Przekaż dowolną wartość niewywoływalną, aby wyczyścić wywołanie zwrotne.

frame_callback(cb: Callable[[], None] | None = None) Callable[[], None] | None

Rejestruje wywołanie zwrotne cb, które ma być wykonane (w kontekście przerwania) za każdym razem, gdy moduł kamery generuje nową ramkę i ramka jest gotowa do odczytu za pomocą CSI.snapshot.

cb nie przyjmuje argumentów. Użyj tego, aby zaplanować odczyt ramki później za pomocą micropython.schedule().

Zwraca zarejestrowane wywołanie zwrotne, jeśli wywołano bez argumentów. Przekaż dowolną wartość niewywoływalną, aby wyczyścić wywołanie zwrotne.

ioctl(request: int, *args) Any

Wykonuje żądanie specyficzne dla sensora. request to jedna ze stałych IOCTL_*; pozostałe argumenty pozycyjne oraz wartość zwracana zależą od żądania. Obsługiwane żądania są pogrupowane poniżej według rodziny sensorów.

Ogólne (dowolny sensor):

ioctl(IOCTL_SET_READOUT_WINDOW, (x, y, w, h))

ioctl(IOCTL_SET_READOUT_WINDOW, (w, h))

Ustawia okno odczytu sensora. Mniejsze okno podnosi liczbę klatek kosztem pola widzenia.

ioctl(IOCTL_GET_READOUT_WINDOW)

Zwraca bieżące okno odczytu jako krotkę (x, y, w, h).

ioctl(IOCTL_SET_TRIGGERED_MODE, enable)

Włącza (True) lub wyłącza (False) tryb wyzwalany w MT9V034.

ioctl(IOCTL_GET_TRIGGERED_MODE)

Zwraca bieżący stan trybu wyzwalanego jako bool.

ioctl(IOCTL_SET_FOV_WIDE, enable)

Gdy True, instruuje framesize(), aby optymalizować pod kątem pola widzenia, a nie liczby klatek.

ioctl(IOCTL_GET_FOV_WIDE)

Zwraca bieżący stan szerokiego pola widzenia jako bool.

ioctl(IOCTL_SET_NIGHT_MODE, enable)

Włącza (True) lub wyłącza (False) „tryb nocny” sensora przy słabym oświetleniu. Tylko OV7725 i OV5640.

ioctl(IOCTL_GET_NIGHT_MODE)

Zwraca bieżący stan trybu nocnego jako bool.

ioctl(IOCTL_GET_RGB_STATS)

Zwraca 4-elementową krotkę surowych statystyk kanałów RGB (r, gb, gr, b) odczytanych z sensora (zwykle używaną do strojenia balansu bieli).

OV5640 FPC – automatyczne ustawianie ostrości:

ioctl(IOCTL_TRIGGER_AUTO_FOCUS)

Rozpoczyna cykl automatycznego ustawiania ostrości na module OV5640 FPC.

ioctl(IOCTL_PAUSE_AUTO_FOCUS)

Wstrzymuje trwający cykl automatycznego ustawiania ostrości.

ioctl(IOCTL_RESET_AUTO_FOCUS)

Resetuje pozycję automatycznego ustawiania ostrości do wartości domyślnej.

ioctl(IOCTL_WAIT_ON_AUTO_FOCUS)

ioctl(IOCTL_WAIT_ON_AUTO_FOCUS, timeout_ms)

Blokuje do zakończenia bieżącego cyklu automatycznego ustawiania ostrości. timeout_ms domyślnie wynosi 5000, jeśli zostanie pominięte.

FLIR Lepton:

ioctl(IOCTL_LEPTON_GET_WIDTH)

Zwraca szerokość obrazu Lepton w pikselach.

ioctl(IOCTL_LEPTON_GET_HEIGHT)

Zwraca wysokość obrazu Lepton w pikselach.

ioctl(IOCTL_LEPTON_GET_RADIOMETRY)

Zwraca typ sensora Lepton (radiometryczny lub nie) jako liczbę całkowitą.

ioctl(IOCTL_LEPTON_GET_REFRESH)

Zwraca częstotliwość odświeżania sensora Lepton w Hz.

ioctl(IOCTL_LEPTON_GET_RESOLUTION)

Zwraca rozdzielczość ADC sensora Lepton w bitach.

ioctl(IOCTL_LEPTON_RUN_COMMAND, cmd)

Uruchamia polecenie SDK FLIR Lepton. cmd to 16-bitowy identyfikator polecenia zdefiniowany przez SDK.

ioctl(IOCTL_LEPTON_SET_ATTRIBUTE, attr_id, payload)

Zapisuje atrybut SDK Lepton. attr_id to 16-bitowy identyfikator atrybutu; payload to bytes/bytearray, którego długość musi być wielokrotnością 16 bitów.

ioctl(IOCTL_LEPTON_GET_ATTRIBUTE, attr_id, words)

Odczytuje atrybut SDK Lepton. attr_id to 16-bitowy identyfikator atrybutu; words to liczba 16-bitowych słów do odczytania. Zwraca bytearray.

ioctl(IOCTL_LEPTON_GET_FPA_TEMP)

Zwraca temperaturę matrycy płaszczyzny ogniskowej (focal-plane-array) sensora Lepton w stopniach Celsjusza.

ioctl(IOCTL_LEPTON_GET_AUX_TEMP)

Zwraca temperaturę pomocniczą sensora Lepton w stopniach Celsjusza.

ioctl(IOCTL_LEPTON_SET_MODE, measurement_enabled)

ioctl(IOCTL_LEPTON_SET_MODE, measurement_enabled, high_temp_enabled)

Przełącza sensor Lepton między wyjściem AGC a bezpośrednim wyjściem temperatury. measurement_enabled=True włącza bezpośrednie wyjście temperatury. Opcjonalna flaga high_temp_enabled wybiera zakres wysokich temperatur.

ioctl(IOCTL_LEPTON_GET_MODE)

Zwraca 2-elementową krotkę (measurement_enabled, high_temp_enabled).

ioctl(IOCTL_LEPTON_SET_RANGE, (min_celsius, max_celsius))

Ustawia zakres temperatur odwzorowany na 0..255, gdy włączony jest tryb pomiaru.

ioctl(IOCTL_LEPTON_GET_RANGE)

Zwraca bieżący zakres (min_celsius, max_celsius).

Himax HM01B0 – wykrywanie ruchu:

ioctl(IOCTL_HIMAX_MD_ENABLE, enable)

Włącza (True) lub wyłącza (False) blok wykrywania ruchu na sensorze HM01B0.

ioctl(IOCTL_HIMAX_MD_WINDOW, (x, y, w, h))

ioctl(IOCTL_HIMAX_MD_WINDOW, (w, h))

Ustawia okno wykrywania ruchu w HM01B0.

ioctl(IOCTL_HIMAX_MD_THRESHOLD, threshold)

Ustawia próg wykrywania ruchu (0255).

ioctl(IOCTL_HIMAX_MD_CLEAR)

Czyści zatrzask przerwania wykrywania ruchu.

ioctl(IOCTL_HIMAX_OSC_ENABLE, enable)

Włącza (True) lub wyłącza (False) wewnętrzny oscylator HM01B0.

Prophesee GENX320 – sensor zdarzeniowy:

ioctl(IOCTL_GENX320_SET_BIASES, preset)

Stosuje zestaw wstępnie zdefiniowanych biasów. preset to jedna ze stałych GENX320_BIASES_*.

ioctl(IOCTL_GENX320_SET_BIAS, bias, value)

Ustawia pojedynczy bias. bias to jedna ze stałych GENX320_BIAS_*; value to całkowita wartość ustawienia.

ioctl(IOCTL_GENX320_SET_AFK, enable)

ioctl(IOCTL_GENX320_SET_AFK, enable, freq_low_hz, freq_high_hz)

Konfiguruje filtr antymigotaniowy. enable to wartość logiczna; opcjonalne argumenty częstotliwości ustawiają pasmo przepustowe filtra.

ioctl(IOCTL_GENX320_SET_STC, mode)

ioctl(IOCTL_GENX320_SET_STC, mode, arg1[, arg2])

Konfiguruje filtr kontrastu czasoprzestrzennego. mode to jedna ze stałych GENX320_STC_*; do dwóch kolejnych argumentów jest specyficznych dla trybu.

ioctl(IOCTL_GENX320_SET_MODE, mode)

ioctl(IOCTL_GENX320_SET_MODE, mode, evt_res)

Przełącza sensor między trybem ramkowym a zdarzeniowym. mode to jedna ze stałych GENX320_MODE_*. W trybie zdarzeniowym evt_res to długość osi wierszy bufora zdarzeń przekazywanego do IOCTL_GENX320_READ_EVENTS.

ioctl(IOCTL_GENX320_READ_EVENTS, buf)

Odczytuje zdarzenia do buf, tablicy ndarray typu uint16 o kształcie (EVT_res, 6), gdzie EVT_res jest potęgą dwójki z zakresu od 1024 do 65536. Kolumny to:

  • [0] – typ zdarzenia (PIX_OFF_EVENT / PIX_ON_EVENT / wyzwalacz).

  • [1] – sekundy.

  • [2] – milisekundy.

  • [3] – mikrosekundy.

  • [4] – współrzędna x.

  • [5] – współrzędna y.

Zwraca liczbę zapisanych zdarzeń.

ioctl(IOCTL_GENX320_READ_EVENTS_RAW)

Zwraca obiekt image.Image zawierający surową ramkę zdarzeń z GENX320.

ioctl(IOCTL_GENX320_CALIBRATE, iterations, sigma)

Wyłącza piksele, których szum jest oddalony o więcej niż sigma odchyleń standardowych od rozkładu normalnego. iterations to całkowita liczba przebiegów kalibracji. Zwraca liczbę wyłączonych pikseli.

color_palette(palette: int | None = None) int | None

Ustawia paletę kolorów używaną do takich celów jak konwersja skali szarości FLIR Lepton na RGB565 lub wizualizacja zdarzeń GENX320. Jedna z image.PALETTE_RAINBOW, image.PALETTE_IRONBOW oraz (gdy obsługiwane) image.PALETTE_DEPTH, image.PALETTE_EVT_DARK lub image.PALETTE_EVT_LIGHT.

Zwraca bieżące ustawienie, jeśli wywołano bez argumentów.

__write_reg(address: int, value: int) None

Zapisuje value do rejestru kamery pod adresem address.

Informacja

Informacje o rejestrach znajdziesz w karcie katalogowej kamery.

__read_reg(address: int) int

Odczytuje rejestr kamery pod adresem address.

Informacja

Informacje o rejestrach znajdziesz w karcie katalogowej kamery.

Funkcje

csi.devices() List[int]

Zwraca listę wykrytych identyfikatorów układów sensorów.

Stałe

csi.BINARY: int

Format piksela BINARY (bitmapa). Każdy piksel jest 1-bitowy. Przydatny do przechowywania masek; może być używany z image.Image().

csi.GRAYSCALE: int

Format piksela GRAYSCALE (Y z YUV422). Każdy piksel jest 8-bitowy.

csi.RGB565: int

Format piksela RGB565. Każdy piksel jest 16-bitowy (5 bitów czerwony, 6 bitów zielony, 5 bitów niebieski).

csi.BAYER: int

Format piksela obrazu RAW BAYER.

csi.YUV422: int

Format piksela YUV422. Każdy piksel jest przechowywany jako 8-bitowa wartość Y w skali szarości, po której następują naprzemienne 8-bitowe wartości kolorów U/V współdzielone między dwiema wartościami Y (Y1, U, Y2, V, …). Tylko niektóre metody przetwarzania obrazu działają z YUV422.

csi.JPEG: int

Tryb JPEG. Moduł kamery generuje skompresowane obrazy JPEG. Użyj CSI.quality, aby kontrolować jakość JPEG. Działa tylko w kamerach OV2640/OV5640.

csi.OV2640: int

CSI.cid zwraca tę wartość dla kamery OV2640.

csi.OV5640: int

CSI.cid zwraca tę wartość dla kamery OV5640.

csi.OV7670: int

CSI.cid zwraca tę wartość dla kamery OV7670.

csi.OV7690: int

CSI.cid zwraca tę wartość dla kamery OV7690.

csi.OV7725: int

CSI.cid zwraca tę wartość dla kamery OV7725.

csi.OV9650: int

CSI.cid zwraca tę wartość dla kamery OV9650.

csi.MT9V022: int

CSI.cid zwraca tę wartość dla kamery MT9V022.

csi.MT9V024: int

CSI.cid zwraca tę wartość dla kamery MT9V024.

csi.MT9V032: int

CSI.cid zwraca tę wartość dla kamery MT9V032.

csi.MT9V034: int

CSI.cid zwraca tę wartość dla kamery MT9V034.

csi.MT9M114: int

CSI.cid zwraca tę wartość dla kamery MT9M114.

csi.BOSON320: int

CSI.cid zwraca tę wartość dla kamery BOSON 320x256.

csi.BOSON640: int

CSI.cid zwraca tę wartość dla kamery BOSON 640x512.

csi.LEPTON: int

CSI.cid zwraca tę wartość dla kamer LEPTON1/2/3.

csi.HM01B0: int

CSI.cid zwraca tę wartość dla kamery HM01B0.

csi.HM0360: int

CSI.cid zwraca tę wartość dla kamery HM0360.

csi.GC2145: int

CSI.cid zwraca tę wartość dla kamery GC2145.

csi.GENX320ES: int

CSI.cid zwraca tę wartość dla kamery GENX320 (próbka inżynieryjna).

csi.GENX320: int

CSI.cid zwraca tę wartość dla kamery GENX320.

csi.PAG7920: int

CSI.cid zwraca tę wartość dla kamery PAG7920.

csi.PAG7936: int

CSI.cid zwraca tę wartość dla kamery PAG7936.

csi.PAJ6100: int

CSI.cid zwraca tę wartość dla kamery PAJ6100.

csi.FROGEYE2020: int

CSI.cid zwraca tę wartość dla kamery FROGEYE2020.

csi.SOFTCSI: int

CSI.cid zwraca tę wartość dla programowej kamery CSI.

csi.NORMAL: int

Tryb normalny dla CSI.special_effect.

csi.NEGATIVE: int

Tryb negatywu dla CSI.special_effect.

csi.QCIF: int

Rozdzielczość 176x144 dla sensora kamery.

csi.CIF: int

Rozdzielczość 352x288 dla sensora kamery.

csi.QSIF: int

Rozdzielczość 176x120 dla sensora kamery.

csi.SIF: int

Rozdzielczość 352x240 dla sensora kamery.

csi.QQQVGA: int

Rozdzielczość 80x60 dla sensora kamery.

csi.QQVGA: int

Rozdzielczość 160x120 dla sensora kamery.

csi.QVGA: int

Rozdzielczość 320x240 dla sensora kamery.

csi.VGA: int

Rozdzielczość 640x480 dla sensora kamery.

csi.HQVGA: int

Rozdzielczość 240x160 dla sensora kamery.

csi.HVGA: int

Rozdzielczość 480x320 dla sensora kamery.

csi.WVGA: int

Rozdzielczość 720x480 dla sensora kamery MT9V034.

csi.WVGA2: int

Rozdzielczość 752x480 dla sensora kamery MT9V034.

csi.SVGA: int

Rozdzielczość 800x600 dla sensora kamery.

csi.XGA: int

Rozdzielczość 1024x768 dla sensora kamery.

csi.WXGA: int

Rozdzielczość 1280x768 dla sensora kamery MT9M114.

csi.SXGA: int

Rozdzielczość 1280x1024 dla sensora kamery. Działa tylko w kamerach OV2640/OV5640.

csi.SXGAM: int

Rozdzielczość 1280x960 dla sensora kamery MT9M114.

csi.UXGA: int

Rozdzielczość 1600x1200 dla sensora kamery. Działa tylko w kamerach OV2640/OV5640.

csi.HD: int

Rozdzielczość 1280x720 dla sensora kamery.

csi.FHD: int

Rozdzielczość 1920x1080 dla sensora kamery. Działa tylko w kamerze OV5640.

csi.QHD: int

Rozdzielczość 2560x1440 dla sensora kamery. Działa tylko w kamerze OV5640.

csi.QXGA: int

Rozdzielczość 2048x1536 dla sensora kamery. Działa tylko w kamerze OV5640.

csi.WQXGA: int

Rozdzielczość 2560x1600 dla sensora kamery. Działa tylko w kamerze OV5640.

csi.WQXGA2: int

Rozdzielczość 2592x1944 dla sensora kamery. Działa tylko w kamerze OV5640.

csi.IOCTL_SET_READOUT_WINDOW: int

Ustawia okno odczytu. Zobacz CSI.ioctl.

csi.IOCTL_GET_READOUT_WINDOW: int

Pobiera okno odczytu. Zobacz CSI.ioctl.

csi.IOCTL_SET_TRIGGERED_MODE: int

Ustawia tryb wyzwalany dla MT9V034. Zobacz CSI.ioctl.

csi.IOCTL_GET_TRIGGERED_MODE: int

Pobiera stan trybu wyzwalanego dla MT9V034. Zobacz CSI.ioctl.

csi.IOCTL_SET_FOV_WIDE: int

Włącza optymalizację CSI.framesize pod kątem pola widzenia zamiast FPS. Zobacz CSI.ioctl.

csi.IOCTL_GET_FOV_WIDE: int

Zwraca informację, czy CSI.framesize optymalizuje pod kątem pola widzenia zamiast FPS. Zobacz CSI.ioctl.

csi.IOCTL_TRIGGER_AUTO_FOCUS: int

Wyzwala automatyczne ustawianie ostrości w module kamery OV5640 FPC. Zobacz CSI.ioctl.

csi.IOCTL_PAUSE_AUTO_FOCUS: int

Wstrzymuje automatyczne ustawianie ostrości (podczas działania) dla modułu kamery OV5640 FPC. Zobacz CSI.ioctl.

csi.IOCTL_RESET_AUTO_FOCUS: int

Resetuje automatyczne ustawianie ostrości do wartości domyślnej dla modułu kamery OV5640 FPC. Zobacz CSI.ioctl.

csi.IOCTL_WAIT_ON_AUTO_FOCUS: int

Czeka na zakończenie automatycznego ustawiania ostrości w module kamery OV5640 FPC. Zobacz CSI.ioctl.

csi.IOCTL_SET_NIGHT_MODE: int

Włącza lub wyłącza tryb nocny. Zmniejsza liczbę klatek, aby dynamicznie zwiększać ekspozycję. Zobacz CSI.ioctl.

csi.IOCTL_GET_NIGHT_MODE: int

Zwraca informację, czy tryb nocny jest włączony. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_WIDTH: int

Zwraca szerokość rozdzielczości obrazu FLIR Lepton w pikselach. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_HEIGHT: int

Zwraca wysokość rozdzielczości obrazu FLIR Lepton w pikselach. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_RADIOMETRY: int

Zwraca typ sensora FLIR Lepton (radiometryczny lub nie). Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_REFRESH: int

Zwraca częstotliwość odświeżania FLIR Lepton w Hz. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_RESOLUTION: int

Zwraca rozdzielczość ADC FLIR Lepton w bitach. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_RUN_COMMAND: int

Wykonuje 16-bitowe polecenie z SDK FLIR Lepton. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_SET_ATTRIBUTE: int

Ustawia atrybut FLIR Lepton z SDK FLIR Lepton. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_ATTRIBUTE: int

Pobiera atrybut FLIR Lepton z SDK FLIR Lepton. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_FPA_TEMP: int

Pobiera temperaturę FPA FLIR Lepton w stopniach Celsjusza. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_AUX_TEMP: int

Pobiera temperaturę AUX FLIR Lepton w stopniach Celsjusza. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_SET_MODE: int

Ustawia sterownik FLIR Lepton w tryb, w którym każdy piksel jest wartością temperatury. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_MODE: int

Zwraca informację, czy tryb pomiaru jest włączony dla sensora FLIR Lepton. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_SET_RANGE: int

Ustawia zakres temperatur odwzorowany na wartości pikseli w trybie pomiaru. Zobacz CSI.ioctl.

csi.IOCTL_LEPTON_GET_RANGE: int

Zwraca zakres temperatur używany w trybie pomiaru. Zobacz CSI.ioctl.

csi.IOCTL_HIMAX_MD_ENABLE: int

Steruje przerwaniem wykrywania ruchu w HM01B0. Zobacz CSI.ioctl.

csi.IOCTL_HIMAX_MD_WINDOW: int

Ustawia okno wykrywania ruchu w HM01B0. Zobacz CSI.ioctl.

csi.IOCTL_HIMAX_MD_THRESHOLD: int

Ustawia próg wykrywania ruchu w HM01B0. Zobacz CSI.ioctl.

csi.IOCTL_HIMAX_MD_CLEAR: int

Czyści przerwanie wykrywania ruchu w HM01B0. Zobacz CSI.ioctl.

csi.IOCTL_HIMAX_OSC_ENABLE: int

Steruje wewnętrznym oscylatorem w HM01B0. Zobacz CSI.ioctl.

csi.IOCTL_GET_RGB_STATS: int

Zwraca statystyki RGB z sensora kamery. Zobacz CSI.ioctl.

csi.IOCTL_GENX320_SET_BIASES: int

Ustawia biasy sensora GENX320 na jeden z zestawów wstępnie zdefiniowanych GENX320_BIASES_*. Zobacz CSI.ioctl. Po CSI.reset sterownik stosuje csi.GENX320_BIASES_LOW_NOISE, a nie csi.GENX320_BIASES_DEFAULT — użyj tego ioctl, aby przełączyć się na inny zestaw, gdy aplikacja wymaga większej czułości lub przepustowości.

csi.GENX320_BIASES_DEFAULT: int

Domyślne wartości z karty katalogowej GenX320 — zrównoważona czułość, szum i przepustowość dla ogólnych scen.

csi.GENX320_BIASES_LOW_LIGHT: int

Dostosowany do warunków słabego oświetlenia — oba progi kontrastu poluzowane dla większej czułości, FO obniżone, HPF wyłączony, dzięki czemu powolne zmiany jasności nadal są rejestrowane.

csi.GENX320_BIASES_ACTIVE_MARKER: int

Dostosowany do śledzenia migoczących diod LED o wysokim kontraście (aktywnych znaczników) — progi kontrastu podniesione, aby tylko ostre przejścia wyzwalały zdarzenia, FO i HPF podkręcone do maksimum, by zmaksymalizować przepustowość i odrzucić powolny dryf otoczenia, REFR=0, aby każda krawędź mignięcia była rejestrowana.

csi.GENX320_BIASES_LOW_NOISE: int

Domyślny dla sterownika — niższa czułość niż DEFAULT (podniesione progi kontrastu) i niższe FO dla mniejszej aktywności szumu tła. Najlepszy dla scen statycznych lub powolnych, w których fałszywe zdarzenia dominowałyby.

csi.GENX320_BIASES_HIGH_SPEED: int

Dostosowany do scen z szybkim ruchem — wyższe FO dla szerszej przepustowości pikseli, wyższy HPF, aby odrzucić powolne zmiany, wyższy REFR dla dłuższego czasu martwego po każdym zdarzeniu, aby odczyt się nie nasycał.

csi.IOCTL_GENX320_SET_BIAS: int

Ustawia pojedynczy bias sensora GENX320 na wartość DAC. Przekaż stałą GENX320_BIAS_* (csi.GENX320_BIAS_DIFF_OFF, csi.GENX320_BIAS_DIFF_ON, csi.GENX320_BIAS_FO, csi.GENX320_BIAS_HPF lub csi.GENX320_BIAS_REFR) oraz całkowitą wartość DAC. Każdy bias jest niezależny — wywołuj ten ioctl wielokrotnie, aby dostroić tylko potrzebne biasy po zastosowaniu zestawu. Zobacz CSI.ioctl.

csi.GENX320_BIAS_DIFF_OFF: int

Próg kontrastu komparatora ujemnego — kontroluje, o ile piksel musi pociemnieć, zanim wyzwoli się csi.PIX_OFF_EVENT. Niższa wartość = większa czułość (więcej zdarzeń).

csi.GENX320_BIAS_DIFF_ON: int

Próg kontrastu komparatora dodatniego — kontroluje, o ile piksel musi rozjaśnić się, zanim wyzwoli się csi.PIX_ON_EVENT. Niższa wartość = większa czułość (więcej zdarzeń).

csi.GENX320_BIAS_FO: int

Częstotliwość odcięcia dolnoprzepustowa piksela — równoważy przepustowość piksela (szybkość/opóźnienie) względem aktywności szumu tła. Wyższa wartość = szybsza reakcja piksela, więcej szumu.

csi.GENX320_BIAS_HPF: int

Częstotliwość odcięcia górnoprzepustowa piksela — odrzuca powolne zmiany jasności. Wyższa wartość = więcej powolnych zmian odfiltrowanych (rejestrowane są tylko szybkie przejścia).

csi.GENX320_BIAS_REFR: int

Okres refrakcji piksela — czas martwy po wyemitowaniu przez piksel zdarzenia, podczas którego nie może on ponownie się wyzwolić. Wyższa wartość = dłuższy czas martwy, mniej zdarzeń z aktywnego piksela.

csi.IOCTL_GENX320_SET_AFK: int

Ustawia filtr antymigotaniowy (AFK) GENX320, który odrzuca zdarzenia z pikseli przełączających się w okresowym paśmie częstotliwości (oświetlenie jarzeniowe, wyświetlacze sterowane LED itp.). Przekaż enable (1, aby włączyć, 0, aby wyłączyć) oraz, przy włączaniu, krawędzie pasma w hercach: (enable, freq_low_hz, freq_high_hz). Zobacz CSI.ioctl.

csi.IOCTL_GENX320_SET_STC: int

Ustawia tryb filtra kontrastu czasoprzestrzennego (STC) GENX320. Przekaż stałą GENX320_STC_* (csi.GENX320_STC_DISABLE, csi.GENX320_STC_ONLY, csi.GENX320_STC_TRAIL_ONLY, csi.GENX320_STC_TRAIL), a po niej próg(i) wymagany przez tryb (w milisekundach). Zobacz CSI.ioctl.

csi.GENX320_STC_DISABLE: int

Wyłącza filtr STC/trail GENX320 — każde zdarzenie przechodzi przez filtr.

csi.GENX320_STC_ONLY: int

Zachowuje drugie zdarzenie serii; odrzuca pierwsze zdarzenie i wszelkie późniejsze zdarzenia. Przyjmuje jeden parametr, stc_threshold w milisekundach — zdarzenia w tym oknie od poprzedniego zdarzenia na tym samym pikselu są uznawane za część tej samej serii.

csi.GENX320_STC_TRAIL_ONLY: int

Zachowuje pierwsze zdarzenie serii; odrzuca kolejne zdarzenia na tym samym pikselu, dopóki nie upłynie trail_threshold. Przyjmuje jeden parametr, trail_threshold w milisekundach.

csi.GENX320_STC_TRAIL: int

Zachowuje pierwsze zdarzenie serii oraz kolejne krawędzie — łączy csi.GENX320_STC_ONLY i csi.GENX320_STC_TRAIL_ONLY. Przyjmuje dwa parametry, stc_threshold i trail_threshold (oba w ms); sensor wymaga, aby te dwie wartości pozostawały w stosunku zbliżonym do 13:1.

csi.IOCTL_GENX320_SET_MODE: int

Ustawia tryb pracy GENX320. Przekaż csi.GENX320_MODE_HISTO dla histogramu zdarzeń na układzie (kamera zachowuje się jak zwykła kamera w skali szarości przy skonfigurowanej liczbie klatek) lub csi.GENX320_MODE_EVENT, a po nim długość osi wierszy tablicy zdarzeń ndarray (potęgę dwójki z zakresu od 1024 do 65536) dla strumieniowania surowych zdarzeń. Zobacz CSI.ioctl.

csi.GENX320_MODE_HISTO: int

Tryb histogramu — zdarzenia są gromadzone na układzie w przegrodach na piksel i raportowane jako ramka 320x320 w skali szarości przy skonfigurowanej szybkości (~20-350 FPS). Kamera wygląda jak zwykła kamera, więc wszystkie standardowe procedury przetwarzania obrazu działają bezpośrednio.

csi.GENX320_MODE_EVENT: int

Tryb zdarzeniowy — omija histogram na układzie i strumieniuje surowe zdarzenia do tablicy numpy ndarray ze znacznikami czasu w mikrosekundach, dla aplikacji wymagających pełnego szczegółu czasowego zamiast wstępnie pogrupowanej ramki.

csi.IOCTL_GENX320_READ_EVENTS: int

Odczytuje surowe zdarzenia do tablicy ndarray typu uint16 o kształcie (EVT_res, 6) (gdzie EVT_res odpowiada rozmiarowi bufora przekazanemu do csi.IOCTL_GENX320_SET_MODE). Kolumny to [0] typ zdarzenia (csi.PIX_OFF_EVENT, csi.PIX_ON_EVENT, csi.EXT_TRIGGER_RISING/FALLING, csi.RST_TRIGGER_RISING/FALLING), [1] znacznik czasu w sekundach, [2] milisekundy, [3] mikrosekundy, [4] współrzędna X (0-319), [5] współrzędna Y (0-319). Zwraca liczbę zdarzeń zapisanych do bufora, pozostawiając starsze wiersze poza tą liczbą nietknięte. Zobacz CSI.ioctl.

csi.IOCTL_GENX320_CALIBRATE: int

Automatycznie wyłącza gorące piksele — piksele, które wyzwalają się fałszywie nawet na scenie statycznej. Sterownik buduje licznik trafień 320x320 na piksel, oblicza średnią i odchylenie standardowe oraz wyłącza każdy piksel, którego licznik przekracza mean + sigma * stddev. Przekaż budżet liczby zdarzeń (zdarzenia do zliczenia przed obliczeniem statystyk — wyższy = bardziej wiarygodne oszacowanie, wolniejsze; ~10000 to dobra wartość domyślna) oraz wartość sigma typu float (niższa = bardziej agresywna, ~0.5 domyślnie). Zwraca liczbę wyłączonych pikseli. Najpierw skieruj kamerę na scenę statyczną, aby zdarzenia wywołane ruchem nie były zliczane na niekorzyść pikseli, które faktycznie działają poprawnie. Zobacz CSI.ioctl.

csi.IOCTL_GENX320_READ_EVENTS_RAW: int

Zwraca surową ramkę zdarzeń image.Image z GENX320, ze zdarzeniami nadal w natywnym, spakowanym kodowaniu układu — przydatne, jeśli chcesz przekazać surowy strumień do komputera w celu dekodowania offline, zamiast przetwarzać go na kamerze. Zobacz CSI.ioctl.

csi.PIX_OFF_EVENT: int

Typ zdarzenia GENX320 (kolumna [0]) — piksel wykrył spadek jasności (przekroczony został próg kontrastu ujemnego). Kolumny [4]/[5] zawierają X/Y piksela.

csi.PIX_ON_EVENT: int

Typ zdarzenia GENX320 (kolumna [0]) — piksel wykrył wzrost jasności (przekroczony został próg kontrastu dodatniego). Kolumny [4]/[5] zawierają X/Y piksela.

csi.RST_TRIGGER_RISING: int

Typ zdarzenia GENX320 (kolumna [0]) — wyzwalacz resetu piksela, zbocze narastające. X/Y są nieużywane. Nie jest generowane przez oprogramowanie układowe w tej chwili.

csi.RST_TRIGGER_FALLING: int

Typ zdarzenia GENX320 (kolumna [0]) — wyzwalacz resetu piksela, zbocze opadające. X/Y są nieużywane. Nie jest generowane przez oprogramowanie układowe w tej chwili.

csi.EXT_TRIGGER_RISING: int

Typ zdarzenia GENX320 (kolumna [0]) — zewnętrzny pin wyzwalający sensora wykrył zbocze narastające. Zewnętrzne wejście wyzwalające GENX320 jest połączone z linią synchronizacji ramek kamery, wyprowadzoną także na P10 procesora i na listwę pinów. X/Y są nieużywane.

csi.EXT_TRIGGER_FALLING: int

Typ zdarzenia GENX320 (kolumna [0]) — zewnętrzny pin wyzwalający sensora wykrył zbocze opadające. Zewnętrzne wejście wyzwalające GENX320 jest połączone z linią synchronizacji ramek kamery, wyprowadzoną także na P10 procesora i na listwę pinów. X/Y są nieużywane.