EBST_CAM
|
Library ESLSCDLL for operating Stresing cameras. More...
Functions | |
BOOL WINAPI | DLLMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) |
DllMain entry point. | |
DllAccess es_status_codes | DLLInitDriver (uint8_t *_number_of_boards) |
Initialize the driver. | |
DllAccess void | DLLInitSettingsStruct (struct measurement_settings *ms) |
Use this function to properly initialize the struct measurement_settings to its default values. | |
DllAccess es_status_codes | DLLInitMeasurement (struct measurement_settings settings) |
Initialize measurement (using board select). | |
DllAccess es_status_codes | DLLInitMeasurement_matlab (struct measurement_settings_matlab measurement_s, struct camera_settings camera_s0, struct camera_settings camera_s1, struct camera_settings camera_s2, struct camera_settings camera_s3, struct camera_settings camera_s4) |
Initialize measurement with Matlab compatible parameters. | |
DllAccess es_status_codes | DLLStartMeasurement_blocking () |
This function is starting the measurement and returns when the measurement is done. | |
unsigned __stdcall | StartMeasurementThread (void *param) |
Internal use only. | |
DllAccess void | DLLStartMeasurement_nonblocking () |
This function is starting the measurement and returns immediately. | |
DllAccess es_status_codes | DLLAbortMeasurement () |
Sets abortMeasurementFlag to true. | |
DllAccess es_status_codes | DLLCopyOneSample (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera, uint16_t *pdest) |
Copy the data of a single sample to pdest. | |
DllAccess es_status_codes | DLLCopyOneSample_multipleBoards (uint32_t sample, uint32_t block, uint16_t camera, uint16_t *pdest0, uint16_t *pdest1, uint16_t *pdest2, uint16_t *pdest3, uint16_t *pdest4) |
Get data of a single measurement for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLCopyAllData (uint32_t drvno, uint16_t *pdest) |
Copy the data of the complete measurement to pdest. | |
DllAccess es_status_codes | DLLCopyAllData_multipleBoards (uint16_t *pdest0, uint16_t *pdest1, uint16_t *pdest2, uint16_t *pdest3, uint16_t *pdest4) |
Copies all pixel data to pdest for all used boards set in settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLCopyOneBlock (uint32_t drvno, uint16_t block, uint16_t *pdest) |
Copy the data of a single block to pdest. | |
DllAccess es_status_codes | DLLCopyDataArbitrary (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera, uint32_t pixel, uint32_t length_in_pixel, uint16_t *pdest) |
Copy the data of a custom length to pdest. | |
DllAccess es_status_codes | DLLGetOneSamplePointer (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera, uint16_t **pdest, size_t *bytes_to_end_of_buffer) |
Returns the address of a specific sample. | |
DllAccess es_status_codes | DLLGetOneBlockPointer (uint32_t drvno, uint32_t block, uint16_t **pdest, size_t *bytes_to_end_of_buffer) |
Returns the address of a specific block. | |
DllAccess es_status_codes | DLLGetPixelPointer (uint32_t drvno, uint16_t pixel, uint32_t sample, uint32_t block, uint16_t camera, uint16_t **pdest, size_t *bytes_to_end_of_buffer) |
Returns the address of a specific pixel. | |
DllAccess es_status_codes | DLLCopyOneBlock_multipleBoards (uint16_t block, uint16_t *pdest0, uint16_t *pdest1, uint16_t *pdest2, uint16_t *pdest3, uint16_t *pdest4) |
Copies one block of pixel data of all used boards selected by settings parameter measurement_settings::board_sel to pdest. | |
DllAccess es_status_codes | DLLCopyOneBlockOfOneCamera (uint32_t drvno, uint32_t block, uint16_t camera, uint16_t *pdest) |
Copy the data of one block of one camera to pdest. | |
DllAccess es_status_codes | DLLCopyOneBlockOfOneCamera_multipleBoards (uint32_t block, uint16_t camera, uint16_t *pdest0, uint16_t *pdest1, uint16_t *pdest2, uint16_t *pdest3, uint16_t *pdest4) |
Copy the data of one block of one camera of all used boards selected by settings parameter measurement_settings::board_sel to pdest. | |
DllAccess es_status_codes | DLLGetAllDataPointer (uint32_t drvno, uint16_t **pdest, size_t *bytes_to_end_of_buffer) |
Returns the address of the data buffer. | |
DllAccess es_status_codes | DLLExitDriver () |
Exit driver. Call this before exiting software for cleanup. | |
DllAccess int | DLLGetProcessCount () |
Function for multithreading. | |
DllAccess int | DLLGetThreadCount () |
Function for multithreading. | |
DllAccess es_status_codes | DLLreadRegisterS0_8 (uint32_t drvno, uint8_t *data, uint32_t address) |
Read 1 byte of a register in S0 space. | |
DllAccess es_status_codes | DLLreadRegisterS0_8_multipleBoards (uint8_t *data0, uint8_t *data1, uint8_t *data2, uint8_t *data3, uint8_t *data4, uint32_t address) |
Read 1 byte of a register in S0 space of all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLwriteRegisterS0_8 (uint8_t data, uint32_t address) |
Write the same 1 byte to a register in S0 space of all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLreadRegisterS0_32 (uint32_t drvno, uint32_t *data, uint32_t address) |
Read 4 bytes of a register in S0 space. | |
DllAccess es_status_codes | DLLreadRegisterS0_32_multipleBoards (uint32_t *data0, uint32_t *data1, uint32_t *data2, uint32_t *data3, uint32_t *data4, uint32_t address) |
Read 4 bytes of a register in S0 space of all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLwriteRegisterS0_32 (uint32_t data, uint32_t address) |
Write 4 bytes of a register in S0 space for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLReadScanFrequencyBit (uint32_t drvno, uint8_t *scanFrequencyTooHigh) |
Reads the ScanFrequency bit and checks if its high or low. | |
DllAccess es_status_codes | DLLReadScanFrequencyBit_multipleBoards (uint8_t *scanFrequencyTooHigh0, uint8_t *scanFrequencyTooHigh1, uint8_t *scanFrequencyTooHigh2, uint8_t *scanFrequencyTooHigh3, uint8_t *scanFrequencyTooHigh4) |
Reads the ScanFrequency bit and checks if its high or low for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLResetScanFrequencyBit (uint32_t drvno) |
Resets the ScanFrequency bit. | |
DllAccess es_status_codes | DLLResetScanFrequencyBit_multipleBoards () |
Resets the ScanFrequency bit. | |
DllAccess es_status_codes | DLLReadBlockFrequencyBit (uint32_t drvno, uint8_t *blockFrequencyTooHigh) |
Reads the BlockFrequency bit and checks if its high or low. | |
DllAccess es_status_codes | DLLReadBlockFrequencyBit_multipleBoards (uint8_t *blockFrequencyTooHigh0, uint8_t *blockFrequencyTooHigh1, uint8_t *blockFrequencyTooHigh2, uint8_t *blockFrequencyTooHigh3, uint8_t *blockFrequencyTooHigh4) |
Reads the ScanFrequency bit and checks if its high or low for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLResetBlockFrequencyBit (uint32_t drvno) |
Resets the BlockFrequency bit. | |
DllAccess es_status_codes | DLLResetBlockFrequencyBit_multipleBoards () |
Resets the BlockFrequency bit. | |
DllAccess es_status_codes | DLLGetCameraStatusOverTemp (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t *overTemp) |
This function returns the bit overTemp of a specific scan. | |
DllAccess es_status_codes | DLLGetBlockIndex (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint32_t *blockIndex) |
This function returns the block index of a specific scan. | |
DllAccess es_status_codes | DLLGetScanIndex (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint32_t *scanIndex) |
This function returns the scan index of a specific scan. | |
DllAccess es_status_codes | DLLGetS1State (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t *state) |
This function returns the bit S1 state of a specific scan. | |
DllAccess es_status_codes | DLLGetS2State (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t *state) |
This function returns the bit S2 state of a specific scan. | |
DllAccess es_status_codes | DLLGetImpactSignal1 (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint32_t *impactSignal) |
This function returns the impact signal 1 of a specific scan. | |
DllAccess es_status_codes | DLLGetImpactSignal2 (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint32_t *impactSignal) |
This function returns the impact signal 2 of a specific scan. | |
DllAccess uint32_t | DLLGetVirtualCamcnt (uint32_t drvno) |
Get the variable virtualCamcnt. | |
DllAccess uint8_t | DLLGetTestModeOn () |
Get the variable testModeOn. | |
DllAccess es_status_codes | DLLGetCameraStatusOverTemp_multipleBoards (uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t *overTemp1, uint8_t *overTemp2, uint8_t *overTemp3, uint8_t *overTemp4, uint8_t *overTemp5) |
This function returns the bit overTemp of a specific scan. | |
DllAccess es_status_codes | DLLGetCameraStatusTempGood (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t *tempGood) |
This function returns the bit tempGood of a specific scan. | |
DllAccess es_status_codes | DLLGetCameraStatusTempGood_multipleBoards (uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t *tempGood1, uint8_t *tempGood2, uint8_t *tempGood3, uint8_t *tempGood4, uint8_t *tempGood5) |
This function returns the bit tempGood of a specific scan. | |
DllAccess es_status_codes | DLLFindCam (uint32_t drvno) |
Test if SFP module is there and fiber is linked up. | |
DllAccess es_status_codes | DLLFindCam_multipleBoards (uint8_t *cameraFound0, uint8_t *cameraFound1, uint8_t *cameraFound2, uint8_t *cameraFound3, uint8_t *cameraFound4) |
Test if SFP module is there and fiber is linked up. | |
DllAccess es_status_codes | DLLGetBlockOn (uint32_t drvno, uint8_t *blockOn) |
Get the block on bit from the PCIe flags register. | |
DllAccess es_status_codes | DLLGetBlockOn_multipleBoards (uint8_t *blockOn0, uint8_t *blockOn1, uint8_t *blockOn2, uint8_t *blockOn3, uint8_t *blockOn4) |
Get the block on bit from the PCIe flags register. | |
DllAccess es_status_codes | DLLDumpS0Registers (uint32_t drvno, char **stringPtr) |
Read all S0 registers and write them to a string in hex. | |
DllAccess es_status_codes | DLLDumpHumanReadableS0Registers (uint32_t drvno, char **stringPtr) |
Read all S0 registers and write them to a string in a human readable format. | |
DllAccess es_status_codes | DLLDumpDmaRegisters (uint32_t drvno, char **stringPtr) |
Read all DMA registers and write them to a string in hex. | |
DllAccess es_status_codes | DLLDumpTlpRegisters (uint32_t drvno, char **stringPtr) |
Read all TLP registers and write them to a string. | |
DllAccess es_status_codes | DLLDumpMeasurementSettings (char **stringPtr) |
Dump all measurement settings to a string. | |
DllAccess es_status_codes | DLLDumpCameraSettings (uint32_t drvno, char **stringPtr) |
Dump all camera settings to a string. | |
DllAccess es_status_codes | DLLDumpPciRegisters (uint32_t drvno, char **stringPtr) |
Read all PCIe registers and write them to a string. | |
DllAccess es_status_codes | DLLAboutDrv (uint32_t drvno, char **stringPtr) |
Return infos about the PCIe board. | |
DllAccess es_status_codes | DLLAboutGPX (uint32_t drvno, char **stringPtr) |
Reads registers 0 to 12 of TDC-GPX chip. Time delay counter option. | |
DllAccess void | DLLGetVerifiedDataDialog (struct verify_data_parameter *vd, char **resultString) |
Check the consistency of the file given in vd and return the results in resultString. | |
DllAccess uint8_t | DLLGetIsRunning () |
Get the variable isRunning. | |
DllAccess double | DLLCalcRamUsageInMB (uint32_t nos, uint32_t nob) |
Calculate needed RAM in MB for given nos and nob. | |
DllAccess double | DLLCalcMeasureTimeInSeconds (uint32_t nos, uint32_t nob, double exposure_time_in_ms) |
Calculate the theoretical time needed for one measurement. | |
DllAccess es_status_codes | DLLOutTrigHigh () |
Set trigger out(Reg CtrlA:D3) for all boards selected by settings parameter measurement_settings::board_sel. Can be used to control timing issues in software. | |
DllAccess es_status_codes | DLLOutTrigLow () |
Reset trigger out(Reg CtrlA:D3) for all boards selected by settings parameter measurement_settings::board_sel. Can be used to control timing issues in software. | |
DllAccess es_status_codes | DLLOutTrigPulse (int64_t pulseWidthInMicroseconds) |
Pulses trigger out(Reg CtrlA:D3) for all boards selected by setings parameter measurement_settings::board_sel. Can be used to control timing issues in software. | |
DllAccess es_status_codes | DLLOpenShutter (uint32_t drvno) |
Open shutter for sensors with EC (exposure control) / sets IFC signal = high. | |
DllAccess es_status_codes | DLLOpenShutter_multipleBoards () |
Open shutter for sensors with EC (exposure control) / sets IFC signal = high for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLCloseShutter (uint32_t drvno) |
Sets the IFC bit of interface for sensors with shutter function. IFC=low. | |
DllAccess es_status_codes | DLLCloseShutter_multipleBoards () |
Sets the IFC bit of interface for sensors with shutter function for all boards set by settings parameter measurement_settings::board_sel. IFC=low. | |
DllAccess es_status_codes | DLLsetBitS0_32 (uint32_t bitnumber, uint32_t address) |
Set bit to 1 in S0 register at memory address for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLresetBitS0_32 (uint32_t bitnumber, uint32_t address) |
Set bit to 0 in register at memory address for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLReadBitS0_32 (uint32_t drvno, uint32_t address, uint8_t bitnumber, uint8_t *isBitHigh) |
Read 1 bit of a 4 byte s0 register. | |
DllAccess es_status_codes | DLLReadBitS0_32_multipleBoards (uint32_t address, uint8_t bitnumber, uint8_t *isBitHigh0, uint8_t *isBitHigh1, uint8_t *isBitHigh2, uint8_t *isBitHigh3, uint8_t *isBitHigh4) |
Read 1 bit of a 4 bytes s0 register for all boards. | |
DllAccess es_status_codes | DLLReadBitS0_8 (uint32_t drvno, uint32_t address, uint8_t bitnumber, uint8_t *isBitHigh) |
Read 1 bit of 1 byte of a s0 register. | |
DllAccess es_status_codes | DLLReadBitS0_8_multipleBoards (uint32_t address, uint8_t bitnumber, uint8_t *isBitHigh0, uint8_t *isBitHigh1, uint8_t *isBitHigh2, uint8_t *isBitHigh3, uint8_t *isBitHigh4) |
Read 1 bit of 1 byte of a s0 register for all boards. | |
DllAccess es_status_codes | DLLSetTemp (uint8_t level) |
Set temperature level for cooled cameras for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLSetTORReg (uint32_t drvno, uint8_t tor) |
Set signal of output port of PCIe card. | |
DllAccess es_status_codes | DLLSetTORReg_multipleBoards (uint8_t tor) |
Set signal of output port of PCIe card for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLDAC8568_setAllOutputs (uint32_t drvno, uint8_t location, uint8_t cameraPosition, uint32_t *output, uint8_t reorder_channels) |
Sets all outputs of the DAC8568 in camera 3030 or on PCIe board. | |
DllAccess es_status_codes | DLLDAC8568_setAllOutputs_multipleBoards (uint8_t location, uint8_t cameraPosition, uint32_t *output0, uint32_t *output1, uint32_t *output2, uint32_t *output3, uint32_t *output4, uint8_t reorder_channels) |
Sets all outputs of the DAC8568 in camera 3030 or on PCIe board for all PCIe boards. | |
DllAccess void | DLLFreeMemInfo (uint64_t *pmemory_all, uint64_t *pmemory_free) |
Get the free and installed memory info. | |
DllAccess es_status_codes | DLLGetMeasureOn (uint32_t drvno, uint8_t *measureOn) |
Check if measure on bit is set. | |
DllAccess es_status_codes | DLLGetMeasureOn_multipleBoards (uint8_t *measureOn0, uint8_t *measureOn1, uint8_t *measureOn2, uint8_t *measureOn3, uint8_t *measureOn4) |
Check if measure on bit is set for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLWaitForMeasureDone () |
Returns when measure on bit is 0 in all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLWaitForBlockDone () |
Returns when block on bit is 0 in all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLSetSTimer (uint32_t drvno, uint32_t stime) |
Sets time for scan timer. | |
DllAccess es_status_codes | DLLSetBTimer (uint32_t drvno, uint32_t btime) |
Sets time for block timer. | |
DllAccess es_status_codes | DLLGetXckLength (uint32_t drvno, uint32_t *xckLengthIn10ns) |
Get the high time duration of XCK from the S0 register S0Addr_XCKLEN. | |
DllAccess es_status_codes | DLLGetXckPeriod (uint32_t drvno, uint32_t *xckPeriodIn10ns) |
Get pos edge to pos egde time of XCK time from the S0 register S0Addr_XCK_PERIOD. | |
DllAccess es_status_codes | DLLGetBonLength (uint32_t drvno, uint32_t *bonLengthIn10ns) |
Get the high time duration of BON from the S0 register S0Addr_BONLEN. | |
DllAccess es_status_codes | DLLGetBonPeriod (uint32_t drvno, uint32_t *bonPeriodIn10ns) |
Get the pos edge to pos edge time of BON from the S0 register S0Addr_BON_PERIOD. | |
DllAccess es_status_codes | DLLGetXckLength_multipleBoards (uint32_t *xckLengthIn10ns0, uint32_t *xckLengthIn10ns1, uint32_t *xckLengthIn10ns2, uint32_t *xckLengthIn10ns3, uint32_t *xckLengthIn10ns4) |
Get the high time duration of XCK from the S0 register S0Addr_XCKLEN. | |
DllAccess es_status_codes | DLLGetXckPeriod_multipleBoards (uint32_t *xckPeriodIn10ns0, uint32_t *xckPeriodIn10ns1, uint32_t *xckPeriodIn10ns2, uint32_t *xckPeriodIn10ns3, uint32_t *xckPeriodIn10ns4) |
Get pos edge to pos edge time of XCK time from the S0 register S0Addr_XCK_PERIOD. | |
DllAccess es_status_codes | DLLGetBonLength_multipleBoards (uint32_t *bonLengthIn10ns0, uint32_t *bonLengthIn10ns1, uint32_t *bonLengthIn10ns2, uint32_t *bonLengthIn10ns3, uint32_t *bonLengthIn10ns4) |
Get the high time duration of BON from the S0 register S0Addr_BONLEN. | |
DllAccess es_status_codes | DLLGetBonPeriod_multipleBoards (uint32_t *bonPeriodIn10ns0, uint32_t *bonPeriodIn10ns1, uint32_t *bonPeriodIn10ns2, uint32_t *bonPeriodIn10ns3, uint32_t *bonPeriodIn10ns4) |
Get the pos edge to pos edge time of BON from the S0 register S0Addr_BON_PERIOD. | |
DllAccess char * | DLLConvertErrorCodeToMsg (es_status_codes status) |
Converts a es_status_codes to a human readable error message. | |
DllAccess es_status_codes | DLLIOCtrl_setOutput (uint32_t drvno, uint32_t number, uint16_t width_in_5ns, uint16_t delay_in_5ns) |
Set paramters of one pulse output of IOCTRL. | |
DllAccess es_status_codes | DLLIOCtrl_setT0 (uint32_t drvno, uint32_t period_in_10ns) |
Set period of IOCtrl pulse outputs base frequency T0. | |
DllAccess es_status_codes | DLLIOCtrl_setT0_multipleBoards (uint32_t period_in_10ns) |
Set period of IOCtrl pulse outputs base frequency T0 for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLIOCtrl_setAllOutputs (uint32_t *width_in_5ns, uint32_t *delay_in_5ns) |
Set parameters of all pulses outputs of IOCTRL for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess void | DLLGetCurrentScanNumber (uint32_t drvno, int64_t *sample, int64_t *block) |
Gives scan and block number of the last scan written to userBuffer. | |
DllAccess void | DLLGetCurrentScanNumber_multipleBoards (int64_t *sample0, int64_t *block0, int64_t *sample1, int64_t *block1, int64_t *sample2, int64_t *block2, int64_t *sample3, int64_t *block3, int64_t *sample4, int64_t *block4) |
Gives scan and block number of the last scan written to userBuffer for all boards selected by settings paramter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLGetIsTdc (uint32_t drvno, uint8_t *isTdc) |
Read TDC flag in PCIEFLAGS register. | |
DllAccess es_status_codes | DLLGetIsTdc_multipleBoards (uint8_t *isTdc0, uint8_t *isTdc1, uint8_t *isTdc2, uint8_t *isTdc3, uint8_t *isTdc4) |
Read TDC flag in PCIEFLAGS register of all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLGetIsDsc (uint32_t drvno, uint8_t *isDsc) |
Read DSC flag in PCIEFLAGS register. | |
DllAccess es_status_codes | DLLGetIsDsc_multipleBoards (uint8_t *isDsc0, uint8_t *isDsc1, uint8_t *isDsc2, uint8_t *isDsc3, uint8_t *isDsc4) |
Read DSC flag in PCIEFLAGS register for all boards selected by settings parameter board sel. | |
DllAccess es_status_codes | DLLResetDSC (uint32_t drvno, uint8_t DSCNumber) |
reset Delay Stage Counter | |
DllAccess es_status_codes | DLLResetDSC_multipleBoards (uint8_t DSCNumber) |
reset Delay Stage Counter for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLSetDIRDSC (uint32_t drvno, uint8_t DSCNumber, uint8_t dir) |
set direction of Delay Stage Counter | |
DllAccess es_status_codes | DLLSetDIRDSC_multipleBoards (uint8_t DSCNumber, uint8_t dir) |
set direction of Delay Stage Counter for all boards selected by settings parameter measurement_settings::board_sel. | |
DllAccess es_status_codes | DLLGetDSC (uint32_t drvno, uint8_t DSCNumber, uint32_t *ADSC, uint32_t *LDSC) |
return all values of Delay Stage Counter | |
DllAccess es_status_codes | DLLGetDSC_multipleBoards (uint8_t DSCNumber, uint32_t *ADSC0, uint32_t *LDSC0, uint32_t *ADSC1, uint32_t *LDSC1, uint32_t *ADSC2, uint32_t *LDSC2, uint32_t *ADSC3, uint32_t *LDSC3, uint32_t *ADSC4, uint32_t *LDSC4) |
return all values of Delay Stage Counter for all boards selected by settings parameter measurement_settings::board_sel | |
DllAccess es_status_codes | DLLInitGPX (uint32_t delay) |
Initialize the TDC-GPX chip for all boards selected by settings parameter measurement_settings::board_sel. TDC: time delay counter option. | |
DllAccess void | DLLSetContinuousMeasurement (uint8_t on) |
Control looping the measurement. | |
DllAccess es_status_codes | DLLGetAllSpecialPixelInformation (uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, struct special_pixels *sp) |
This function returns the all special pixel information of a specific scan. | |
DllAccess es_status_codes | DLLGetAllSpecialPixelInformation_multipleBoards (uint32_t sample, uint32_t block, uint16_t camera_pos, struct special_pixels *sp0, struct special_pixels *sp1, struct special_pixels *sp2, struct special_pixels *sp3, struct special_pixels *sp4) |
This function returns the all special pixel information of a specific scan. | |
DllAccess void | DLLFillUserBufferWithDummyData () |
This function inserts data to user buffer for developing purpose. | |
DllAccess es_status_codes | DLLCalcTrms (uint32_t drvno, uint32_t firstSample, uint32_t lastSample, uint32_t TRMS_pixel, uint16_t CAMpos, double *mwf, double *trms) |
Calculate TRMS noise value of one pixel. | |
DllAccess es_status_codes | DLLCalcTrms_multipleBoards (uint32_t firstSample, uint32_t lastSample, uint32_t TRMS_pixel, uint16_t CAMpos, double *mwf0, double *trms0, double *mwf1, double *trms1, double *mwf2, double *trms2, double *mwf3, double *trms3, double *mwf4, double *trms4) |
Calculate TRMS noise value of one pixel for all used boards. | |
DllAccess void | DLLErrMsgBoxOn () |
Switch on error message boxes of our software. Default is On. | |
DllAccess void | DLLErrMsgBoxOff () |
Disable error message boxes, if not needed. | |
DllAccess void | DLLErrorMsg (char ErrMsg[20]) |
Display error message. If ErrMsgBoxOn is set. | |
DllAccess es_status_codes | DLLAbout () |
Display information about registers and settings in pop up windows. | |
DllAccess void | DLLStart2dViewer (uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos) |
Start 2d viewer. | |
DllAccess void | DLLShowNewBitmap (uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos) |
Update the displayed bitmap. | |
DllAccess void | DLLDeinit2dViewer () |
Call when closing 2d viewer or at least before opening a new 2d viewer. | |
DllAccess void | DLLSetGammaValue (uint16_t white, uint16_t black) |
Set gamma value. | |
DllAccess uint16_t | DLLGetGammaWhite () |
return gamma value white | |
DllAccess uint16_t | DLLGetGammaBlack () |
return gamma value black | |
DllAccess es_status_codes | DLLSaveMeasurementDataToFile (const char *filename) |
Export the measurement data to a file. | |
DllAccess es_status_codes | DLLImportMeasurementDataFromFile (const char *filename) |
TODO. missing documentation. | |
DllAccess es_status_codes | DLLGetScanTriggerDetected (uint32_t drvno, uint8_t *detected) |
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected. | |
DllAccess es_status_codes | DLLGetBlockTriggerDetected (uint32_t drvno, uint8_t *detected) |
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected. | |
DllAccess es_status_codes | DLLResetScanTriggerDetected (uint32_t drvno) |
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected to 0. | |
DllAccess es_status_codes | DLLResetBlockTriggerDetected (uint32_t drvno) |
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected to 0. | |
DllAccess es_status_codes | DLLGetScanTriggerDetected_multipleBoards (uint8_t *detected0, uint8_t *detected1, uint8_t *detected2, uint8_t *detected3, uint8_t *detected4) |
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected. | |
DllAccess es_status_codes | DLLGetBlockTriggerDetected_multipleBoards (uint8_t *detected0, uint8_t *detected1, uint8_t *detected2, uint8_t *detected3, uint8_t *detected4) |
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected. | |
DllAccess es_status_codes | DLLResetScanTriggerDetected_multipleBoards () |
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected. | |
DllAccess es_status_codes | DLLResetBlockTriggerDetected_multipleBoards () |
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected. | |
DllAccess es_status_codes | DLLDAC8568_setOutput (uint32_t drvno, uint8_t location, uint8_t cameraPosition, uint8_t channel, uint16_t output) |
Sets the output of the DAC8568 on PCB 2189-7. | |
DllAccess es_status_codes | DLLCheckFifoValid (uint32_t drvno, uint8_t *valid) |
Checks content of FIFO. | |
DllAccess es_status_codes | DLLCheckFifoOverflow (uint32_t drvno, uint8_t *overflow) |
Check ovl flag (overflow of FIFO). | |
DllAccess es_status_codes | DLLCheckFifoEmpty (uint32_t drvno, uint8_t *empty) |
Check empty flag (FIFO empty). | |
DllAccess es_status_codes | DLLCheckFifoFull (uint32_t drvno, uint8_t *full) |
Check full flag (FIFO full). | |
DllAccess void | DLLSetMeasureStartHook (void(*hook)()) |
Set a function which will be executed every time when a measurement starts. | |
DllAccess void | DLLSetMeasureDoneHook (void(*hook)()) |
Set a function which will be executed every time when a measurement ends. | |
DllAccess void | DLLSetBlockStartHook (void(*hook)()) |
Set a function which will be executed every time when a block starts. | |
DllAccess void | DLLSetBlockDoneHook (void(*hook)()) |
Set a function which will be executed every time when a block ends. | |
DllAccess void | DLLSetAllBlocksDoneHook (void(*hook)()) |
Set a function which will be executed every time when all blocks are done. | |
DllAccess es_status_codes | DLLSetGeneralOutput (uint32_t drvno, uint8_t output, uint8_t state) |
Control the general outputs of the PCIe card addition board. | |
DllAccess es_status_codes | DLLSetShutterStates (uint32_t drvno, uint16_t shutter_states) |
Sets all shutter states in one call. | |
Variables | |
int | nProcessCount = 0 |
Internal use only. | |
int | nThreadCount = 0 |
Internal use only. | |
Library ESLSCDLL for operating Stresing cameras.
The library ESLSCDLL can be compiled on Windows into ESLSCDLL.dll and on Linux into libESLSCDLL.so.
DllAccess es_status_codes DLLAbortMeasurement | ( | ) |
Sets abortMeasurementFlag to true.
Use this function if the measurement is running and you want to stop it.
DllAccess es_status_codes DLLAbout | ( | ) |
Display information about registers and settings in pop up windows.
DllAccess es_status_codes DLLAboutDrv | ( | uint32_t | drvno, |
char ** | stringPtr ) |
Return infos about the PCIe board.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | stringPtr | string with driver information is given back here |
DllAccess es_status_codes DLLAboutGPX | ( | uint32_t | drvno, |
char ** | stringPtr ) |
Reads registers 0 to 12 of TDC-GPX chip. Time delay counter option.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | stringPtr |
DllAccess double DLLCalcMeasureTimeInSeconds | ( | uint32_t | nos, |
uint32_t | nob, | ||
double | exposure_time_in_ms ) |
Calculate the theoretical time needed for one measurement.
nos * nob * exposure_time_in_ms / 1000
[in] | nos | number of samples |
[in] | nob | number of blocks |
[out] | exposure_time_in_ms | exposure time in ms |
DllAccess double DLLCalcRamUsageInMB | ( | uint32_t | nos, |
uint32_t | nob ) |
Calculate needed RAM in MB for given nos and nob.
[in] | nos | number of samples |
[in] | nob | number of blocks |
DllAccess es_status_codes DLLCalcTrms | ( | uint32_t | drvno, |
uint32_t | firstSample, | ||
uint32_t | lastSample, | ||
uint32_t | TRMS_pixel, | ||
uint16_t | CAMpos, | ||
double * | mwf, | ||
double * | trms ) |
Calculate TRMS noise value of one pixel.
Calculates RMS of TRMS_pixel in the range of samples from firstSample to lastSample. Only calculates RMS from one block.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | firstSample | start sample to calculate RMS. 0...(nos-2). Typical value: 10, to skip overexposed first samples |
[in] | lastSample | last sample to calculate RMS. firstSample+1...(nos-1). |
[in] | TRMS_pixel | pixel for calculating noise (0...(PIXEL-1)) |
[in] | CAMpos | index for camcount (0...(CAMCNT-1)) |
[out] | mwf | pointer for mean value |
[out] | trms | pointer for noise |
DllAccess es_status_codes DLLCalcTrms_multipleBoards | ( | uint32_t | firstSample, |
uint32_t | lastSample, | ||
uint32_t | TRMS_pixel, | ||
uint16_t | CAMpos, | ||
double * | mwf0, | ||
double * | trms0, | ||
double * | mwf1, | ||
double * | trms1, | ||
double * | mwf2, | ||
double * | trms2, | ||
double * | mwf3, | ||
double * | trms3, | ||
double * | mwf4, | ||
double * | trms4 ) |
Calculate TRMS noise value of one pixel for all used boards.
Calculates RMS of TRMS_pixel in the range of samples from firstSample to lastSample. Only calculates RMS from one block. Boards set by settings parameter measurement_settings::board_sel are used.
[in] | firstSample | start sample to calculate RMS. 0...(nos-2). Typical value: 10, to skip overexposed first samples |
[in] | lastSample | last sample to calculate RMS. firstSample+1...(nos-1). |
[in] | TRMS_pixel | pixel for calculating noise (0...(PIXEL-1)) |
[in] | CAMpos | index for camcount (0...(CAMCNT-1)) |
[out] | mwf0 | pointer for mean value for board 0 |
[out] | trms0 | pointer for noise for board 0 |
[out] | mwf1 | pointer for mean value for board 1 |
[out] | trms1 | pointer for noise for board 1 |
[out] | mwf2 | pointer for mean value for board 2 |
[out] | trms2 | pointer for noise for board 2 |
[out] | mwf3 | pointer for mean value for board 3 |
[out] | trms3 | pointer for noise for board 3 |
[out] | mwf4 | pointer for mean value for board 4 |
[out] | trms4 | pointer for noise for board 4 |
DllAccess es_status_codes DLLCheckFifoEmpty | ( | uint32_t | drvno, |
uint8_t * | empty ) |
Check empty flag (FIFO empty).
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | empty | TODO: missing doc |
DllAccess es_status_codes DLLCheckFifoFull | ( | uint32_t | drvno, |
uint8_t * | full ) |
Check full flag (FIFO full).
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | full | TODO missing doc |
DllAccess es_status_codes DLLCheckFifoOverflow | ( | uint32_t | drvno, |
uint8_t * | overflow ) |
Check ovl flag (overflow of FIFO).
If occurred stays active until a call of FFRS.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | overflow | Is true (not 0) if overflow occurred (linecounter>0). |
DllAccess es_status_codes DLLCheckFifoValid | ( | uint32_t | drvno, |
uint8_t * | valid ) |
Checks content of FIFO.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | valid | Is true (not 0) if FIFO keeps >= 1 complete lines (linecounter>0). |
DllAccess es_status_codes DLLCloseShutter | ( | uint32_t | drvno | ) |
Sets the IFC bit of interface for sensors with shutter function. IFC=low.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
DllAccess es_status_codes DLLCloseShutter_multipleBoards | ( | ) |
Sets the IFC bit of interface for sensors with shutter function for all boards set by settings parameter measurement_settings::board_sel. IFC=low.
DllAccess char * DLLConvertErrorCodeToMsg | ( | es_status_codes | status | ) |
Converts a es_status_codes to a human readable error message.
[in] | status | es_status_codes |
DllAccess es_status_codes DLLCopyAllData | ( | uint32_t | drvno, |
uint16_t * | pdest ) |
Copy the data of the complete measurement to pdest.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | pdest | Pointer where the data will be written to. Make sure that the size of the buffer is >= sizeof(uint16_t) * pixel * nos * camcnt * nob |
DllAccess es_status_codes DLLCopyAllData_multipleBoards | ( | uint16_t * | pdest0, |
uint16_t * | pdest1, | ||
uint16_t * | pdest2, | ||
uint16_t * | pdest3, | ||
uint16_t * | pdest4 ) |
Copies all pixel data to pdest for all used boards set in settings parameter measurement_settings::board_sel.
[out] | pdest0 | Address where data is written for board 0, should be a buffer with size: nos * nob * camcnt * pixel * sizeof( uint16_t ) |
[out] | pdest1 | Address where data is written for board 1, should be a buffer with size: nos * nob * camcnt * pixel * sizeof( uint16_t ) |
[out] | pdest2 | Address where data is written for board 2, should be a buffer with size: nos * nob * camcnt * pixel * sizeof( uint16_t ) |
[out] | pdest3 | Address where data is written for board 3, should be a buffer with size: nos * nob * camcnt * pixel * sizeof( uint16_t ) |
[out] | pdest4 | Address where data is written for board 4, should be a buffer with size: nos * nob * camcnt * pixel * sizeof( uint16_t ) |
DllAccess es_status_codes DLLCopyDataArbitrary | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera, | ||
uint32_t | pixel, | ||
uint32_t | length_in_pixel, | ||
uint16_t * | pdest ) |
Copy the data of a custom length to pdest.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number ( 0...(nos - 1) ) |
[in] | block | block number ( 0...(nob - 1) ) |
[in] | camera | camera number ( 0...(CAMCNT - 1) ) |
[in] | pixel | position in one scan (0...(PIXEL-1)) |
[in] | length_in_pixel | Number of pixels to copy. When length_in_pixel exceeds the end of the data buffer the function returns es_parameter_out_of_range. |
[out] | pdest | Pointer where the data will be written to. Make sure that the size of the buffer is >= sizeof(uint16_t) * length_in_pixel |
DllAccess es_status_codes DLLCopyOneBlock | ( | uint32_t | drvno, |
uint16_t | block, | ||
uint16_t * | pdest ) |
Copy the data of a single block to pdest.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | block | block number ( 0...(nob - 1) ) |
[out] | pdest | Pointer where the data will be written to. Make sure that the size of the buffer is >= sizeof(uint16_t) * pixel * nos * camcnt |
DllAccess es_status_codes DLLCopyOneBlock_multipleBoards | ( | uint16_t | block, |
uint16_t * | pdest0, | ||
uint16_t * | pdest1, | ||
uint16_t * | pdest2, | ||
uint16_t * | pdest3, | ||
uint16_t * | pdest4 ) |
Copies one block of pixel data of all used boards selected by settings parameter measurement_settings::board_sel to pdest.
[in] | block | Selects which block to copy. |
[out] | pdest0 | address where data is written for board 0, should be a buffer with size: nos * camcnt * pixel * sizeof( uint16_t ) |
[out] | pdest1 | address where data is written for board 1, should be a buffer with size: nos * camcnt * pixel * sizeof( uint16_t ) |
[out] | pdest2 | address where data is written for board 2, should be a buffer with size: nos * camcnt * pixel * sizeof( uint16_t ) |
[out] | pdest3 | address where data is written for board 3, should be a buffer with size: nos * camcnt * pixel * sizeof( uint16_t ) |
[out] | pdest4 | address where data is written for board 4, should be a buffer with size: nos * camcnt * pixel * sizeof( uint16_t ) |
DllAccess es_status_codes DLLCopyOneBlockOfOneCamera | ( | uint32_t | drvno, |
uint32_t | block, | ||
uint16_t | camera, | ||
uint16_t * | pdest ) |
Copy the data of one block of one camera to pdest.
If camera_settings::camcnt is 1, use CopyOneBlock instead. This function copies the data sample by sample because the data of one block of one camera is not stored in a contiguous memory block if camcnt is greater than 1.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | block | block number ( 0...(nob - 1) ) |
[in] | camera | camera number ( 0...(CAMCNT - 1) ) |
[out] | pdest | Pointer where the data will be written to. Make sure that the size of the buffer is >= sizeof(uint16_t) * pixel * nos |
DllAccess es_status_codes DLLCopyOneBlockOfOneCamera_multipleBoards | ( | uint32_t | block, |
uint16_t | camera, | ||
uint16_t * | pdest0, | ||
uint16_t * | pdest1, | ||
uint16_t * | pdest2, | ||
uint16_t * | pdest3, | ||
uint16_t * | pdest4 ) |
Copy the data of one block of one camera of all used boards selected by settings parameter measurement_settings::board_sel to pdest.
If camera_settings::camcnt is 1, use CopyOneBlock instead. This function copies the data sample by sample because the data of one block of one camera is not stored in a contiguous memory block if camcnt is greater than 1.
[in] | block | block number ( 0...(nob - 1) ) |
[in] | camera | camera number ( 0...(CAMCNT - 1) ) |
[out] | pdest0 | Pointer where the data will be written to for board 0. Make sure that the size of the buffer is >= sizeof(uint16_t) * pixel * nos |
[out] | pdest1 | Pointer where the data will be written to for board 1. Make sure that the size of the buffer is >= sizeof(uint16_t) * pixel * nos |
[out] | pdest2 | Pointer where the data will be written to for board 2. Make sure that the size of the buffer is >= sizeof(uint16_t) * pixel * nos |
[out] | pdest3 | Pointer where the data will be written to for board 3. Make sure that the size of the buffer is >= sizeof(uint16_t) * pixel * nos |
[out] | pdest4 | Pointer where the data will be written to for board 4. Make sure that the size of the buffer is >= sizeof(uint16_t) * pixel * nos |
DllAccess es_status_codes DLLCopyOneSample | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera, | ||
uint16_t * | pdest ) |
Copy the data of a single sample to pdest.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number ( 0...(nos - 1) ) |
[in] | block | block number ( 0...(nob - 1) ) |
[in] | camera | camera number ( 0...(CAMCNT - 1) ) |
[out] | pdest | Pointer where the data will be written to. Make sure that the size is >= sizeof(uint16_t) * pixel |
DllAccess es_status_codes DLLCopyOneSample_multipleBoards | ( | uint32_t | sample, |
uint32_t | block, | ||
uint16_t | camera, | ||
uint16_t * | pdest0, | ||
uint16_t * | pdest1, | ||
uint16_t * | pdest2, | ||
uint16_t * | pdest3, | ||
uint16_t * | pdest4 ) |
Get data of a single measurement for all boards selected by settings parameter measurement_settings::board_sel.
[in] | sample | sample number ( 0...(nos - 1) ) |
[in] | block | block number ( 0...(nob - 1) ) |
[in] | camera | camera number ( 0...(CAMCNT - 1) ) |
[out] | pdest0 | Pointer where frame data for board0 will be written. Make sure that the size is >= sizeof(uint16_t) * pixel |
[out] | pdest1 | Pointer where frame data for board1 will be written. Make sure that the size is >= sizeof(uint16_t) * pixel |
[out] | pdest2 | Pointer where frame data for board2 will be written. Make sure that the size is >= sizeof(uint16_t) * pixel |
[out] | pdest3 | Pointer where frame data for board3 will be written. Make sure that the size is >= sizeof(uint16_t) * pixel |
[out] | pdest4 | Pointer where frame data for board4 will be written. Make sure that the size is >= sizeof(uint16_t) * pixel |
DllAccess es_status_codes DLLDAC8568_setAllOutputs | ( | uint32_t | drvno, |
uint8_t | location, | ||
uint8_t | cameraPosition, | ||
uint32_t * | output, | ||
uint8_t | reorder_channels ) |
Sets all outputs of the DAC8568 in camera 3030 or on PCIe board.
Use this function to set the outputs, because it is resorting the channel numeration correctly.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | location | Switch for the different locations of DAC85689. See enum DAC8568_location_t in enum_settings.h for details. |
[in] | cameraPosition | This is describing the camera position when there are multiple cameras in line. Possible values: 0....8. This parameter is only used when location == DAC8568_camera. |
[in] | output | all output values that will be converted to analog voltage (0 ... 0xFFFF) |
[in] | reorder_channels | used to reorder DAC channels for high speed camera |
DllAccess es_status_codes DLLDAC8568_setAllOutputs_multipleBoards | ( | uint8_t | location, |
uint8_t | cameraPosition, | ||
uint32_t * | output0, | ||
uint32_t * | output1, | ||
uint32_t * | output2, | ||
uint32_t * | output3, | ||
uint32_t * | output4, | ||
uint8_t | reorder_channels ) |
Sets all outputs of the DAC8568 in camera 3030 or on PCIe board for all PCIe boards.
Use this function to set the outputs, because it is resorting the channel numeration correctly.
[in] | location | Switch for the different locations of DAC85689. See enum DAC8568_location_t in enum_settings.h for details. |
[in] | cameraPosition | This is describing the camera position when there are mumltiple cameras in line. Possible values: 0....8. This parameter is only used when location == DAC8568_camera. |
[in] | output0 | all output values as array for board 0 that will be converted to analog voltage (0 ... 0xFFFF) |
[in] | output1 | all output values as array for board 1 that will be converted to analog voltage (0 ... 0xFFFF) |
[in] | output2 | all output values as array for board 2 that will be converted to analog voltage (0 ... 0xFFFF) |
[in] | output3 | all output values as array for board 3 that will be converted to analog voltage (0 ... 0xFFFF) |
[in] | output4 | all output values as array for board 4 that will be converted to analog voltage (0 ... 0xFFFF) |
[in] | reorder_channels | used to reorder DAC channels for high speed camera |
DllAccess es_status_codes DLLDAC8568_setOutput | ( | uint32_t | drvno, |
uint8_t | location, | ||
uint8_t | cameraPosition, | ||
uint8_t | channel, | ||
uint16_t | output ) |
Sets the output of the DAC8568 on PCB 2189-7.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | location | Switch for the different locations of DAC85689. See enum DAC8568_location_t in enum_settings.h for details. |
[in] | cameraPosition | This is describing the camera position when there are multiple cameras in line. Possible values: 0....8. This parameter is only used when location == DAC8568_camera. |
[in] | channel | select one of eight output channel (0 ... 7) |
[in] | output | output value that will be converted to analog voltage (0 ... 0xFFFF) |
DllAccess void DLLDeinit2dViewer | ( | ) |
Call when closing 2d viewer or at least before opening a new 2d viewer.
DllAccess es_status_codes DLLDumpCameraSettings | ( | uint32_t | drvno, |
char ** | stringPtr ) |
Dump all camera settings to a string.
[in] | drvno | PCIe board identifier |
[out] | stringPtr | Pointer to a string buffer. The buffer will be allocated by this function. The caller is responsible to free the buffer. |
DllAccess es_status_codes DLLDumpDmaRegisters | ( | uint32_t | drvno, |
char ** | stringPtr ) |
Read all DMA registers and write them to a string in hex.
[in] | drvno | PCIe board identifier |
[out] | stringPtr | Pointer to a string buffer. The buffer will be allocated by this function. The caller is responsible to free the buffer. |
DllAccess es_status_codes DLLDumpHumanReadableS0Registers | ( | uint32_t | drvno, |
char ** | stringPtr ) |
Read all S0 registers and write them to a string in a human readable format.
[in] | drvno | PCIe board identifier |
[out] | stringPtr | Pointer to a string buffer. The buffer will be allocated by this function. The caller is responsible to free the buffer. |
DllAccess es_status_codes DLLDumpMeasurementSettings | ( | char ** | stringPtr | ) |
Dump all measurement settings to a string.
[out] | stringPtr | Pointer to a string buffer. The buffer will be allocated by this function. The caller is responsible to free the buffer. |
DllAccess es_status_codes DLLDumpPciRegisters | ( | uint32_t | drvno, |
char ** | stringPtr ) |
Read all PCIe registers and write them to a string.
[in] | drvno | PCIe board identifier |
[out] | stringPtr | Pointer to a string buffer. The buffer will be allocated by this function. The caller is responsible to free the buffer. |
DllAccess es_status_codes DLLDumpS0Registers | ( | uint32_t | drvno, |
char ** | stringPtr ) |
Read all S0 registers and write them to a string in hex.
[in] | drvno | PCIe board identifier |
[out] | stringPtr | Pointer to a string buffer. The buffer will be allocated by this function. The caller is responsible to free the buffer. |
DllAccess es_status_codes DLLDumpTlpRegisters | ( | uint32_t | drvno, |
char ** | stringPtr ) |
Read all TLP registers and write them to a string.
[in] | drvno | PCIe board identifier |
[out] | stringPtr | Pointer to a string buffer. The buffer will be allocated by this function. The caller is responsible to free the buffer. |
DllAccess void DLLErrMsgBoxOff | ( | ) |
Disable error message boxes, if not needed.
DllAccess void DLLErrMsgBoxOn | ( | ) |
Switch on error message boxes of our software. Default is On.
DllAccess void DLLErrorMsg | ( | char | ErrMsg[20] | ) |
Display error message. If ErrMsgBoxOn is set.
[in] | ErrMsg | Message. Buffer size: 100. |
DllAccess es_status_codes DLLExitDriver | ( | ) |
Exit driver. Call this before exiting software for cleanup.
DllAccess void DLLFillUserBufferWithDummyData | ( | ) |
This function inserts data to user buffer for developing purpose.
DllAccess es_status_codes DLLFindCam | ( | uint32_t | drvno | ) |
Test if SFP module is there and fiber is linked up.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
DllAccess es_status_codes DLLFindCam_multipleBoards | ( | uint8_t * | cameraFound0, |
uint8_t * | cameraFound1, | ||
uint8_t * | cameraFound2, | ||
uint8_t * | cameraFound3, | ||
uint8_t * | cameraFound4 ) |
Test if SFP module is there and fiber is linked up.
[out] | cameraFound0 | true when camera is found on board 0 |
[out] | cameraFound1 | true when camera is found on board 1 |
[out] | cameraFound2 | true when camera is found on board 2 |
[out] | cameraFound3 | true when camera is found on board 3 |
[out] | cameraFound4 | true when camera is found on board 4 |
DllAccess void DLLFreeMemInfo | ( | uint64_t * | pmemory_all, |
uint64_t * | pmemory_free ) |
Get the free and installed memory info.
[out] | pmemory_all | how much is installed |
[out] | pmemory_free | how much is free |
DllAccess es_status_codes DLLGetAllDataPointer | ( | uint32_t | drvno, |
uint16_t ** | pdest, | ||
size_t * | bytes_to_end_of_buffer ) |
Returns the address of the data buffer.
It is only safe to read as much data until the end of the buffer is reached. That is determined by bytes_to_end_of_buffer. For this function bytes_to_end_of_buffer equals the size of the complete buffer (= nos * nob * pixel * camcnt * 2). The address you get is valid until the next call of InitMeasurement. The data behind the address changes every measurement cycle when continuous mode is on or after each call of StartMeasurement.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | pdest | Pointer to get the pointer of the data buffer. When NULL, this functions returns es_invalid_pointer. |
[out] | bytes_to_end_of_buffer | Pointer to get the number of bytes to the end of the buffer. This is the size in bytes of the whole measurement data memory for one board. When NULL, this parameter is ignored. |
DllAccess es_status_codes DLLGetAllSpecialPixelInformation | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera_pos, | ||
struct special_pixels * | sp ) |
This function returns the all special pixel information of a specific scan.
The information impact signal 2 is given in the special pixels pixel_impact_signal_2_low and pixel_impact_signal_2_high. Impact signal 2 is either TDC 2 or DSC 2, depending on the PCIe daughter board.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | sp | struct special_pixels Pointer to struct special_pixel, where all special pixel information will be written. |
DllAccess es_status_codes DLLGetAllSpecialPixelInformation_multipleBoards | ( | uint32_t | sample, |
uint32_t | block, | ||
uint16_t | camera_pos, | ||
struct special_pixels * | sp0, | ||
struct special_pixels * | sp1, | ||
struct special_pixels * | sp2, | ||
struct special_pixels * | sp3, | ||
struct special_pixels * | sp4 ) |
This function returns the all special pixel information of a specific scan.
The information impact signal 2 is given in the special pixels pixel_impact_signal_2_low and pixel_impact_signal_2_high. Impact signal 2 is either TDC 2 or DSC 2, depending on the PCIe daughter board.
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | sp0 | struct special_pixels for board 0. Pointer to struct special_pixel, where all special pixel information will be written. |
[out] | sp1 | struct special_pixels for board 1. Pointer to struct special_pixel, where all special pixel information will be written. |
[out] | sp2 | struct special_pixels for board 2. Pointer to struct special_pixel, where all special pixel information will be written. |
[out] | sp3 | struct special_pixels for board 3. Pointer to struct special_pixel, where all special pixel information will be written. |
[out] | sp4 | struct special_pixels for board 4. Pointer to struct special_pixel, where all special pixel information will be written. |
DllAccess es_status_codes DLLGetBlockIndex | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint32_t * | blockIndex ) |
This function returns the block index of a specific scan.
The information block index is given in the special pixels pixel_block_index_low and pixel_block_index_high_s1_s2.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | blockIndex | Pointer to a uint32_t, where the information block index will be written. Block index is a 30 bit counter, so the highest two bits are not used. |
DllAccess es_status_codes DLLGetBlockOn | ( | uint32_t | drvno, |
uint8_t * | blockOn ) |
Get the block on bit from the PCIe flags register.
Since the block on bit position was change in 222.14 this function looks at a different bit depending on the firmware version.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | blockOn | Pointer to a bool, where the block on bit will be written. |
DllAccess es_status_codes DLLGetBlockOn_multipleBoards | ( | uint8_t * | blockOn0, |
uint8_t * | blockOn1, | ||
uint8_t * | blockOn2, | ||
uint8_t * | blockOn3, | ||
uint8_t * | blockOn4 ) |
Get the block on bit from the PCIe flags register.
Since the block on bit position was change in 222.14 this function looks at a different bit depending on the firmware version.
[out] | blockOn0 | Pointer to a bool, where the block on bit of board 0 will be written. |
[out] | blockOn1 | Pointer to a bool, where the block on bit of board 1 will be written. |
[out] | blockOn2 | Pointer to a bool, where the block on bit of board 2 will be written. |
[out] | blockOn3 | Pointer to a bool, where the block on bit of board 3 will be written. |
[out] | blockOn4 | Pointer to a bool, where the block on bit of board 4 will be written. |
DllAccess es_status_codes DLLGetBlockTriggerDetected | ( | uint32_t | drvno, |
uint8_t * | detected ) |
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | detected | Pointer to a bool, where the block trigger detected bit will be written. |
DllAccess es_status_codes DLLGetBlockTriggerDetected_multipleBoards | ( | uint8_t * | detected0, |
uint8_t * | detected1, | ||
uint8_t * | detected2, | ||
uint8_t * | detected3, | ||
uint8_t * | detected4 ) |
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected.
[out] | detected0 | Pointer to a bool, where the block trigger detected bit of board 0 will be written. |
[out] | detected1 | Pointer to a bool, where the block trigger detected bit of board 1 will be written. |
[out] | detected2 | Pointer to a bool, where the block trigger detected bit of board 2 will be written. |
[out] | detected3 | Pointer to a bool, where the block trigger detected bit of board 3 will be written. |
[out] | detected4 | Pointer to a bool, where the block trigger detected bit of board 4 will be written. |
DllAccess es_status_codes DLLGetBonLength | ( | uint32_t | drvno, |
uint32_t * | bonLengthIn10ns ) |
Get the high time duration of BON from the S0 register S0Addr_BONLEN.
The signal is measured once per measurement. The fist valid value can be read after the first completed BON.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | bonLengthIn10ns | pointer to uint32 where the BON length is returned
|
DllAccess es_status_codes DLLGetBonLength_multipleBoards | ( | uint32_t * | bonLengthIn10ns0, |
uint32_t * | bonLengthIn10ns1, | ||
uint32_t * | bonLengthIn10ns2, | ||
uint32_t * | bonLengthIn10ns3, | ||
uint32_t * | bonLengthIn10ns4 ) |
Get the high time duration of BON from the S0 register S0Addr_BONLEN.
The signal is measured once per measurement. The fist valid value can be read after the first completed BON. The value range is:
[out] | bonLengthIn10ns0 | pointer to uint32 where the BON length of board0 is returned |
[out] | bonLengthIn10ns1 | pointer to uint32 where the BON length of board1 is returned |
[out] | bonLengthIn10ns2 | pointer to uint32 where the BON length of board2 is returned |
[out] | bonLengthIn10ns3 | pointer to uint32 where the BON length of board3 is returned |
[out] | bonLengthIn10ns4 | pointer to uint32 where the BON length of board4 is returned |
DllAccess es_status_codes DLLGetBonPeriod | ( | uint32_t | drvno, |
uint32_t * | bonPeriodIn10ns ) |
Get the pos edge to pos edge time of BON from the S0 register S0Addr_BON_PERIOD.
The signal is measured once per measurement. The fist valid value can be read after the start of the second BON.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | bonPeriodIn10ns | pointer to uint32 where the BON period is returned
|
DllAccess es_status_codes DLLGetBonPeriod_multipleBoards | ( | uint32_t * | bonPeriodIn10ns0, |
uint32_t * | bonPeriodIn10ns1, | ||
uint32_t * | bonPeriodIn10ns2, | ||
uint32_t * | bonPeriodIn10ns3, | ||
uint32_t * | bonPeriodIn10ns4 ) |
Get the pos edge to pos edge time of BON from the S0 register S0Addr_BON_PERIOD.
The signal is measured once per measurement. The fist valid value can be read after the start of the second BON. The value range is:
[out] | bonPeriodIn10ns0 | pointer to uint32 where the BON period of board0 is returned |
[out] | bonPeriodIn10ns1 | pointer to uint32 where the BON period of board1 is returned |
[out] | bonPeriodIn10ns2 | pointer to uint32 where the BON period of board2 is returned |
[out] | bonPeriodIn10ns3 | pointer to uint32 where the BON period of board3 is returned |
[out] | bonPeriodIn10ns4 | pointer to uint32 where the BON period of board4 is returned |
DllAccess es_status_codes DLLGetCameraStatusOverTemp | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint8_t * | overTemp ) |
This function returns the bit overTemp of a specific scan.
The information over temperature is given in the special pixel camera status (pixel_camera_status) in bit pixel_camera_status_bit_over_temp.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | overTemp | Pointer to a bool, where the information overTemp will be written. true - over temperature detected, false - no over temperature detected |
DllAccess es_status_codes DLLGetCameraStatusOverTemp_multipleBoards | ( | uint32_t | sample, |
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint8_t * | overTemp1, | ||
uint8_t * | overTemp2, | ||
uint8_t * | overTemp3, | ||
uint8_t * | overTemp4, | ||
uint8_t * | overTemp5 ) |
This function returns the bit overTemp of a specific scan.
The information over temperature is given in the special pixel camera status (pixel_camera_status) in bit pixel_camera_status_bit_over_temp.
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | overTemp1 | board 1: Pointer to a bool, where the information overTemp will be written. true - over temperature detected, false - no over temperature detected |
[out] | overTemp2 | board 2: Pointer to a bool, where the information overTemp will be written. true - over temperature detected, false - no over temperature detected |
[out] | overTemp3 | board 3: Pointer to a bool, where the information overTemp will be written. true - over temperature detected, false - no over temperature detected |
[out] | overTemp4 | board 4: Pointer to a bool, where the information overTemp will be written. true - over temperature detected, false - no over temperature detected |
[out] | overTemp5 | board 5: Pointer to a bool, where the information overTemp will be written. true - over temperature detected, false - no over temperature detected |
DllAccess es_status_codes DLLGetCameraStatusTempGood | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint8_t * | tempGood ) |
This function returns the bit tempGood of a specific scan.
The information temperature good is given in the special pixel camera status (pixel_camera_status) in bit pixel_camera_status_bit_temp_good. This bit is used only in cooled cameras.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | tempGood | Pointer to a bool, where the information tempGood will be written. true - target temperature reached, false - target temperature not reached |
DllAccess es_status_codes DLLGetCameraStatusTempGood_multipleBoards | ( | uint32_t | sample, |
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint8_t * | tempGood1, | ||
uint8_t * | tempGood2, | ||
uint8_t * | tempGood3, | ||
uint8_t * | tempGood4, | ||
uint8_t * | tempGood5 ) |
This function returns the bit tempGood of a specific scan.
The information temperature good is given in the special pixel camera status (pixel_camera_status) in bit pixel_camera_status_bit_temp_good. This bit is used only in cooled cameras.
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | tempGood1 | board 1: Pointer to a bool, where the information tempGood will be written. true - target temperature reached, false - target temperature not reached |
[out] | tempGood2 | board 2: Pointer to a bool, where the information tempGood will be written. true - target temperature reached, false - target temperature not reached |
[out] | tempGood3 | board 3: Pointer to a bool, where the information tempGood will be written. true - target temperature reached, false - target temperature not reached |
[out] | tempGood4 | board 4: Pointer to a bool, where the information tempGood will be written. true - target temperature reached, false - target temperature not reached |
[out] | tempGood5 | board 5: Pointer to a bool, where the information tempGood will be written. true - target temperature reached, false - target temperature not reached |
DllAccess void DLLGetCurrentScanNumber | ( | uint32_t | drvno, |
int64_t * | sample, | ||
int64_t * | block ) |
Gives scan and block number of the last scan written to userBuffer.
When settings parameter camera_settings::use_software_polling is true this function converts scanCounterTotal to scan and block. This is necessary, because scanCounterTotal is just counting each scan not regarding camcnt and blocks. When camera_settings::use_software_polling is false the scan and block number of the last interrupt is given.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | sample | Scan number of the last scan in userBuffer. -1 when no scan has been written yet, otherwise 0...(nos-1) |
[out] | block | Block number of the last scan in userBuffer. -1 when no scans has been written yet, otherwise 0...(nob-1) |
DllAccess void DLLGetCurrentScanNumber_multipleBoards | ( | int64_t * | sample0, |
int64_t * | block0, | ||
int64_t * | sample1, | ||
int64_t * | block1, | ||
int64_t * | sample2, | ||
int64_t * | block2, | ||
int64_t * | sample3, | ||
int64_t * | block3, | ||
int64_t * | sample4, | ||
int64_t * | block4 ) |
Gives scan and block number of the last scan written to userBuffer for all boards selected by settings paramter measurement_settings::board_sel.
When settings parameter USE_SOFTWARE_POLLING is true this function converts scanCounterTotal to scan and block. This is necessary, because scanCounterTotal is just counting each scan not regarding camcnt and blocks. When USE_SOFTWARE_POLLING is false the scan and block number of the last interrupt is given.
[out] | sample0 | Scan number of the last scan in userBuffer of board 0. -1 when no scan has been written yet, otherwise 0...(nos-1) |
[out] | sample1 | Scan number of the last scan in userBuffer of board 1. -1 when no scan has been written yet, otherwise 0...(nos-1) |
[out] | sample2 | Scan number of the last scan in userBuffer of board 2. -1 when no scan has been written yet, otherwise 0...(nos-1) |
[out] | sample3 | Scan number of the last scan in userBuffer of board 3. -1 when no scan has been written yet, otherwise 0...(nos-1) |
[out] | sample4 | Scan number of the last scan in userBuffer of board 4. -1 when no scan has been written yet, otherwise 0...(nos-1) |
[out] | block0 | Block number of the last scan in userBuffer of board 0. -1 when no scans has been written yet, otherwise 0...(nob-1) |
[out] | block1 | Block number of the last scan in userBuffer of board 1. -1 when no scans has been written yet, otherwise 0...(nob-1) |
[out] | block2 | Block number of the last scan in userBuffer of board 2. -1 when no scans has been written yet, otherwise 0...(nob-1) |
[out] | block3 | Block number of the last scan in userBuffer of board 3. -1 when no scans has been written yet, otherwise 0...(nob-1) |
[out] | block4 | Block number of the last scan in userBuffer of board 4. -1 when no scans has been written yet, otherwise 0...(nob-1) |
DllAccess es_status_codes DLLGetDSC | ( | uint32_t | drvno, |
uint8_t | DSCNumber, | ||
uint32_t * | ADSC, | ||
uint32_t * | LDSC ) |
return all values of Delay Stage Counter
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | DSCNumber | 1: DSC 1; 2: DSC 2 |
[out] | ADSC | current DSC |
[out] | LDSC | last DSC |
DllAccess es_status_codes DLLGetDSC_multipleBoards | ( | uint8_t | DSCNumber, |
uint32_t * | ADSC0, | ||
uint32_t * | LDSC0, | ||
uint32_t * | ADSC1, | ||
uint32_t * | LDSC1, | ||
uint32_t * | ADSC2, | ||
uint32_t * | LDSC2, | ||
uint32_t * | ADSC3, | ||
uint32_t * | LDSC3, | ||
uint32_t * | ADSC4, | ||
uint32_t * | LDSC4 ) |
return all values of Delay Stage Counter for all boards selected by settings parameter measurement_settings::board_sel
[in] | DSCNumber | 1: DSC 1; 2: DSC 2 |
[out] | ADSC0 | current DSC of board 0 |
[out] | ADSC1 | current DSC of board 1 |
[out] | ADSC2 | current DSC of board 2 |
[out] | ADSC3 | current DSC of board 3 |
[out] | ADSC4 | current DSC of board 4 |
[out] | LDSC0 | last DSC of board 0 |
[out] | LDSC1 | last DSC of board 1 |
[out] | LDSC2 | last DSC of board 2 |
[out] | LDSC3 | last DSC of board 3 |
[out] | LDSC4 | last DSC of board 4 |
DllAccess uint16_t DLLGetGammaBlack | ( | ) |
return gamma value black
DllAccess uint16_t DLLGetGammaWhite | ( | ) |
return gamma value white
DllAccess es_status_codes DLLGetImpactSignal1 | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint32_t * | impactSignal ) |
This function returns the impact signal 1 of a specific scan.
The information impact signal 1 is given in the special pixels pixel_impact_signal_1_low and pixel_impact_signal_1_high. Impact signal 1 is either TDC 1 or DSC 1, depending on the PCIe daughter board.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | impactSignal | Pointer to a uint32_t, where the information impact signal will be written. |
DllAccess es_status_codes DLLGetImpactSignal2 | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint32_t * | impactSignal ) |
This function returns the impact signal 2 of a specific scan.
The information impact signal 2 is given in the special pixels pixel_impact_signal_2_low and pixel_impact_signal_2_high. Impact signal 2 is either TDC 2 or DSC 2, depending on the PCIe daughter board.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | impactSignal | Pointer to a uint32_t, where the information impact signal will be written. |
DllAccess es_status_codes DLLGetIsDsc | ( | uint32_t | drvno, |
uint8_t * | isDsc ) |
Read DSC flag in PCIEFLAGS register.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | isDsc | DSC flag is written to this bool*. TRUE: DSC board detected, FALSE: no DSC board detected |
DllAccess es_status_codes DLLGetIsDsc_multipleBoards | ( | uint8_t * | isDsc0, |
uint8_t * | isDsc1, | ||
uint8_t * | isDsc2, | ||
uint8_t * | isDsc3, | ||
uint8_t * | isDsc4 ) |
Read DSC flag in PCIEFLAGS register for all boards selected by settings parameter board sel.
[out] | isDsc0 | DSC flag of board 0. 1: DSC board detected, 0: no DSC board detected |
[out] | isDsc1 | DSC flag of board 1. 1: DSC board detected, 0: no DSC board detected |
[out] | isDsc2 | DSC flag of board 2. 1: DSC board detected, 0: no DSC board detected |
[out] | isDsc3 | DSC flag of board 3. 1: DSC board detected, 0: no DSC board detected |
[out] | isDsc4 | DSC flag of board 4. 1: DSC board detected, 0: no DSC board detected |
DllAccess uint8_t DLLGetIsRunning | ( | ) |
Get the variable isRunning.
isRunning is 1 when a measurement is running, 0 otherwise.
DllAccess es_status_codes DLLGetIsTdc | ( | uint32_t | drvno, |
uint8_t * | isTdc ) |
Read TDC flag in PCIEFLAGS register.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | isTdc | TDC flag is written to this bool*. TRUE: TDC board detected, FALSE: no TDC board detected |
DllAccess es_status_codes DLLGetIsTdc_multipleBoards | ( | uint8_t * | isTdc0, |
uint8_t * | isTdc1, | ||
uint8_t * | isTdc2, | ||
uint8_t * | isTdc3, | ||
uint8_t * | isTdc4 ) |
Read TDC flag in PCIEFLAGS register of all boards selected by settings parameter measurement_settings::board_sel.
[out] | isTdc0 | TDC flag of board 0. 1: TDC board detected, 0: no TDC board detected |
[out] | isTdc1 | TDC flag of board 1. 1: TDC board detected, 0: no TDC board detected |
[out] | isTdc2 | TDC flag of board 2. 1: TDC board detected, 0: no TDC board detected |
[out] | isTdc3 | TDC flag of board 3. 1: TDC board detected, 0: no TDC board detected |
[out] | isTdc4 | TDC flag of board 4. 1: TDC board detected, 0: no TDC board detected |
DllAccess es_status_codes DLLGetMeasureOn | ( | uint32_t | drvno, |
uint8_t * | measureOn ) |
Check if measure on bit is set.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | measureOn | True when measureon bit is set. |
DllAccess es_status_codes DLLGetMeasureOn_multipleBoards | ( | uint8_t * | measureOn0, |
uint8_t * | measureOn1, | ||
uint8_t * | measureOn2, | ||
uint8_t * | measureOn3, | ||
uint8_t * | measureOn4 ) |
Check if measure on bit is set for all boards selected by settings parameter measurement_settings::board_sel.
[out] | measureOn0 | True when measureon bit is set in board 0. |
[out] | measureOn1 | True when measureon bit is set in board 1. |
[out] | measureOn2 | True when measureon bit is set in board 2. |
[out] | measureOn3 | True when measureon bit is set in board 3. |
[out] | measureOn4 | True when measureon bit is set in board 4. |
DllAccess es_status_codes DLLGetOneBlockPointer | ( | uint32_t | drvno, |
uint32_t | block, | ||
uint16_t ** | pdest, | ||
size_t * | bytes_to_end_of_buffer ) |
Returns the address of a specific block.
It is only safe to read as much data until the end of the buffer is reached. That is determined by bytes_to_end_of_buffer. For this function bytes_to_end_of_buffer is at least the size of one block (= nos * pixel * camcnt * 2). The address you get is valid until the next call of InitMeasurement. The data behind the address changes every measurement cycle when continuous mode is on or after each call of StartMeasurement.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | block | position in blocks (0...(nob-1)) |
[out] | pdest | Pointer to get the pointer of the specific pixel. When NULL, this functions returns es_invalid_pointer. |
[out] | bytes_to_end_of_buffer | Pointer to get the number of bytes to the end of the buffer. This is the size in bytes of the buffer from the position you are asking for and the end of the buffer. When NULL, this parameter is ignored. |
DllAccess es_status_codes DLLGetOneSamplePointer | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera, | ||
uint16_t ** | pdest, | ||
size_t * | bytes_to_end_of_buffer ) |
Returns the address of a specific sample.
It is only safe to read as much data until the end of the buffer is reached. That is determined by bytes_to_end_of_buffer. For this fuction bytes_to_end_of_buffer is a least the size of scan (= pixel * 2). The address you get is valid until the next call of InitMeasurement. The data behind the address changes every measurement cycle when continuous mode is on or after each call of StartMeasurement.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | position in samples (0...(nos-1)) |
[in] | block | position in blocks (0...(nob-1)) |
[in] | camera | position in camera count (0...(CAMCNT-1)) |
[out] | pdest | Pointer to get the pointer of the specific pixel. When NULL, this functions returns es_invalid_pointer. |
[out] | bytes_to_end_of_buffer | Pointer to get the number of bytes to the end of the buffer. This is the size in bytes of the buffer from the position you are asking for and the end of the buffer. When NULL, this parameter is ignored. |
DllAccess es_status_codes DLLGetPixelPointer | ( | uint32_t | drvno, |
uint16_t | pixel, | ||
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera, | ||
uint16_t ** | pdest, | ||
size_t * | bytes_to_end_of_buffer ) |
Returns the address of a specific pixel.
It is only safe to read as much data until the end of the buffer is reached. That is determined by bytes_to_end_of_buffer. It is always safe to read 2 bytes. The address you get is valid until the next call of InitMeasurement. The data behind the address changes every measurement cycle when continuous mode is on or after each call of StartMeasurement.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | pixel | position in one scan (0...(PIXEL-1)) |
[in] | sample | position in samples (0...(nos-1)) |
[in] | block | position in blocks (0...(nob-1)) |
[in] | camera | position in camera count (0...(CAMCNT-1)) |
[out] | pdest | Pointer to get the pointer of the specific pixel. When NULL, this functions returns es_invalid_pointer. |
[out] | bytes_to_end_of_buffer | Pointer to get the number of bytes to the end of the buffer. This is the size in bytes of the buffer from the position you are asking for and the end of the buffer. When NULL, this parameter is ignored. |
DllAccess int DLLGetProcessCount | ( | ) |
Function for multithreading.
DllAccess es_status_codes DLLGetS1State | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint8_t * | state ) |
This function returns the bit S1 state of a specific scan.
The information S1 is given in the special pixel pixel_block_index_high_s1_s2 in bit pixel_block_index_high_s1_s2_bit_s1.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | state | Pointer to a bool, where the information S1 state will be written. true - S1 is high, false - S1 is low |
DllAccess es_status_codes DLLGetS2State | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint8_t * | state ) |
This function returns the bit S2 state of a specific scan.
The information S2 is given in the special pixel pixel_block_index_high_s1_s2 in bit pixel_block_index_high_s1_s2_bit_s2.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | state | Pointer to a bool, where the information S2 state will be written. true - S2 is high, false - S2 is low |
DllAccess es_status_codes DLLGetScanIndex | ( | uint32_t | drvno, |
uint32_t | sample, | ||
uint32_t | block, | ||
uint16_t | camera_pos, | ||
uint32_t * | scanIndex ) |
This function returns the scan index of a specific scan.
The information block index is given in the special pixels pixel_scan_index_low and pixel_scan_index_high.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | sample | sample number (0 ... (nos-1)) |
[in] | block | block number (0 ... (nob-1)) |
[in] | camera_pos | camera position (0 ... (CAMCNT-1)) |
[out] | scanIndex | Pointer to a uint32_t, where the information scan index will be written. Scan index is a 32 bit counter. |
DllAccess es_status_codes DLLGetScanTriggerDetected | ( | uint32_t | drvno, |
uint8_t * | detected ) |
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | detected | Pointer to a bool, where the scan trigger detected bit will be written. |
DllAccess es_status_codes DLLGetScanTriggerDetected_multipleBoards | ( | uint8_t * | detected0, |
uint8_t * | detected1, | ||
uint8_t * | detected2, | ||
uint8_t * | detected3, | ||
uint8_t * | detected4 ) |
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected.
[out] | detected0 | Pointer to a bool, where the scan trigger detected bit of board 0 will be written. |
[out] | detected1 | Pointer to a bool, where the scan trigger detected bit of board 1 will be written. |
[out] | detected2 | Pointer to a bool, where the scan trigger detected bit of board 2 will be written. |
[out] | detected3 | Pointer to a bool, where the scan trigger detected bit of board 3 will be written. |
[out] | detected4 | Pointer to a bool, where the scan trigger detected bit of board 4 will be written. |
DllAccess uint8_t DLLGetTestModeOn | ( | ) |
Get the variable testModeOn.
The test mode is activated when no PCIe board is connected.
DllAccess int DLLGetThreadCount | ( | ) |
Function for multithreading.
DllAccess void DLLGetVerifiedDataDialog | ( | struct verify_data_parameter * | vd, |
char ** | resultString ) |
Check the consistency of the file given in vd and return the results in resultString.
[in] | vd | Pointer to a verify_data_parameter struct. The member filename_full must be set. |
[out] | resultString | Pointer to a char*. The result string is written to this pointer. The buffer is allocated in this function and must be freed by the caller. |
DllAccess uint32_t DLLGetVirtualCamcnt | ( | uint32_t | drvno | ) |
Get the variable virtualCamcnt.
Virutal camcnt is either equal to the setting camera_settings::camcnt or 1 if camcnt is 0.
[in] | drvno | PCIe board identifier |
DllAccess es_status_codes DLLGetXckLength | ( | uint32_t | drvno, |
uint32_t * | xckLengthIn10ns ) |
Get the high time duration of XCK from the S0 register S0Addr_XCKLEN.
The signal is measured once per measurement. The fist valid value can be read after the first completed XCK.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | xckLengthIn10ns | pointer to uint32 where the XCK length is returned
|
DllAccess es_status_codes DLLGetXckLength_multipleBoards | ( | uint32_t * | xckLengthIn10ns0, |
uint32_t * | xckLengthIn10ns1, | ||
uint32_t * | xckLengthIn10ns2, | ||
uint32_t * | xckLengthIn10ns3, | ||
uint32_t * | xckLengthIn10ns4 ) |
Get the high time duration of XCK from the S0 register S0Addr_XCKLEN.
The signal is measured once per measurement. The fist valid value can be read after the first completed XCK. The value range is:
[out] | xckLengthIn10ns0 | pointer to uint32 where the XCK length of board0 is returned |
[out] | xckLengthIn10ns1 | pointer to uint32 where the XCK length of board1 is returned |
[out] | xckLengthIn10ns2 | pointer to uint32 where the XCK length of board2 is returned |
[out] | xckLengthIn10ns3 | pointer to uint32 where the XCK length of board3 is returned |
[out] | xckLengthIn10ns4 | pointer to uint32 where the XCK length of board4 is returned |
DllAccess es_status_codes DLLGetXckPeriod | ( | uint32_t | drvno, |
uint32_t * | xckPeriodIn10ns ) |
Get pos edge to pos egde time of XCK time from the S0 register S0Addr_XCK_PERIOD.
The signal is measured once per measurement. The fist valid value can be read after the start of the second XCK.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | xckPeriodIn10ns | pointer to uint32 where the XCK period is returned
|
DllAccess es_status_codes DLLGetXckPeriod_multipleBoards | ( | uint32_t * | xckPeriodIn10ns0, |
uint32_t * | xckPeriodIn10ns1, | ||
uint32_t * | xckPeriodIn10ns2, | ||
uint32_t * | xckPeriodIn10ns3, | ||
uint32_t * | xckPeriodIn10ns4 ) |
Get pos edge to pos edge time of XCK time from the S0 register S0Addr_XCK_PERIOD.
The signal is measured once per measurement. The fist valid value can be read after the start of the second XCK. The value range is:
[out] | xckPeriodIn10ns0 | pointer to uint32 where the XCK period of board0 is returned |
[out] | xckPeriodIn10ns1 | pointer to uint32 where the XCK period of board1 is returned |
[out] | xckPeriodIn10ns2 | pointer to uint32 where the XCK period of board2 is returned |
[out] | xckPeriodIn10ns3 | pointer to uint32 where the XCK period of board3 is returned |
[out] | xckPeriodIn10ns4 | pointer to uint32 where the XCK period of board4 is returned |
DllAccess es_status_codes DLLImportMeasurementDataFromFile | ( | const char * | filename | ) |
TODO. missing documentation.
[in] | filename |
DllAccess es_status_codes DLLInitDriver | ( | uint8_t * | _number_of_boards | ) |
Initialize the driver.
Call this before any other action. It is only needed to be called once at startup.
[out] | _number_of_boards | Pointer for returning recognized number of PCIe boards. |
DllAccess es_status_codes DLLInitGPX | ( | uint32_t | delay | ) |
Initialize the TDC-GPX chip for all boards selected by settings parameter measurement_settings::board_sel. TDC: time delay counter option.
[in] | delay | GPX offset is used to increase accuracy. A counter value can be added, usually 1000. |
DllAccess es_status_codes DLLInitMeasurement | ( | struct measurement_settings | settings | ) |
Initialize measurement (using board select).
Call this every time you changed settings before starting the measurement. When you didn't change any settings, you can start the next measurement without calling InitMeasurement every time.
[in] | settings | struct measurement_settings |
DllAccess es_status_codes DLLInitMeasurement_matlab | ( | struct measurement_settings_matlab | measurement_s, |
struct camera_settings | camera_s0, | ||
struct camera_settings | camera_s1, | ||
struct camera_settings | camera_s2, | ||
struct camera_settings | camera_s3, | ||
struct camera_settings | camera_s4 ) |
Initialize measurement with Matlab compatible parameters.
Call this every time you changed settings before starting the measurement. When you didn't change any settings, you can start the next measurement without calling InitMeasurement every time.
[in] | measurement_s | Measurement settings struct without embedded camera settings struct. |
[in] | camera_s0 | Camera settings for PCIe board 0 |
[in] | camera_s1 | Camera settings for PCIe board 1 |
[in] | camera_s2 | Camera settings for PCIe board 2 |
[in] | camera_s3 | Camera settings for PCIe board 3 |
[in] | camera_s4 | Camera settings for PCIe board 4 |
DllAccess void DLLInitSettingsStruct | ( | struct measurement_settings * | ms | ) |
Use this function to properly initialize the struct measurement_settings to its default values.
[in] | ms | Pointer to the struct measurement_settings that should be initialized. |
DllAccess es_status_codes DLLIOCtrl_setAllOutputs | ( | uint32_t * | width_in_5ns, |
uint32_t * | delay_in_5ns ) |
Set parameters of all pulses outputs of IOCTRL for all boards selected by settings parameter measurement_settings::board_sel.
[in] | width_in_5ns | Set width of pulse in 5ns steps. Array with 7 entries. |
[in] | delay_in_5ns | Set delay of pulse in 5ns steps. Array with 7 entries. |
DllAccess es_status_codes DLLIOCtrl_setOutput | ( | uint32_t | drvno, |
uint32_t | number, | ||
uint16_t | width_in_5ns, | ||
uint16_t | delay_in_5ns ) |
Set paramters of one pulse output of IOCTRL.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | number | Number of output: 1 ... 7 |
[in] | width_in_5ns | Set width of pulse in 5ns steps. |
[in] | delay_in_5ns | Set delay of pulse in 5ns steps. |
DllAccess es_status_codes DLLIOCtrl_setT0 | ( | uint32_t | drvno, |
uint32_t | period_in_10ns ) |
Set period of IOCtrl pulse outputs base frequency T0.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | period_in_10ns | Period of T0 in 10ns steps. |
DllAccess es_status_codes DLLIOCtrl_setT0_multipleBoards | ( | uint32_t | period_in_10ns | ) |
Set period of IOCtrl pulse outputs base frequency T0 for all boards selected by settings parameter measurement_settings::board_sel.
[in] | period_in_10ns | Period of T0 in 10ns steps. |
BOOL WINAPI DLLMain | ( | HINSTANCE | hinstDLL, |
DWORD | fdwReason, | ||
LPVOID | lpvReserved ) |
DllMain entry point.
An optional entry point into a dynamic-link library (DLL). When the system starts or terminates a process or thread, it calls the entry-point function for each loaded DLL using the first thread of the process. The system also calls the entry-point function for a DLL when it is loaded or unloaded using the LoadLibrary and FreeLibrary functions. More information: https://docs.microsoft.com/en-us/windows/win32/dlls/dllmain
[in] | hinstDLL | A handle to the DLL module. The value is the base address of the DLL. The HINSTANCE of a DLL is the same as the HMODULE of the DLL, so hinstDLL can be used in calls to functions that require a module handle. |
[in] | fdwReason | The reason code that indicates why the DLL entry-point function is being called. This parameter can be one of the following values:
|
[in] | lpvReserved | If fdwReason is DLL_PROCESS_ATTACH, lpvReserved is NULL for dynamic loads and non-NULL for static loads. If fdwReason is DLL_PROCESS_DETACH, lpvReserved is NULL if FreeLibrary has been called or the DLL load failed and non-NULL if the process is terminating. |
DllAccess es_status_codes DLLOpenShutter | ( | uint32_t | drvno | ) |
Open shutter for sensors with EC (exposure control) / sets IFC signal = high.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
DllAccess es_status_codes DLLOpenShutter_multipleBoards | ( | ) |
Open shutter for sensors with EC (exposure control) / sets IFC signal = high for all boards selected by settings parameter measurement_settings::board_sel.
DllAccess es_status_codes DLLOutTrigHigh | ( | ) |
Set trigger out(Reg CtrlA:D3) for all boards selected by settings parameter measurement_settings::board_sel. Can be used to control timing issues in software.
The Reg TOR:D31 must have been set to 1 and D30:D27 to zero to see the signal -> see manual.
DllAccess es_status_codes DLLOutTrigLow | ( | ) |
Reset trigger out(Reg CtrlA:D3) for all boards selected by settings parameter measurement_settings::board_sel. Can be used to control timing issues in software.
The Reg TOR:D31 must have been set to 1 and D30:D27 to zero to see the signal -> see manual.
DllAccess es_status_codes DLLOutTrigPulse | ( | int64_t | pulseWidthInMicroseconds | ) |
Pulses trigger out(Reg CtrlA:D3) for all boards selected by setings parameter measurement_settings::board_sel. Can be used to control timing issues in software.
The Reg TOR:D31 must have been set to 1 and D30:D27 to zero to see the signal -> see manual
[in] | pulseWidthInMicroseconds | duration of pulse in us |
DllAccess es_status_codes DLLReadBitS0_32 | ( | uint32_t | drvno, |
uint32_t | address, | ||
uint8_t | bitnumber, | ||
uint8_t * | isBitHigh ) |
Read 1 bit of a 4 byte s0 register.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | address | Address of the register to read. |
[in] | bitnumber | Address of the bit to read. |
[out] | isBitHigh | Tells if bit is high or low. |
DllAccess es_status_codes DLLReadBitS0_32_multipleBoards | ( | uint32_t | address, |
uint8_t | bitnumber, | ||
uint8_t * | isBitHigh0, | ||
uint8_t * | isBitHigh1, | ||
uint8_t * | isBitHigh2, | ||
uint8_t * | isBitHigh3, | ||
uint8_t * | isBitHigh4 ) |
Read 1 bit of a 4 bytes s0 register for all boards.
[in] | address | Address of the register to read. |
[in] | bitnumber | Address of the bit to read. |
[out] | isBitHigh0 | board 0: Tells if bit is 1 or 0. |
[out] | isBitHigh1 | board 1: Tells if bit is 1 or 0. |
[out] | isBitHigh2 | board 2: Tells if bit is 1 or 0. |
[out] | isBitHigh3 | board 3: Tells if bit is 1 or 0. |
[out] | isBitHigh4 | board 4: Tells if bit is 1 or 0. |
DllAccess es_status_codes DLLReadBitS0_8 | ( | uint32_t | drvno, |
uint32_t | address, | ||
uint8_t | bitnumber, | ||
uint8_t * | isBitHigh ) |
Read 1 bit of 1 byte of a s0 register.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | address | Address of the register to read. |
[in] | bitnumber | Address of the bit to read. |
[out] | isBitHigh | Tells if bit is high or low. |
DllAccess es_status_codes DLLReadBitS0_8_multipleBoards | ( | uint32_t | address, |
uint8_t | bitnumber, | ||
uint8_t * | isBitHigh0, | ||
uint8_t * | isBitHigh1, | ||
uint8_t * | isBitHigh2, | ||
uint8_t * | isBitHigh3, | ||
uint8_t * | isBitHigh4 ) |
Read 1 bit of 1 byte of a s0 register for all boards.
[in] | address | Address of the register to read. |
[in] | bitnumber | Address of the bit to read. |
[out] | isBitHigh0 | Tells if bit is high or low. |
[out] | isBitHigh1 | Tells if bit is high or low. |
[out] | isBitHigh2 | Tells if bit is high or low. |
[out] | isBitHigh3 | Tells if bit is high or low. |
[out] | isBitHigh4 | Tells if bit is high or low. |
DllAccess es_status_codes DLLReadBlockFrequencyBit | ( | uint32_t | drvno, |
uint8_t * | blockFrequencyTooHigh ) |
Reads the BlockFrequency bit and checks if its high or low.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | blockFrequencyTooHigh | True when BlockFrequency bit is set. |
DllAccess es_status_codes DLLReadBlockFrequencyBit_multipleBoards | ( | uint8_t * | blockFrequencyTooHigh0, |
uint8_t * | blockFrequencyTooHigh1, | ||
uint8_t * | blockFrequencyTooHigh2, | ||
uint8_t * | blockFrequencyTooHigh3, | ||
uint8_t * | blockFrequencyTooHigh4 ) |
Reads the ScanFrequency bit and checks if its high or low for all boards selected by settings parameter measurement_settings::board_sel.
[out] | blockFrequencyTooHigh0 | True when block frequency too high bit is set for board 0 |
[out] | blockFrequencyTooHigh1 | True when block frequency too high bit is set for board 1 |
[out] | blockFrequencyTooHigh2 | True when block frequency too high bit is set for board 2 |
[out] | blockFrequencyTooHigh3 | True when block frequency too high bit is set for board 3 |
[out] | blockFrequencyTooHigh4 | True when block frequency too high bit is set for board 4 |
DllAccess es_status_codes DLLreadRegisterS0_32 | ( | uint32_t | drvno, |
uint32_t * | data, | ||
uint32_t | address ) |
Read 4 bytes of a register in S0 space.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | data | Read buffer. |
[in] | address | Address of the register to read. |
DllAccess es_status_codes DLLreadRegisterS0_32_multipleBoards | ( | uint32_t * | data0, |
uint32_t * | data1, | ||
uint32_t * | data2, | ||
uint32_t * | data3, | ||
uint32_t * | data4, | ||
uint32_t | address ) |
Read 4 bytes of a register in S0 space of all boards selected by settings parameter measurement_settings::board_sel.
[out] | data0 | Read buffer for board 0. |
[out] | data1 | Read buffer for board 1. |
[out] | data2 | Read buffer for board 2. |
[out] | data3 | Read buffer for board 3. |
[out] | data4 | Read buffer for board 4. |
[in] | address | Address of the register to read. |
DllAccess es_status_codes DLLreadRegisterS0_8 | ( | uint32_t | drvno, |
uint8_t * | data, | ||
uint32_t | address ) |
Read 1 byte of a register in S0 space.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | data | Read buffer. |
[in] | address | Address of the register to read. |
DllAccess es_status_codes DLLreadRegisterS0_8_multipleBoards | ( | uint8_t * | data0, |
uint8_t * | data1, | ||
uint8_t * | data2, | ||
uint8_t * | data3, | ||
uint8_t * | data4, | ||
uint32_t | address ) |
Read 1 byte of a register in S0 space of all boards selected by settings parameter measurement_settings::board_sel.
[out] | data0 | Read buffer of board 0. |
[out] | data1 | Read buffer of board 1. |
[out] | data2 | Read buffer of board 2. |
[out] | data3 | Read buffer of board 3. |
[out] | data4 | Read buffer of board 4. |
[in] | address | Address of the register to read. |
DllAccess es_status_codes DLLReadScanFrequencyBit | ( | uint32_t | drvno, |
uint8_t * | scanFrequencyTooHigh ) |
Reads the ScanFrequency bit and checks if its high or low.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[out] | scanFrequencyTooHigh | True when scanFrequency bit is set |
DllAccess es_status_codes DLLReadScanFrequencyBit_multipleBoards | ( | uint8_t * | scanFrequencyTooHigh0, |
uint8_t * | scanFrequencyTooHigh1, | ||
uint8_t * | scanFrequencyTooHigh2, | ||
uint8_t * | scanFrequencyTooHigh3, | ||
uint8_t * | scanFrequencyTooHigh4 ) |
Reads the ScanFrequency bit and checks if its high or low for all boards selected by settings parameter measurement_settings::board_sel.
[out] | scanFrequencyTooHigh0 | True when scan frequency too high bit is set for board 0 |
[out] | scanFrequencyTooHigh1 | True when scan frequency too high bit is set for board 1 |
[out] | scanFrequencyTooHigh2 | True when scan frequency too high bit is set for board 2 |
[out] | scanFrequencyTooHigh3 | True when scan frequency too high bit is set for board 3 |
[out] | scanFrequencyTooHigh4 | True when scan frequency too high bit is set for board 4 |
DllAccess es_status_codes DLLresetBitS0_32 | ( | uint32_t | bitnumber, |
uint32_t | address ) |
Set bit to 0 in register at memory address for all boards selected by settings parameter measurement_settings::board_sel.
[in] | bitnumber | 0...31, 0 is LSB, 31 MSB |
[in] | address | register address. Only 4 byte steps are valid. |
DllAccess es_status_codes DLLResetBlockFrequencyBit | ( | uint32_t | drvno | ) |
Resets the BlockFrequency bit.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
DllAccess es_status_codes DLLResetBlockFrequencyBit_multipleBoards | ( | ) |
Resets the BlockFrequency bit.
DllAccess es_status_codes DLLResetBlockTriggerDetected | ( | uint32_t | drvno | ) |
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected to 0.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
DllAccess es_status_codes DLLResetBlockTriggerDetected_multipleBoards | ( | ) |
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected.
DllAccess es_status_codes DLLResetDSC | ( | uint32_t | drvno, |
uint8_t | DSCNumber ) |
reset Delay Stage Counter
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | DSCNumber | 1: DSC 1; 2: DSC 2 |
DllAccess es_status_codes DLLResetDSC_multipleBoards | ( | uint8_t | DSCNumber | ) |
reset Delay Stage Counter for all boards selected by settings parameter measurement_settings::board_sel.
[in] | DSCNumber | 1: DSC 1; 2: DSC 2 |
DllAccess es_status_codes DLLResetScanFrequencyBit | ( | uint32_t | drvno | ) |
Resets the ScanFrequency bit.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
DllAccess es_status_codes DLLResetScanFrequencyBit_multipleBoards | ( | ) |
Resets the ScanFrequency bit.
DllAccess es_status_codes DLLResetScanTriggerDetected | ( | uint32_t | drvno | ) |
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected to 0.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
DllAccess es_status_codes DLLResetScanTriggerDetected_multipleBoards | ( | ) |
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected.
DllAccess es_status_codes DLLSaveMeasurementDataToFile | ( | const char * | filename | ) |
Export the measurement data to a file.
Depending on the file extension, the data is saved in a binary or HDF5 file.
[in] | filename | Filename with complete absolute path and either .bin or .h5 extension. |
DllAccess void DLLSetAllBlocksDoneHook | ( | void(* | hook )() | ) |
Set a function which will be executed every time when all blocks are done.
When measurement_settings::continuous_measurement is disabled, it is called one time at the end of the measurement. When measurement_settings::continuous_measurement is enabled, it is called one time at the end of each measurement cycle. The hook is called before the pause set by measurement_settings::cont_pause_in_microseconds.
[in] | hook | Pointer to the function which will be executed. |
DllAccess es_status_codes DLLsetBitS0_32 | ( | uint32_t | bitnumber, |
uint32_t | address ) |
Set bit to 1 in S0 register at memory address for all boards selected by settings parameter measurement_settings::board_sel.
[in] | bitnumber | 0...31, 0 is LSB, 31 MSB |
[in] | address | register address. Only 4 byte steps are valid. |
DllAccess void DLLSetBlockDoneHook | ( | void(* | hook )() | ) |
Set a function which will be executed every time when a block ends.
The end of a block doesn't indicate the availability of the data. Which data is available to copy is indicated by DLLGetCurrentScanNumber. The copy method is controlled by camera_settings::use_software_polling. When the block size is not aligned to camera_settings::dma_buffer_size_in_scans and camera_settings::use_software_polling is turned off, there will be no interrupt at the end of a block and so the data won't be available in this moment. Turn camera_settings::use_software_polling on to avoid this.
[in] | hook | Pointer to the function which will be executed. |
DllAccess void DLLSetBlockStartHook | ( | void(* | hook )() | ) |
Set a function which will be executed every time when a block starts.
[in] | hook | Pointer to the function which will be executed. |
DllAccess es_status_codes DLLSetBTimer | ( | uint32_t | drvno, |
uint32_t | btime ) |
Sets time for block timer.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | btime | Block time. The resolution of the time depends on the resolution mode set by SetTimerResolution(). 28 bit. |
DllAccess void DLLSetContinuousMeasurement | ( | uint8_t | on | ) |
Control looping the measurement.
[in] | on | 1: measurement runs in a loop, 0: measurement only runs once. |
DllAccess es_status_codes DLLSetDIRDSC | ( | uint32_t | drvno, |
uint8_t | DSCNumber, | ||
uint8_t | dir ) |
set direction of Delay Stage Counter
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | DSCNumber | 1: DSC 1; 2: DSC 2 |
[in] | dir | true: up; false: down |
DllAccess es_status_codes DLLSetDIRDSC_multipleBoards | ( | uint8_t | DSCNumber, |
uint8_t | dir ) |
set direction of Delay Stage Counter for all boards selected by settings parameter measurement_settings::board_sel.
[in] | DSCNumber | 1: DSC 1; 2: DSC 2 |
[in] | dir | true: up; false: down |
DllAccess void DLLSetGammaValue | ( | uint16_t | white, |
uint16_t | black ) |
Set gamma value.
[in] | white | set value for maximum brightness. Default: 0xFFFF (16 bit), 0x3FFF (14 bit) |
[in] | black | set value for minimum brightness. Default: 0 |
DllAccess es_status_codes DLLSetGeneralOutput | ( | uint32_t | drvno, |
uint8_t | output, | ||
uint8_t | state ) |
Control the general outputs of the PCIe card addition board.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | output | 0 ... 7 |
[in] | state | true = high, false = low |
DllAccess void DLLSetMeasureDoneHook | ( | void(* | hook )() | ) |
Set a function which will be executed every time when a measurement ends.
Regardless of measurement_settings::continuous_measurement this hook is call only one time at the end of the measurement. When measurement_settings::continuous_measurement is enabled, it is called after the loop is disabled. The hook is called after the pause set by measurement_settings::cont_pause_in_microseconds. When this hook is called all data is available, so DLLGetCurrentScanNumber should return sample = nos-1 and block = nob-1.
[in] | hook | Pointer to the function which will be executed. |
DllAccess void DLLSetMeasureStartHook | ( | void(* | hook )() | ) |
Set a function which will be executed every time when a measurement starts.
[in] | hook | Pointer to the function which will be executed. |
DllAccess es_status_codes DLLSetShutterStates | ( | uint32_t | drvno, |
uint16_t | shutter_states ) |
Sets all shutter states in one call.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | shutter_states | 16 bit value where each bit of the lower 4 represents the state of one shutter.
|
DllAccess es_status_codes DLLSetSTimer | ( | uint32_t | drvno, |
uint32_t | stime ) |
Sets time for scan timer.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | stime | Trigger time. The resolution of the time depends on the resolution mode set by SetTimerResolution(). 28 bit. |
DllAccess es_status_codes DLLSetTemp | ( | uint8_t | level | ) |
Set temperature level for cooled cameras for all boards selected by settings parameter measurement_settings::board_sel.
[in] | level | level 0..7 / 0=off, 7=min -> see cooling manual |
DllAccess es_status_codes DLLSetTORReg | ( | uint32_t | drvno, |
uint8_t | tor ) |
Set signal of output port of PCIe card.
[in] | drvno | identifier of PCIe card, 0 ... MAXPCIECARDS, when there is only one PCIe board: always 0 |
[in] | tor | select output signal. See enum tor_out in enum_settings.h for options. |
DllAccess es_status_codes DLLSetTORReg_multipleBoards | ( | uint8_t | tor | ) |
Set signal of output port of PCIe card for all boards selected by settings parameter measurement_settings::board_sel.
[in] | tor | select output signal. See enum tor_out_t in enum_settings.h for options. |
DllAccess void DLLShowNewBitmap | ( | uint32_t | drvno, |
uint32_t | block, | ||
uint16_t | camera, | ||
uint16_t | pixel, | ||
uint32_t | nos ) |
Update the displayed bitmap.
[in] | drvno | board number |
[in] | block | current number of blocks |
[in] | camera | which camera to display (when camcnt is >1) |
[in] | pixel | count of pixel of one line |
[in] | nos | samples in one block |
DllAccess void DLLStart2dViewer | ( | uint32_t | drvno, |
uint32_t | block, | ||
uint16_t | camera, | ||
uint16_t | pixel, | ||
uint32_t | nos ) |
Start 2d viewer.
[in] | drvno | board number |
[in] | block | current number of block |
[in] | camera | which camera to display (when camcnt is >1) |
[in] | pixel | count of pixel of one line |
[in] | nos | samples in one block |
DllAccess es_status_codes DLLStartMeasurement_blocking | ( | ) |
This function is starting the measurement and returns when the measurement is done.
When there are multiple boards, all boards are starting the measurement. Create a new thread for calling this function, when you don't want to have a blocking call.
DllAccess void DLLStartMeasurement_nonblocking | ( | ) |
This function is starting the measurement and returns immediately.
StartMeasurement is run a new thread. When there are multiple boards, all boards are starting the measurement. You can check the status of the measurement with DLLGetMeasureOn and DLLGetBlockOn or create a blocking call with DLLWaitForMeasureDone and DLLWaitForBlockDone.
DllAccess es_status_codes DLLWaitForBlockDone | ( | ) |
Returns when block on bit is 0 in all boards selected by settings parameter measurement_settings::board_sel.
DllAccess es_status_codes DLLWaitForMeasureDone | ( | ) |
Returns when measure on bit is 0 in all boards selected by settings parameter measurement_settings::board_sel.
DllAccess es_status_codes DLLwriteRegisterS0_32 | ( | uint32_t | data, |
uint32_t | address ) |
Write 4 bytes of a register in S0 space for all boards selected by settings parameter measurement_settings::board_sel.
[in] | data | Data to write. |
[in] | address | Address of the register to read. |
DllAccess es_status_codes DLLwriteRegisterS0_8 | ( | uint8_t | data, |
uint32_t | address ) |
Write the same 1 byte to a register in S0 space of all boards selected by settings parameter measurement_settings::board_sel.
[in] | data | Data to write. |
[in] | address | Address of the register to write. |
unsigned __stdcall StartMeasurementThread | ( | void * | param | ) |
Internal use only.
int nProcessCount = 0 |
Internal use only.
int nThreadCount = 0 |
Internal use only.