# # CAMERA_MODEL "Generic 8 bit Bayer Color Camera Link" # # This is a generic camera configuration file, intended as a starting # place for creating a file for a Camera Link camera, connected to an # an EDT Camera Link Framegrabber board. (For AIA [LVDS and RS-422] cameras # and boards, see generic8.cfg, generic10.cfg, generic12.cfg, etc.) # # Unmodified, this file should work for a single-tap Camera-Link # camera that outputs data continuously (no trigger required) in # 1024x1024, 8-8-8-bits per pixel RGB data with the LSB on VD0 or MSB0. # The image capture library will produce a buffer with 24-bit RGB data. # # For detailed information on the configuration directives initialization # procedures, see the camera Configuration Guide and the PCI DV User's guide, # on your installation disk and in the documentation section of our web # site (www.edt.com). # # camera description, for camera selection GUI and apps # camera_class should be the manufacturer's name # camera_class: "Generic" camera_model: "Camera Link 8-bit, bayer color" camera_info: "1024x1024 (single ch., freerun)" # actual width/height (total pixels) and depth of data from camera # to only grab high 8-bits, set depth to 8 but leave extdepth set # to actual depth, and adjust shift and mask accordingly # width: 1024 height: 1024 depth: 24 extdepth: 8 # rbtfile is ignored for std camera link board but needed # for DV FOX (fiberoptic) (v3.3.4.9 or later) # rbtfile: aiagcl.bit # camera link data path register bits (argument is a 2-digit hex value): # sets the expected input data size and #taps # bits 0-3: number of bits per pixel minus 1 # bits 4-7: number of taps minus 1 # CL_DATA_PATH_NORM: 07 # single tap #CL_DATA_PATH_NORM: 17 # dual tap # camera link config register bits # (arg is a 2-digit hex value, hexval shown in parens): # 0 (01): RGB (set for RGB (except bayer). Applies to older/PCI, ignored on newer/PCIe) # 1 (02): ignore data valid (on for most cameras though not all) # 2 (04): generate an FVAL on every LVAL, for line scan cameras # 3 (08): disable ROI (rarely set) # 4 (10): generate an FVAL after every vactv lines, for line scan cameras # 5 (20): data valid invert (rare) # 6 (40): RGB swap -- swap red/blue # 7 (80): enable roi pad: if ROI > img output, will pad missing bytes # CL_CFG_NORM: 02 # htaps/vtaps: if multiple taps, set either htaps or vtaps to match the number # of taps and whether they represent horizontal or vertical. Most common it's # htaps (that is, pixels in parallel taps are from pixels next to each other on # the same line) For example with a 2-tap 8-bit camera (CL_DATA_PATH_NORM: 17) # where the two taps are from adjacent pixels on the same line, you would uncomment # htaps and leave it at 2. # #htaps: 2 #vtaps: 2 # interlace method # only for interleaved and some dual tap cameras # determines how image is deinterleaved for display -- BYTE_INTLV is only # one of many available methods -- see *_INTLV in pdv_dependent.h and # camera configuration guide for more # #method_interlace: BYTE_INTLV # the following directives can be used to send us any serial commands # necessary to put the camera to put it into the expected state. # serial_init takes a colon-separated list of ASCII commands, and should # be used for cameras that use an ASCII serial command set. serial_binit # takes space-separated groups of hex bytes, for cameras that use binary # serial instead of ASCII; each group gets send as a separate command with # a serial_read of the response (thrown away) between each. Examples of # commands that should be sent include those that put the camera into the # desired trigger mode (e.g. continuous, triggered, controlled), #bits and # taps, etc. The idea is to set the camera mode to match how the rest # of the config directives are setting up the FG board. # #serial_init: "CMD 1:CMD 2:CMD 3" #serial_binit: "00 11 aa bb" or "001122 aabbccddeeff" # Serial termination Character # defines the termination character(s) that will be sent after each # serial command sent by the library subroutine pdv_serial_command, including # those sent by serial_init (above). If no serial_term is specified, the # default, carriage return character (0d hex) will be sent. If some other # sequence is needed, uncomment serial_term and insert the appropriate hex # byte(s) separated by spaces. serial_term only applies to EDT's # ASCII-specific serial directives (e.g. serial_init) and library subroutines # (pdv_serial_command), # NOT binary ones (serial_binit, pdv_serial_binary_command). To specify no # serial terminator, call serial_term with an empty list <> # #serial_term: <0d> # Shutter timing method: # set to AIA_SERIAL (or leave out) for freerun cameras # set to AIA_TRIG for triggered # set to AIA_MCL for pulse-width triggered -- that is, the duration of the # TRUE pulse determines the exposure time, range 1-25500 milliseconds # set to AIA_MCL_100US for pulse-width with a range of 1-25500 microseconds # # Related directives are shutter_speed_min/max and serial_exposure directives # -- see the camera configuration guide. # #method_camera_shutter_timing: AIA_SERIAL #method_camera_shutter_timing: AIA_TRIG #method_camera_shutter_timing: AIA_MCL #method_camera_shutter_timing: AIA_MCL_100US # Mode Control register (hex) # Hex value -- the left-most nibble determines which CC line is toggled for # the EXPOSE pulse (if method_camera_shutter_timing is other than AIA_SERIAL). # The right-most nibble determines which of the CC lines are held permanently # high or low. Typically this is set automatically by merthod_camera_timing # (to 10 hex for triggered and MCL modes, 00 otherwise). However if your # camera needs it set otherwise, use this directive to do so. # # MODE_CNTL_NORM: 10 # DVFOX fiber-optic boards with RCX C-Link defaults to 24-bit packing across the # fiber. For most cameras that's optimal, however for 10-16 bit cameras with pixel # clock rates above 40 and up to 60Mhz, OR serial rates > 19.2kbaud, we need to # use 16 bit mode. Un-commenting this directive will do that if you're using a # FOX board. If you're using a non-fiber board such as the PCI DV C-Link or # PCIe8 DV C-link, this flag is ignored. # #mode16: 1 # Region of Interest start and area (decimal) # vskip/hskip is how many pixels to skip before ROI, vert and horiz # vactv/hactv is how many pixels to DMA to memory after skip, vert and horiz # if full frame is desired, you can leave these commented out or make them the # same as the camera width/height. hskip/hactv can also be used to trim columns # for cameras that output non-4-byte-aligned data to multiple of 4 bytes (in # width) to ensure proper operation of windows applications that depend on # 4-byte alignment, e.g. pdvshow # #hskip: 0 #hactv: 1024 #vskip: 0 #vactv: 1024 # BAYER DECODING # # turns on library interlace/reorder method # BGGR enables bayer decoding 8 bits; use BBGR_WORD for 10-12 bits # method_interlace: BGGR # depending on bayer filter on the sensor, these directives may need to # be played with (switch 0 to 1 or vice versa on one or the other) to # get the bayer algorithm to match the output of the sensor and make # the colors come out right # kbs_red_row_first: 0 kbs_green_pixel_first: 1
Need a custom hardware solution?
EDT engineers work directly with customers to design, prototype, and deliver custom computing hardware for mission-critical applications.