EBST_CAM
Loading...
Searching...
No Matches
camera_settings Struct Reference

Individual settings for each PCIe board. More...

#include <struct.h>

Public Attributes

uint32_t use_software_polling
 
uint32_t sti_mode
 
uint32_t bti_mode
 
uint32_t stime
 
uint32_t btime
 
uint32_t sdat_in_10ns
 
uint32_t bdat_in_10ns
 
uint32_t sslope
 
uint32_t bslope
 
uint32_t xckdelay_in_10ns
 
uint32_t sec_in_10ns
 
uint32_t trigger_mode_integrator
 
uint32_t sensor_type
 
uint32_t camera_system
 
uint32_t camcnt
 
uint32_t pixel
 
uint32_t is_fft_legacy
 
uint32_t led_off
 
uint32_t sensor_gain
 
uint32_t adc_gain
 
uint32_t temp_level
 
uint32_t bticnt
 
uint32_t gpx_offset
 
uint32_t fft_lines
 
uint32_t vfreq
 
uint32_t fft_mode
 
uint32_t lines_binning
 
uint32_t number_of_regions
 
uint32_t s1s2_read_delay_in_10ns
 
uint32_t region_size [MAX_NUMBER_OF_REGIONS]
 
uint32_t dac_output [MAXCAMCNT][DACCOUNT]
 
uint32_t tor
 
uint32_t adc_mode
 
uint32_t adc_custom_pattern
 
uint32_t bec_in_10ns
 
uint32_t channel_select
 
uint32_t ioctrl_impact_start_pixel
 
uint32_t ioctrl_output_width_in_5ns [IOCTRL_OUTPUT_COUNT]
 
uint32_t ioctrl_output_delay_in_5ns [IOCTRL_OUTPUT_COUNT]
 
uint32_t ioctrl_T0_period_in_10ns
 
uint32_t dma_buffer_size_in_scans
 
uint32_t tocnt
 
uint32_t sticnt
 
uint32_t sensor_reset_or_hsir_ec
 
uint32_t write_to_disc
 
char file_path [file_path_size]
 
uint32_t shift_s1s2_to_next_scan
 
uint32_t is_cooled_camera_legacy_mode
 
uint32_t monitor
 
uint32_t manipulate_data_mode
 
double manipulate_data_custom_factor
 
uint32_t ec_legacy_mode
 
uint32_t timer_resolution_mode
 

Detailed Description

Individual settings for each PCIe board.

Member Data Documentation

◆ adc_custom_pattern

uint32_t camera_settings::adc_custom_pattern

Adc custom pattern is the constant output value of all 8 ADC channels if camera_settings::adc_mode is set to adc_mode_t::custom_pattern. This is a 14 bit unsigned integer.

  • min: 0
  • step: 1
  • max: 16383

◆ adc_gain

uint32_t camera_settings::adc_gain

ADC gain is controlling the gain function of the ADC in 3030 high speed cameras. ADC gain is a 8 bit unsigned integer. Further information about adc_gain can be found in the manual in chapter 3.4.2.1.

  • min: 0
  • step: 1
  • default: 6
  • max: 12

◆ adc_mode

uint32_t camera_settings::adc_mode

ADC mode controls the operating mode of the ADC. This option is intended for debugging purpose and only available for specific ADCs, e.g. in camera system 3030. See enum adc_mode_t in enum_settings.h for options.

◆ bdat_in_10ns

uint32_t camera_settings::bdat_in_10ns

Block delay after trigger in 10 ns steps. This is the delay between the trigger starting a block, which is determined by bti_mode and the actual start of the block. BDAT is a 31 bit unsigned integer. Further information about bdat can be found in the manual in chapter 2.9.2 and 6.2.6.2.

  • disable: 0
  • min: 1 * 10 ns = 10 ns
  • step: 10 ns
  • max: 2,147,483,647 * 10 ns = 21,474,836,470 ns = 21.474836470 s

◆ bec_in_10ns

uint32_t camera_settings::bec_in_10ns

Block exposure control in 10 ns steps adds a delay time between the block trigger and the start start of the block. Mechanical shutters can be controlled with this setting. The BEC time is added between the end of BDAT and the start of the block. BEC is a 32 bit unsigned integer. Further information about BEC can be found in the manual in chapter 4.9.1 and 6.2.6.3.

  • disable: 0
  • min: 1 * 10 ns = 10 ns
  • step: 10 ns
  • max: 4,294,967,295 * 10 ns = 42,949,672,950 ns

◆ bslope

uint32_t camera_settings::bslope

Block trigger slope determines whether positive, negative or both slopes of a trigger are used. See enum bslope_t in enum_settings.h for options. This only applies to external triggers.

◆ bti_mode

uint32_t camera_settings::bti_mode

Block trigger input mode determines the signal, on which one block of readouts is started. See enum bti_mode_t in enum_settings.h for options. Further information on trigger signals can be found in the manual in chapter 6.3.

◆ bticnt

uint32_t camera_settings::bticnt

Block trigger input counter determines how many block trigger inputs are skipped before the next block start is triggered. Every bticnt+1 trigger input the next block is triggered according to camera_settings::bti_mode. bticnt is a 7 bit unsigned integer. Introduced in PCIe board version 222.12.

  • min: 0
  • step: 1
  • max: 127

◆ btime

uint32_t camera_settings::btime

Block time is the time between the start of two blocks of readouts. This time is used when camera_settings::bti_mode is set to bti_mode_t::bti_BTimer. The resolution of this timer depends on the setting camera_settings::timer_resolution_mode. Btime is a 28 bit unsigned integer. Further information about the timer can be found in the manual in chapter 6.4.4.

◆ camcnt

uint32_t camera_settings::camcnt

Camcnt is the number of cameras which are connected to one PCIe board. This could be multiple cameras connected via a chain to one PCIe board or multiple channel on one camera control box. 0 is a valid input for operating a PCIe card without any camera connected and only use its special inputs. Camcnt is a 4 bit unsigned integer.

  • Min: 0
  • Max: 15

◆ camera_system

uint32_t camera_settings::camera_system

Camera system should match the model number of your camera. See enum camera_system_t in enum_settings.h for options.

◆ channel_select

uint32_t camera_settings::channel_select

Channel select controls which channel of a camera control box is used for the camera readout. This feature is implemented in the camera version P230_6 and newer. See enum channel_select_t in enum_settings.h for options.

◆ dac_output

uint32_t camera_settings::dac_output[MAXCAMCNT][DACCOUNT]

Array for output levels of each digital to analog converter

◆ dma_buffer_size_in_scans

uint32_t camera_settings::dma_buffer_size_in_scans

Size of the DMA buffer in scans. The default is 1000. This setting controls how often the interrupt is triggered to copy data from the DMA buffer to the user buffer. This setting only has an effect when camera_settings::use_software_polling is turned off. A lower number means more interrupts in a shorter time and so more recent data available. Which data is available is indicated by DLLGetCurrentScanNumber. Too many interrupts in a too short time can lead to errors. 60 is working with high speed (exposure time = 0,02ms). When this setting is 30, there could a wrong scan every 10000 scans.

◆ ec_legacy_mode

uint32_t camera_settings::ec_legacy_mode

ec_legacy_mode is a special mode for operating older high speed cameras, camera system 3030. The following camera versions need to be run in legacy mode:

  • 209.12 and older
  • = 0 off
  • > 0 ec legacy mode on

◆ fft_lines

uint32_t camera_settings::fft_lines

fft_lines is the count of vertical lines for FFT sensors. This setting should match your sensor. You can find this information in the manual. fft_lines is a 12 bit unsigned integer. Further information about FFT sensors can be found in the manual in chapters 1.4 and 11.3.3.

  • min: 1
  • step: 1
  • default: 64
  • max: 4095

◆ fft_mode

uint32_t camera_settings::fft_mode

fft_mode controls the operating mode for FFT sensors. The vertical lines of a FFT sensor can either be summed up, read separately or summed up partially. See enum fft_mode_t in enum_settings.h for options. Further information about FFT modes can be found in the manual in chapter 4.5.1.

◆ file_path

char camera_settings::file_path[file_path_size]

File path is specifying the path where the measurement data is saved, when camera_settings::write_to_disc is activated. File path is a char array with the size 256, so the maximum path length is 256 characters.

  • example value: C:/Users/XY/

◆ gpx_offset

uint32_t camera_settings::gpx_offset

GPX offset is controlling the output offset of the TDC-GPX IC on the TDC add on board for the PCIe card. The TDC-GPX IC can be used to measure the time delay between one start and two stop signals in picosecond resolution. Adding an offset can improve the accuracy of the TDC-GPX IC. GPX offset is a 18 bit unsigned integer. Further information about gpx_offset can be found in the manual in chapter 10.2.

  • min: 0
  • step: 1
  • default: 1000
  • max: 262,143

◆ ioctrl_impact_start_pixel

uint32_t camera_settings::ioctrl_impact_start_pixel

IOCTRL impact start pixel is the position in the pixel array where the information of voltage or integrator inputs are written. The number of these inputs can differ, so length of these additional information can differ, too. The setting specifies the first pixel where the information is written, so the information can be read from this one and the following pixels. IOCTRL impact start pixel is a 16 bit unsigned integer. Further information about IOCTRL impact start pixel can be found in the manual in chapter 7.3.

  • min: 23
  • step: 1
  • default: 1078
  • max: 65535

◆ ioctrl_output_delay_in_5ns

uint32_t camera_settings::ioctrl_output_delay_in_5ns[IOCTRL_OUTPUT_COUNT]

This is an array, which sets the delay of the IOCTRL outputs in 5ns steps.

◆ ioctrl_output_width_in_5ns

uint32_t camera_settings::ioctrl_output_width_in_5ns[IOCTRL_OUTPUT_COUNT]

This is an array, which sets the width of the IOCTRL outputs in 5ns steps.

◆ ioctrl_T0_period_in_10ns

uint32_t camera_settings::ioctrl_T0_period_in_10ns

Determines the base frequency T0 of the IOCTRL pulse generator in 10ns steps.

◆ is_cooled_camera_legacy_mode

uint32_t camera_settings::is_cooled_camera_legacy_mode

Is cooled camera legacy is a special mode for operating older cooled cameras. If on, a bit in the PCIe board is set to react correctly to the cooled status messages from the camera. The following camera versions need to be run in legacy mode:

  • 208.X
  • 218.1 and older
  • =0 off
  • >0 cooled camera legacy mode on

◆ is_fft_legacy

uint32_t camera_settings::is_fft_legacy

Is fft legacy is a special legacy mode for operation with older FFT cameras. For the following camera versions fft legacy should be turned on:

  • 205.X
  • 215.6 and older
  • 208.X
  • 218.3 and older
  • 210.X
  • 211.2 and older
  • 206.X
  • 216.X If the PCIe card version is 222.8 or older or 202.X, fft legacy should always be turned on, if you are using a FFT sensor. FFT legacy is available since 222.10.
  • =0: off (default)
  • >0: fft legacy mode on

◆ led_off

uint32_t camera_settings::led_off

LED off turns the LEDs in the camera off.

  • =0 LED on
  • >0 LED off

◆ lines_binning

uint32_t camera_settings::lines_binning

DEPRECATED lines_binning is the count of lines which are summed up in area mode for FFT sensors. When this is 1, every line is read out separately. When it is 2, every two lines are summed up in the sensor and read out as one line, so the count of samples for a complete readout gets divided by two. The same applies for higher values. lines_binning is a 12 bit unsigned integer. Further information about the area mode can be found in the manual in chapter 4.5.1.2.

  • min: 1
  • step: 1
  • default: 1
  • max: 4095

◆ manipulate_data_custom_factor

double camera_settings::manipulate_data_custom_factor

manipulate_data_custom_factor is used when camera_settings::manipulate_data_mode is set to manipulate_data_mode_t::manipulate_data_mode_custom_factor. This factor is multiplied with the data of each pixel.

◆ manipulate_data_mode

uint32_t camera_settings::manipulate_data_mode

With manipulate_data_mode you can activate / deactivate a built in data manipulation during the measurement. This is potentially used to linearize the sensor data for specific sensors. See manipulate_data_mode_t in enum_settings.h for options.

◆ monitor

uint32_t camera_settings::monitor

monitor is the output mode for the monitor output of the camera. See enum monitor_t in enum_settings.h for options. Further information about monitor can be found in the manual in chapter 3.3.1.

◆ number_of_regions

uint32_t camera_settings::number_of_regions

number_of_regions determines in how many regions the sensor gets divided when camera_settings::fft_mode is set to fft_mode_t::partial_binning. Setting it to 1 would equal the area mode, so the minimum is 2. The size of each region is determined by camera_settings::region_size. Unused regions must be set to 0. Further information about the range of interest mode can be found in the manual in chapter 4.5.1.3.

  • min: 2
  • step: 1
  • max: 5

◆ pixel

uint32_t camera_settings::pixel

Pixel is the number of pixels in one sensor. Only 64*n are allowed. Pixel is a 16 bit unsigned integer. Typical values are: 576, 1024, 1088, 2112.

  • min: 64
  • step: 64
  • max: 8256

◆ region_size

uint32_t camera_settings::region_size[MAX_NUMBER_OF_REGIONS]

region_size is the size of each region for the region of interest mode for FFT sensors. The sum of all active regions, which is defined by number_of_regions, must equal fft_lines. Inactive regions must be set to 0. region_size is a 32 bit unsigned integer array with the size of 8 but only 8 bit of each element are used. Further information about the range of interest mode can be found in the manual in chapter 4.5.1.3. This is an example for a region_size setting with fft_lines = 70 and number_of_regions = 3. Using this example the sensor will be read out 3 times. The first and the third read out contain the summed up intensity of the upper and the lower 4 lines. The second read out contains the intensity of the summed up 64 lines in between.

  • regions_size[0] = 4
  • regions_size[1] = 64
  • regions_size[2] = 4
  • regions_size[3] = 0
  • regions_size[4] = 0

◆ s1s2_read_delay_in_10ns

uint32_t camera_settings::s1s2_read_delay_in_10ns

S1 S2 read delay in 10 ns controls the delay between the trigger and the moment, when the status of the S1 and S2 inputs are read. When the delay exceeds XCK, S1 and S2 are never read. S1 S2 read delay is a 32 bit unsigned integer. Further information information about S1 S2 read delay can be found in the manual in chapter 6.2.5.13.

  • min: 0 ns
  • step: 10 ns
  • max: 4,294,967,295 * 10 ns = 42,949,672,950 ns

◆ sdat_in_10ns

uint32_t camera_settings::sdat_in_10ns

Scan delay after trigger in 10 ns steps is the delay time between the trigger starting a scan, which is determined by sti_mode and the actual start of the scan. SDAT is a 31 bit unsigned integer. Further information about sdat can be found in the manual in chapter 2.9.2 and 6.2.4.10.

  • disable: 0
  • min: 1 * 10 ns = 10 ns
  • step: 10 ns
  • max: 2,147,483,647 * 10 ns = 21,474,836,470 ns = 21.474836470 s

◆ sec_in_10ns

uint32_t camera_settings::sec_in_10ns

Scan exposure control in 10 ns steps adds a delay time between the trigger and the start of the camera read out (start of XCK). Some sensors use this time for a electronic exposure control. Also mechanical shutters can be controlled with this setting. The SEC time is added between the end of SDAT and the start of the camera read out. SEC is a 32 bit unsigned integer. Further information about SEC can be found in the manual in chapter 4.9.1 and 6.2.4.11.

  • disable: 0
  • min: 1 * 10 ns = 10 ns
  • step: 10 ns
  • max: 4,294,967,295 * 10 ns = 42,949,672,950 ns

◆ sensor_gain

uint32_t camera_settings::sensor_gain

Sensor gain is controlling the internal gain function of some infrared sensors. For the some sensors gain can be switched on or off, others sensor got multiple levels of gain. Further information about sensor gain can be found in the manual in chapters 3.3.1, 3.4.1.1, 4.5.2, 8.4.4, 8.7.3.

  • camera system 3001/3010:
    • gain off: 0
    • gain on: 1
  • camera system 3030:
    • gain off: 0
    • step: 1
    • max gain: 3

◆ sensor_reset_or_hsir_ec

uint32_t camera_settings::sensor_reset_or_hsir_ec

sensor_reset_or_hsir_ec either controls the length of the reset pulse between two camera readouts or the exposure time of the high speed infrared sensor. The purpose of this setting depends on camera_settings::sensor_type. sensor_reset_or_hsir_ec is a 16 bit unsigned integer.

Sensor reset for HSVIS: This reset can be used, to completely clear the sensor. Further information about sensor reset can be found in the manual in chapter 4.9.2.

  • min: 0 ns
  • step: 1 * 4 ns = 4 ns
  • default: 100 * 4 ns = 400 ns
  • max: 65535 * 4 ns = 262,140 ns

Exposure control for HSIR: When sensor_type is HSIR this setting controls the exposure time of the sensor. The exposure time cannot be shorter than the minimum. If the value is smaller than the minimum the exposure time will be the minumum. If the value exceeds the repetition rate of the measurement, there will be samples with a zero line.

  • min: 134 * 160 ns = 21,440 ns
  • step: 1 * 160 ns = 160 ns
  • default: 140 * 160 ns = 22,400 ns
  • max: 65535 * 160 ns = 10,485,600 ns

◆ sensor_type

uint32_t camera_settings::sensor_type

Sensor type should match the sensor type of your camera. See enum sensor_type_t in enum_settings.h for options.

◆ shift_s1s2_to_next_scan

uint32_t camera_settings::shift_s1s2_to_next_scan

When shift S1S2 to next scan is on, the input states of S1 and S2, which are sampled in scan n, are displayed in pixel 2 in scan n+1. This option is useful for the sensor type HSIR, because this camera displays the data sampled at trigger n in scan n+1. To match the actual states of S1 and S2 to the sensor data activate this option. This feature is supported since PCIe board version P222_17.

  • =0: off
  • =1: on

◆ sslope

uint32_t camera_settings::sslope

Scan trigger slope determines whether positive, negative or both slopes of a trigger are used. See enum sslope_t in enum_settings.h for options. This only applies to external triggers.

◆ sti_mode

uint32_t camera_settings::sti_mode

Scan trigger input mode determines the signal, on which one readout is started. See enum sti_mode_t in enum_settings.h for options. Further information on trigger signals can be found in the manual in chapter 6.3.

◆ sticnt

uint32_t camera_settings::sticnt

Scan trigger input counter determines how many scan trigger inputs are skipped before the next measurement is triggered. Every sticnt+1 trigger input the measurement is triggered according to camera_settings::sti_mode. sticnt is a 7 bit unsigned integer. Further information about sticnt can be found in the manual in chapter 6.2.4.12.

  • min: 0
  • step: 1
  • max: 127

◆ stime

uint32_t camera_settings::stime

Stime is the time between the start of two readouts. This time is used when camera_settings::sti_mode is set to sti_mode_t::sti_STimer. The resolution of this timer depends on the setting camera_settings::timer_resolution_mode. Stime is a 28 bit unsigned integer. Further information about the timer can be found in the manual in chapter 6.4.4.

◆ temp_level

uint32_t camera_settings::temp_level

Temperature level is controlling the target temperature for the temperature regulation in cooled cameras. The cooling is done by a Peltier element which can generate a temperature difference of 40 °C. That means the target temperature can only be reached, if the ambient temperature is not higher than target + 40 °C. The regulation is optimized for -20 °C to 0 °C. The precision is 1 K at these levels. On other levels the error can rise up to 10 K. If the target temperature is reached, the LED TG (Temperature Good) will light up green. temp_level is a 3 bit unsigned integer. Further information about temp_level can be found in the manual in chapter 3.5.

  • 0: cooling off
  • 1: 0 °C
  • 2: -10 °C
  • 3: -20 °C
  • 4: -25 °C
  • 5: -30 °C
  • 6: -40 °C
  • 7: min °C

◆ timer_resolution_mode

uint32_t camera_settings::timer_resolution_mode

timer_resolution_mode determines the resolution of the timer controlled by camera_settings::stime and camera_settings::btime. See timer_resolution_t in enum_settings.h for options.

◆ tocnt

uint32_t camera_settings::tocnt

Trigger output counter determines how many XCK are skipped until the output TO_CNT_OUT shows the XCK signal. Use tor_out_t::tor_to_cnt_out for the setting camera_settings::tor to see TO_CNT_OUT at the output of the PCIe board. Example: tocnt = 2 => skip every first and second XCK, show XCK on the PCIe output on every third XCK. tocnt is a 7 bit unsigned integer. Further information about tocnt can be found in the manual in chapter 6.2.4.12.

  • min: 0 (TO_CNT_OUT = XCK)
  • step: 1
  • max: 127

◆ tor

uint32_t camera_settings::tor

Output mode for PCIe board output pin. See enum tor_out_t in enum_settings.h for options. Further information about tor can be found in the manual in chapter 6.2.4.12.

◆ trigger_mode_integrator

uint32_t camera_settings::trigger_mode_integrator

Trigger mode of the integrator in the camera control box. See enum trigger_mode_t in enum_settings.h for options. Further information about the trigger modes can found in the manual in chapter 7.3.7.

◆ use_software_polling

uint32_t camera_settings::use_software_polling

use_software_polling determines which method is used to copy data from DMA to user buffer.

  • >0: Use software polling. When there is new available data in the DMA buffer, a thread copies the data one scan at a time to the user buffer. Since the PCIe card firmware version P222_2 this method is reliable up to about 100kHz. It generates as expected a higher CPU load than the interrupt method. With this option you can get more recent scans from DLLGetCurrentScanNumber, especially at lower frequencies.
  • =0: Use interrupt. Every camera_settings::dma_buffer_size_in_scans /2 scan the interrupt starts a copy process, which copies dma_buffer_size_in_scans/2 scans to the user buffer. 1000 is our default value for camera_settings::dma_buffer_size_in_scans, so the interrupt is triggered every 500 scans.

Further information about software polling can be found in the manual in chapter 5.4.8.

◆ vfreq

uint32_t camera_settings::vfreq

vfreq controls the vertical clock frequency for FFT sensors. Different sensors are capable of different vertical clock speeds, so this setting should match your sensor. You can find this information in the manual. vfreq is the period of the vertical clock, so a higher vfreq means a lower frequency. vfreq is 8 bit unsigned integer. Further information about vfreq and FFT sensors can be found in the manual in chapters 1.4, 3.3.5 and 11.3.3.

  • min: 1 * 256 ns = 256 ns => 3.9 MHz
  • step: 1 * 256 ns = 256 ns
  • max: 255 * 256 ns = 65,280 ns => 15.3 kHz

◆ write_to_disc

uint32_t camera_settings::write_to_disc

Write to disc is an experimental feature for writing the measurement data on the fly to the disc. The data format is binary. It is the same data layout as the data is stored in RAM during the measurement. Additionally there is a file header at the beginning of the file. The path to the target file is given by camera_settings::file_path. This feature is only available on Windows. In most cases the resulting file should be correct, but data layout errors has been observed. This is the reason why the feature is marked as experimental.

  • =0: Don't write measurement data to disc.
  • >0: Write measurement data to disc.

◆ xckdelay_in_10ns

uint32_t camera_settings::xckdelay_in_10ns

LEGACY XCK delay in 10 ns steps was the time between the high slope of XCK and the actual start of the camera read out. This is done by delaying VON relative to XCK. Since P222_09 cameras are not designed to interact with the VON signal anymore. For the following camera versions xckdelay can be used:

  • 205.X
  • 215.6 and older
  • 206.X
  • 216.X For newer camera versions VCLKs are generated inside the camera and the delay between integrator and XCK can be achieved by using the analog delay of the camera control. Further information about xckdelay can be found in the manual in chapter 6.2.5.12. 31 bit. xckdelay = 500ns + xckdelay_in_10ns * 10ns
  • disable: 0
  • min 1: 500 ns + 1 * 10ns = 510 ns
  • max 2,147,483,647: 500 ns + 2,147,483,647 * 10 ns = 21,474,836,970 ns = 21.474836970 s

The documentation for this struct was generated from the following file: