Bedeutung des Elements start_addr[] in ACQUIRE_DEF_T Struktur

mvCAM3, mvCAM4, mvDELTA, mvGAMMA-G, mvSIGMA-SLC, mvSIGMA-SLG, mvSIGMA-SQ, mvTITAN-C16, mvTITAN-C8, mvTITAN-CL, mvTITAN-DIG, mvTITAN-G1, mvTITAN-RGB/G4, pcIMAGE-SC, pcIMAGE-SDIG, pcIMAGE-SG/SGVS, pcIMAGE-SRGB

Das Element start_addr gibt an wo the Bilddaten nach der Erfassung im DMA-Puffer abgelegt werden.
Bei interlaced Signalen gibt das Element start_addr[0] den Ort für das erste Halbbild, start_addr[1] den Ort für das zweite Halbbild an. Bei noninterlaced Signalen genügt es das Element start_addr[0] entsprechend zu setzen.
Der Wert dieses Elements gibt einen Offset zum Anfang des Zielspeichers an. Ab dieser Position werden bei der nächsten Bilderfassung die Bilddaten abgelegt. Der Offset wird in Byte angegeben. Die Funktion mvGetRowAdr() berücksichtigt diese Einstellung und gibt mit mvGetRowAdr(dev,0,0) den Pointer auf den Anfang des Bildes zurück, das sich an dieser Offsetposition befindet. Eine andere Möglichkeit zum Setzen eines Offsets innerhalb des Zielspeichers ist die Verwendung des Elements ypos[]. Auch hier repräsentiert das Element ypos[0] das erste Hallbild und ypos[1] das zweite. Hierbei werden auch alle nachfolgenden Bilder ab dieser Position abgelegt allerdings liefert mvGetRowAdr(dev,0,0) den Pointer auf den Anfang des bei start_addr[] angegeben Offsets zurück.
Die Angabe des Offsets ist bei Doppel- bzw. Ringbuffermethoden interessant. Ist eine solche Methode nicht interessant muss nichts an diesen Einstellungen geändert werden.

Hinweis:
Wird in start_addr[] das Bit 0x80000000 (Konstante: DISPLAY_ADDR_FLAG) gesetzt, so werden die erfassten Bilddaten direkt in den Bildspeicher der Grafikkarte abgelegt. Ist dieses Flag nicht gesetzt landen die Daten immer im DMA-Buffer (Standard). Um diese Methode nutzen zu können muss die Grafikkarte diesen Modus unterstützen und der passende Farbmodus muss eingestellt sein.

Zurück