EBST_CAM
Loading...
Searching...
No Matches
ESLSCDLL.h
Go to the documentation of this file.
1/*****************************************************************/
9
10#pragma once
11
12#include <stdint.h>
13#include <stddef.h>
14#include <string.h>
19#include "../shared_src/default_settings.h"
20
21// COMPILE_FOR_LABVIEW is defined in the preprocessor definitions of the project ESLSCDLL when Debug-Labview or Release-Labview is chosen as configuration
22#ifdef COMPILE_FOR_LABVIEW
23#include "LabVIEW 2015/cintools/extcode.h"
24#endif
25
26#ifdef COMPILE_FOR_LABVIEW
27extern LVUserEventRef measureStartLVEvent;
28extern LVUserEventRef measureDoneLVEvent;
29extern LVUserEventRef blockStartLVEvent;
30extern LVUserEventRef blockDoneLVEvent;
31extern LVUserEventRef allBlocksDoneLVEvent;
32#endif
33
34#ifdef WIN32
35#define DllAccess __declspec( dllexport )
36
37#else
38#define DllAccess
39#endif
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
45//************ High level API
46// Basic operation of Stresing cameras:
47// 1) Initialize the driver. Call it once at startup.
48DllAccess es_status_codes DLLInitDriver(uint8_t* _number_of_boards);
49// 2) Use this function to properly initialize the struct measurement_settings to its default values.
51// 3) Initialize Hardware and Software for the Measurement. Call it once at startup and every time you changed settings.
53DllAccess 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);
54// 4) Start the measurement. Call it every time you want to measure.
57// 4b) Use this call, if you want to abort the measurement.
59// 5) Get the data with one of the following calls. Call it how many times you want.
60DllAccess es_status_codes DLLCopyOneSample(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera, uint16_t* pdest);
61DllAccess 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);
62DllAccess es_status_codes DLLCopyOneBlock(uint32_t drvno, uint16_t block, uint16_t* pdest);
63DllAccess es_status_codes DLLCopyOneBlock_multipleBoards(uint16_t block, uint16_t* pdest0, uint16_t* pdest1, uint16_t* pdest2, uint16_t* pdest3, uint16_t* pdest4);
64DllAccess es_status_codes DLLCopyOneBlockOfOneCamera(uint32_t drvno, uint32_t block, uint16_t camera, uint16_t* pdest);
65DllAccess 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);
66DllAccess es_status_codes DLLCopyAllData(uint32_t drvno, uint16_t* pdest);
67DllAccess es_status_codes DLLCopyAllData_multipleBoards(uint16_t* pdest0, uint16_t* pdest1, uint16_t* pdest2, uint16_t* pdest3, uint16_t* pdest4);
68DllAccess 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);
69DllAccess 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);
70DllAccess es_status_codes DLLGetOneBlockPointer(uint32_t drvno, uint32_t block, uint16_t** pdest, size_t* bytes_to_end_of_buffer);
71DllAccess es_status_codes DLLGetAllDataPointer(uint32_t drvno, uint16_t** pdest, size_t* bytes_to_end_of_buffer);
72DllAccess 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);
73#ifndef MINIMAL_BUILD
75#endif
76// 6) Before exiting your software, use this call for cleanup.
78
79//************ Mid level API
80#ifndef MINIMAL_BUILD
82#endif
83//************ system info & control
84DllAccess void DLLFreeMemInfo(uint64_t* pmemory_all, uint64_t* pmemory_free);
87DllAccess double DLLCalcRamUsageInMB(uint32_t nos, uint32_t nob);
88DllAccess double DLLCalcMeasureTimeInSeconds(uint32_t nos, uint32_t nob, double exposure_time_in_ms);
90#ifdef COMPILE_FOR_LABVIEW
91DllAccess void DLLRegisterLVEvents(LVUserEventRef* measureStartEvent, LVUserEventRef* measureDoneEvent, LVUserEventRef* blockStartEvent, LVUserEventRef* blockDoneEvent, LVUserEventRef* allBlocksDoneEvent);
92#endif
95//************ Cam infos
98DllAccess es_status_codes DLLGetMeasureOn(uint32_t drvno, uint8_t* measureOn);
99DllAccess es_status_codes DLLGetMeasureOn_multipleBoards(uint8_t* measureOn0, uint8_t* measureOn1, uint8_t* measureOn2, uint8_t* measureOn3, uint8_t* measureOn4);
100DllAccess void DLLGetCurrentScanNumber(uint32_t drvno, int64_t* sample, int64_t* block);
101DllAccess 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);
102DllAccess es_status_codes DLLReadScanFrequencyBit(uint32_t drvno, uint8_t* scanFrequencyTooHigh);
103DllAccess es_status_codes DLLReadScanFrequencyBit_multipleBoards(uint8_t* scanFrequencyTooHigh0, uint8_t* scanFrequencyTooHigh1, uint8_t* scanFrequencyTooHigh2, uint8_t* scanFrequencyTooHigh3, uint8_t* scanFrequencyTooHigh4);
106DllAccess es_status_codes DLLReadBlockFrequencyBit(uint32_t drvno, uint8_t* blockFrequencyTooHigh);
107DllAccess es_status_codes DLLReadBlockFrequencyBit_multipleBoards(uint8_t* blockFrequencyTooHigh0, uint8_t* blockFrequencyTooHigh1, uint8_t* blockFrequencyTooHigh2, uint8_t* blockFrequencyTooHigh3, uint8_t* blockFrequencyTooHigh4);
110DllAccess es_status_codes DLLGetCameraStatusOverTemp(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t* overTemp);
111DllAccess 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);
112DllAccess es_status_codes DLLGetCameraStatusTempGood(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t* tempGood);
113DllAccess 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);
114DllAccess es_status_codes DLLFindCam(uint32_t drvno);
115DllAccess es_status_codes DLLFindCam_multipleBoards(uint8_t* cameraFound0, uint8_t* cameraFound1, uint8_t* cameraFound2, uint8_t* cameraFound3, uint8_t* cameraFound4);
116DllAccess es_status_codes DLLGetBlockOn(uint32_t drvno, uint8_t* blockOn);
117DllAccess es_status_codes DLLGetBlockOn_multipleBoards(uint8_t* blockOn0, uint8_t* blockOn1, uint8_t* blockOn2, uint8_t* blockOn3, uint8_t* blockOn4);
118DllAccess es_status_codes DLLDumpS0Registers(uint32_t drvno, char** stringPtr);
119DllAccess es_status_codes DLLDumpHumanReadableS0Registers(uint32_t drvno, char** stringPtr);
120DllAccess es_status_codes DLLDumpDmaRegisters(uint32_t drvno, char** stringPtr);
121DllAccess es_status_codes DLLDumpTlpRegisters(uint32_t drvno, char** stringPtr);
123DllAccess es_status_codes DLLDumpCameraSettings(uint32_t drvno, char** stringPtr);
124DllAccess es_status_codes DLLDumpPciRegisters(uint32_t drvno, char** stringPtr);
125DllAccess es_status_codes DLLAboutDrv(uint32_t drvno, char** stringPtr);
126DllAccess es_status_codes DLLAboutGPX(uint32_t drvno, char** stringPtr);
127DllAccess void DLLGetVerifiedDataDialog(struct verify_data_parameter* vd, char** resultString);
128DllAccess uint8_t DLLGetIsRunning();
129DllAccess es_status_codes DLLGetBlockIndex(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint32_t* blockIndex);
130DllAccess es_status_codes DLLGetScanIndex(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint32_t* scanIndex);
131DllAccess es_status_codes DLLGetS1State(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t* state);
132DllAccess es_status_codes DLLGetS2State(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint8_t* state);
133DllAccess es_status_codes DLLGetImpactSignal1(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint32_t* impactSignal);
134DllAccess es_status_codes DLLGetImpactSignal2(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, uint32_t* impactSignal);
135DllAccess uint32_t DLLGetVirtualCamcnt(uint32_t drvno);
137//************ Control CAM
140DllAccess es_status_codes DLLOutTrigPulse(int64_t PulseWidth);
146DllAccess es_status_codes DLLSetTORReg(uint32_t drvno, uint8_t tor);
148DllAccess es_status_codes DLLDAC8568_setAllOutputs(uint32_t drvno, uint8_t location, uint8_t cameraPosition, uint32_t* output, uint8_t reorder_channels);
149DllAccess 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);
150DllAccess es_status_codes DLLIOCtrl_setAllOutputs(uint32_t* width_in_5ns, uint32_t* delay_in_5ns);
151DllAccess es_status_codes DLLIOCtrl_setT0(uint32_t drvno, uint32_t period_in_10ns);
153DllAccess es_status_codes DLLIOCtrl_setOutput(uint32_t drvno, uint32_t number, uint16_t width_in_5ns, uint16_t delay_in_5ns);
154DllAccess es_status_codes DLLGetIsTdc(uint32_t drvno, uint8_t* isTdc);
155DllAccess es_status_codes DLLGetIsTdc_multipleBoards(uint8_t* isTdc0, uint8_t* isTdc1, uint8_t* isTdc2, uint8_t* isTdc3, uint8_t* isTdc4);
156DllAccess es_status_codes DLLGetIsDsc(uint32_t drvno, uint8_t* isDsc);
157DllAccess es_status_codes DLLGetIsDsc_multipleBoards(uint8_t* isDsc0, uint8_t* isDsc1, uint8_t* isDsc2, uint8_t* isDsc3, uint8_t* isDsc4);
158DllAccess es_status_codes DLLResetDSC(uint32_t drvno, uint8_t DSCNumber);
160DllAccess es_status_codes DLLSetDIRDSC(uint32_t drvno, uint8_t DSCNumber, uint8_t dir);
161DllAccess es_status_codes DLLSetDIRDSC_multipleBoards(uint8_t DSCNumber, uint8_t dir);
162DllAccess es_status_codes DLLGetDSC(uint32_t drvno, uint8_t DSCNumber, uint32_t* ADSC, uint32_t* LDSC);
163DllAccess 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);
164DllAccess es_status_codes DLLInitGPX(uint32_t delay);
165DllAccess es_status_codes DLLGetAllSpecialPixelInformation(uint32_t drvno, uint32_t sample, uint32_t block, uint16_t camera_pos, struct special_pixels* sp);
166DllAccess 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);
167DllAccess es_status_codes DLLSetSTimer(uint32_t drvno, uint32_t stime);
168DllAccess es_status_codes DLLSetBTimer(uint32_t drvno, uint32_t btime);
169DllAccess es_status_codes DLLGetXckLength(uint32_t drvno, uint32_t* xckLengthIn10ns);
170DllAccess es_status_codes DLLGetXckPeriod(uint32_t drvno, uint32_t* xckPeriodIn10ns);
171DllAccess es_status_codes DLLGetBonLength(uint32_t drvno, uint32_t* bonLengthIn10ns);
172DllAccess es_status_codes DLLGetBonPeriod(uint32_t drvno, uint32_t* bonPeriodIn10ns);
173DllAccess es_status_codes DLLGetXckLength_multipleBoards(uint32_t* xckLengthIn10ns0, uint32_t* xckLengthIn10ns1, uint32_t* xckLengthIn10ns2, uint32_t* xckLengthIn10ns3, uint32_t* xckLengthIn10ns4);
174DllAccess es_status_codes DLLGetXckPeriod_multipleBoards(uint32_t* xckPeriodIn10ns0, uint32_t* xckPeriodIn10ns1, uint32_t* xckPeriodIn10ns2, uint32_t* xckPeriodIn10ns3, uint32_t* xckPeriodIn10ns4);
175DllAccess es_status_codes DLLGetBonLength_multipleBoards(uint32_t* bonLengthIn10ns0, uint32_t* bonLengthIn10ns1, uint32_t* bonLengthIn10ns2, uint32_t* bonLengthIn10ns3, uint32_t* bonLengthIn10ns4);
176DllAccess es_status_codes DLLGetBonPeriod_multipleBoards(uint32_t* bonPeriodIn10ns0, uint32_t* bonPeriodIn10ns1, uint32_t* bonPeriodIn10ns2, uint32_t* bonPeriodIn10ns3, uint32_t* bonPeriodIn10ns4);
177DllAccess es_status_codes DLLGetScanTriggerDetected(uint32_t drvno, uint8_t* detected);
178DllAccess es_status_codes DLLGetBlockTriggerDetected(uint32_t drvno, uint8_t* detected);
181DllAccess es_status_codes DLLGetScanTriggerDetected_multipleBoards(uint8_t* detected0, uint8_t* detected1, uint8_t* detected2, uint8_t* detected3, uint8_t* detected4);
182DllAccess es_status_codes DLLGetBlockTriggerDetected_multipleBoards(uint8_t* detected0, uint8_t* detected1, uint8_t* detected2, uint8_t* detected3, uint8_t* detected4);
185DllAccess es_status_codes DLLDAC8568_setOutput(uint32_t drvno, uint8_t location, uint8_t cameraPosition, uint8_t channel, uint16_t output);
186DllAccess es_status_codes DLLCheckFifoValid(uint32_t drvno, uint8_t* valid);
187DllAccess es_status_codes DLLCheckFifoOverflow(uint32_t drvno, uint8_t* overflow);
188DllAccess es_status_codes DLLCheckFifoEmpty(uint32_t drvno, uint8_t* empty);
189DllAccess es_status_codes DLLCheckFifoFull(uint32_t drvno, uint8_t* full);
190DllAccess void DLLSetMeasureStartHook(void(*hook)());
191DllAccess void DLLSetMeasureDoneHook(void(*hook)());
192DllAccess void DLLSetBlockStartHook(void(*hook)());
193DllAccess void DLLSetBlockDoneHook(void(*hook)());
194DllAccess void DLLSetAllBlocksDoneHook(void(*hook)());
195DllAccess es_status_codes DLLSetGeneralOutput(uint32_t drvno, uint8_t output, uint8_t state);
196DllAccess es_status_codes DLLSetShutterStates(uint32_t drvno, uint16_t shutter_states);
197//************ read and write functions
198DllAccess es_status_codes DLLreadRegisterS0_8(uint32_t drvno, uint8_t* data, uint32_t address);
199DllAccess es_status_codes DLLreadRegisterS0_8_multipleBoards(uint8_t* data0, uint8_t* data1, uint8_t* data2, uint8_t* data3, uint8_t* data4, uint32_t address);
200DllAccess es_status_codes DLLwriteRegisterS0_8(uint8_t data, uint32_t address);
201DllAccess es_status_codes DLLreadRegisterS0_32(uint32_t drvno, uint32_t* data, uint32_t address);
202DllAccess es_status_codes DLLreadRegisterS0_32_multipleBoards(uint32_t* data0, uint32_t* data1, uint32_t* data2, uint32_t* data3, uint32_t* data4, uint32_t address);
203DllAccess es_status_codes DLLwriteRegisterS0_32(uint32_t data, uint32_t address);
204DllAccess es_status_codes DLLsetBitS0_32(uint32_t bitnumber, uint32_t address);
205DllAccess es_status_codes DLLresetBitS0_32(uint32_t bitnumber, uint32_t address);
206DllAccess es_status_codes DLLReadBitS0_32(uint32_t drvno, uint32_t address, uint8_t bitnumber, uint8_t* isBitHigh);
207DllAccess 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);
208DllAccess es_status_codes DLLReadBitS0_8(uint32_t drvno, uint32_t address, uint8_t bitnumber, uint8_t* isBitHigh);
209DllAccess 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);
210#ifndef MINIMAL_BUILD
211DllAccess es_status_codes DLLCalcTrms(uint32_t drvno, uint32_t firstSample, uint32_t lastSample, uint32_t TRMS_pixel, uint16_t CAMpos, double* mwf, double* trms);
212DllAccess 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);
216DllAccess void DLLErrorMsg(char ErrMsg[20]);
217//************ 2d greyscale viewer
218DllAccess void DLLStart2dViewer(uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos);
219DllAccess void DLLShowNewBitmap(uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos);
221DllAccess void DLLSetGammaValue(uint16_t white, uint16_t black);
222DllAccess uint16_t DLLGetGammaWhite();
223DllAccess uint16_t DLLGetGammaBlack();
224#endif
225
226#ifdef __cplusplus
227}
228#endif
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...
Definition ESLSCDLL.c:315
DllAccess uint16_t DLLGetGammaBlack()
return gamma value black
Definition ESLSCDLL.c:2038
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 measuremen...
Definition ESLSCDLL.c:353
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.
Definition ESLSCDLL.c:2108
DllAccess es_status_codes DLLAboutDrv(uint32_t drvno, char **stringPtr)
Return infos about the PCIe board.
Definition ESLSCDLL.c:903
DllAccess void DLLStartMeasurement_nonblocking()
This function is starting the measurement and returns immediately.
Definition ESLSCDLL.c:177
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.
Definition ESLSCDLL.c:652
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...
Definition ESLSCDLL.c:1644
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.
Definition ESLSCDLL.c:2136
DllAccess es_status_codes DLLOpenShutter(uint32_t drvno)
Open shutter for sensors with EC (exposure control) / sets IFC signal = high.
Definition ESLSCDLL.c:1013
DllAccess es_status_codes DLLResetDSC_multipleBoards(uint8_t DSCNumber)
reset Delay Stage Counter for all boards selected by settings parameter measurement_settings::board_s...
Definition ESLSCDLL.c:1712
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.
Definition ESLSCDLL.c:620
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.
Definition ESLSCDLL.c:1890
DllAccess void DLLErrorMsg(char ErrMsg[20])
Display error message. If ErrMsgBoxOn is set.
Definition ESLSCDLL.c:1960
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.
Definition ESLSCDLL.c:752
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.
Definition ESLSCDLL.c:828
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.
Definition ESLSCDLL.c:291
DllAccess es_status_codes DLLSaveMeasurementDataToFile(const char *filename)
Export the measurement data to a file.
Definition ESLSCDLL.c:2051
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.
Definition ESLSCDLL.c:1230
DllAccess void DLLStart2dViewer(uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos)
Start 2d viewer.
Definition ESLSCDLL.c:1983
DllAccess void DLLSetBlockDoneHook(void(*hook)())
Set a function which will be executed every time when a block ends.
Definition ESLSCDLL.c:2271
DllAccess es_status_codes DLLResetBlockFrequencyBit(uint32_t drvno)
Resets the BlockFrequency bit.
Definition ESLSCDLL.c:594
DllAccess void DLLShowNewBitmap(uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos)
Update the displayed bitmap.
Definition ESLSCDLL.c:1994
DllAccess es_status_codes DLLGetXckLength(uint32_t drvno, uint32_t *xckLengthIn10ns)
Get the high time duration of XCK from the S0 register S0Addr_XCKLEN.
Definition ESLSCDLL.c:1331
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.
Definition ESLSCDLL.c:636
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.
Definition ESLSCDLL.c:855
DllAccess es_status_codes DLLOutTrigLow()
Reset trigger out(Reg CtrlA:D3) for all boards selected by settings parameter measurement_settings::b...
Definition ESLSCDLL.c:977
DllAccess es_status_codes DLLDumpMeasurementSettings(char **stringPtr)
Dump all measurement settings to a string.
Definition ESLSCDLL.c:879
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 paramet...
Definition ESLSCDLL.c:515
DllAccess es_status_codes DLLAbout()
Display information about registers and settings in pop up windows.
Definition ESLSCDLL.c:1971
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_setti...
Definition ESLSCDLL.c:469
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.
Definition ESLSCDLL.c:1680
DllAccess es_status_codes DLLOutTrigHigh()
Set trigger out(Reg CtrlA:D3) for all boards selected by settings parameter measurement_settings::boa...
Definition ESLSCDLL.c:958
DllAccess es_status_codes DLLResetScanFrequencyBit(uint32_t drvno)
Resets the ScanFrequency bit.
Definition ESLSCDLL.c:534
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.
Definition ESLSCDLL.c:1376
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 paramet...
Definition ESLSCDLL.c:575
DllAccess es_status_codes DLLGetIsTdc(uint32_t drvno, uint8_t *isTdc)
Read TDC flag in PCIEFLAGS register.
Definition ESLSCDLL.c:1629
DllAccess es_status_codes DLLFindCam(uint32_t drvno)
Test if SFP module is there and fiber is linked up.
Definition ESLSCDLL.c:772
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.
Definition ESLSCDLL.c:299
DllAccess es_status_codes DLLStartMeasurement_blocking()
This function is starting the measurement and returns when the measurement is done.
Definition ESLSCDLL.c:153
DllAccess es_status_codes DLLResetBlockFrequencyBit_multipleBoards()
Resets the BlockFrequency bit.
Definition ESLSCDLL.c:604
DllAccess uint32_t DLLGetVirtualCamcnt(uint32_t drvno)
Get the variable virtualCamcnt.
Definition ESLSCDLL.c:680
DllAccess es_status_codes DLLInitMeasurement(struct measurement_settings settings)
Initialize measurement (using board select).
Definition ESLSCDLL.c:116
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.
Definition ESLSCDLL.c:1478
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.
Definition ESLSCDLL.c:1106
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.
Definition ESLSCDLL.c:275
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.
Definition ESLSCDLL.c:787
DllAccess es_status_codes DLLreadRegisterS0_32(uint32_t drvno, uint32_t *data, uint32_t address)
Read 4 bytes of a register in S0 space.
Definition ESLSCDLL.c:453
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.
Definition ESLSCDLL.c:668
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_...
Definition ESLSCDLL.c:1081
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.
Definition ESLSCDLL.c:1528
DllAccess es_status_codes DLLSetBTimer(uint32_t drvno, uint32_t btime)
Sets time for block timer.
Definition ESLSCDLL.c:1323
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.
Definition ESLSCDLL.c:1355
DllAccess es_status_codes DLLSetShutterStates(uint32_t drvno, uint16_t shutter_states)
Sets all shutter states in one call.
Definition ESLSCDLL.c:2298
DllAccess es_status_codes DLLreadRegisterS0_8(uint32_t drvno, uint8_t *data, uint32_t address)
Read 1 byte of a register in S0 space.
Definition ESLSCDLL.c:404
DllAccess es_status_codes DLLInitGPX(uint32_t delay)
Initialize the TDC-GPX chip for all boards selected by settings parameter measurement_settings::board...
Definition ESLSCDLL.c:1806
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.
Definition ESLSCDLL.c:1915
DllAccess void DLLSetAllBlocksDoneHook(void(*hook)())
Set a function which will be executed every time when all blocks are done.
Definition ESLSCDLL.c:2282
DllAccess es_status_codes DLLExitDriver()
Exit driver. Call this before exiting software for cleanup.
Definition ESLSCDLL.c:380
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.
Definition ESLSCDLL.c:196
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_se...
Definition ESLSCDLL.c:1781
DllAccess es_status_codes DLLIOCtrl_setT0(uint32_t drvno, uint32_t period_in_10ns)
Set period of IOCtrl pulse outputs base frequency T0.
Definition ESLSCDLL.c:1536
DllAccess es_status_codes DLLGetBlockTriggerDetected(uint32_t drvno, uint8_t *detected)
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected.
Definition ESLSCDLL.c:2077
DllAccess es_status_codes DLLGetScanTriggerDetected(uint32_t drvno, uint8_t *detected)
Read the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected.
Definition ESLSCDLL.c:2069
DllAccess es_status_codes DLLSetTORReg(uint32_t drvno, uint8_t tor)
Set signal of output port of PCIe card.
Definition ESLSCDLL.c:1184
DllAccess es_status_codes DLLCloseShutter(uint32_t drvno)
Sets the IFC bit of interface for sensors with shutter function. IFC=low.
Definition ESLSCDLL.c:1039
DllAccess es_status_codes DLLResetBlockTriggerDetected_multipleBoards()
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected.
Definition ESLSCDLL.c:2179
DllAccess es_status_codes DLLAboutGPX(uint32_t drvno, char **stringPtr)
Reads registers 0 to 12 of TDC-GPX chip. Time delay counter option.
Definition ESLSCDLL.c:911
DllAccess void DLLGetCurrentScanNumber(uint32_t drvno, int64_t *sample, int64_t *block)
Gives scan and block number of the last scan written to userBuffer.
Definition ESLSCDLL.c:1587
DllAccess es_status_codes DLLSetSTimer(uint32_t drvno, uint32_t stime)
Sets time for scan timer.
Definition ESLSCDLL.c:1315
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.
Definition ESLSCDLL.c:135
DllAccess uint16_t DLLGetGammaWhite()
return gamma value white
Definition ESLSCDLL.c:2026
DllAccess es_status_codes DLLResetScanFrequencyBit_multipleBoards()
Resets the ScanFrequency bit.
Definition ESLSCDLL.c:544
DllAccess es_status_codes DLLDumpPciRegisters(uint32_t drvno, char **stringPtr)
Read all PCIe registers and write them to a string.
Definition ESLSCDLL.c:895
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.
Definition ESLSCDLL.c:644
DllAccess es_status_codes DLLInitDriver(uint8_t *_number_of_boards)
Initialize the driver.
Definition ESLSCDLL.c:86
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.
Definition ESLSCDLL.c:919
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 me...
Definition ESLSCDLL.c:1547
DllAccess es_status_codes DLLCloseShutter_multipleBoards()
Sets the IFC bit of interface for sensors with shutter function for all boards set by settings parame...
Definition ESLSCDLL.c:1049
DllAccess es_status_codes DLLResetBlockTriggerDetected(uint32_t drvno)
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_block_trigger_detected to 0.
Definition ESLSCDLL.c:2093
DllAccess es_status_codes DLLResetScanTriggerDetected_multipleBoards()
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected.
Definition ESLSCDLL.c:2159
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 measureme...
Definition ESLSCDLL.c:1069
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.
Definition ESLSCDLL.c:1211
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.
Definition ESLSCDLL.c:628
DllAccess void DLLErrMsgBoxOn()
Switch on error message boxes of our software. Default is On.
Definition ESLSCDLL.c:1937
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_set...
Definition ESLSCDLL.c:492
DllAccess es_status_codes DLLGetBonLength(uint32_t drvno, uint32_t *bonLengthIn10ns)
Get the high time duration of BON from the S0 register S0Addr_BONLEN.
Definition ESLSCDLL.c:1347
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::...
Definition ESLSCDLL.c:214
DllAccess es_status_codes DLLDumpTlpRegisters(uint32_t drvno, char **stringPtr)
Read all TLP registers and write them to a string.
Definition ESLSCDLL.c:871
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.
Definition ESLSCDLL.c:1444
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_settin...
Definition ESLSCDLL.c:420
DllAccess es_status_codes DLLDumpCameraSettings(uint32_t drvno, char **stringPtr)
Dump all camera settings to a string.
Definition ESLSCDLL.c:887
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 measurem...
Definition ESLSCDLL.c:445
DllAccess char * DLLConvertErrorCodeToMsg(es_status_codes status)
Converts a es_status_codes to a human readable error message.
Definition ESLSCDLL.c:1520
DllAccess void DLLErrMsgBoxOff()
Disable error message boxes, if not needed.
Definition ESLSCDLL.c:1948
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.
Definition ESLSCDLL.c:1410
DllAccess es_status_codes DLLDumpDmaRegisters(uint32_t drvno, char **stringPtr)
Read all DMA registers and write them to a string in hex.
Definition ESLSCDLL.c:863
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 measurem...
Definition ESLSCDLL.c:1569
DllAccess void DLLSetMeasureStartHook(void(*hook)())
Set a function which will be executed every time when a measurement starts.
Definition ESLSCDLL.c:2239
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.
Definition ESLSCDLL.c:732
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.
Definition ESLSCDLL.c:372
DllAccess es_status_codes DLLSetDIRDSC(uint32_t drvno, uint8_t DSCNumber, uint8_t dir)
set direction of Delay Stage Counter
Definition ESLSCDLL.c:1730
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.
Definition ESLSCDLL.c:1089
DllAccess es_status_codes DLLCopyOneBlock(uint32_t drvno, uint16_t block, uint16_t *pdest)
Copy the data of a single block to pdest.
Definition ESLSCDLL.c:267
DllAccess es_status_codes DLLOpenShutter_multipleBoards()
Open shutter for sensors with EC (exposure control) / sets IFC signal = high for all boards selected ...
Definition ESLSCDLL.c:1023
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.
Definition ESLSCDLL.c:283
DllAccess void DLLDeinit2dViewer()
Call when closing 2d viewer or at least before opening a new 2d viewer.
Definition ESLSCDLL.c:2005
DllAccess es_status_codes DLLGetMeasureOn(uint32_t drvno, uint8_t *measureOn)
Check if measure on bit is set.
Definition ESLSCDLL.c:1259
DllAccess es_status_codes DLLReadBlockFrequencyBit(uint32_t drvno, uint8_t *blockFrequencyTooHigh)
Reads the BlockFrequency bit and checks if its high or low.
Definition ESLSCDLL.c:560
DllAccess void DLLInitSettingsStruct(struct measurement_settings *ms)
Use this function to properly initialize the struct measurement_settings to its default values.
Definition ESLSCDLL.c:99
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_settin...
Definition ESLSCDLL.c:1742
DllAccess es_status_codes DLLOutTrigPulse(int64_t PulseWidth)
Pulses trigger out(Reg CtrlA:D3) for all boards selected by setings parameter measurement_settings::b...
Definition ESLSCDLL.c:997
DllAccess es_status_codes DLLSetTemp(uint8_t level)
Set temperature level for cooled cameras for all boards selected by settings parameter measurement_se...
Definition ESLSCDLL.c:1168
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::bo...
Definition ESLSCDLL.c:1274
DllAccess es_status_codes DLLDumpS0Registers(uint32_t drvno, char **stringPtr)
Read all S0 registers and write them to a string in hex.
Definition ESLSCDLL.c:847
DllAccess void DLLSetBlockStartHook(void(*hook)())
Set a function which will be executed every time when a block starts.
Definition ESLSCDLL.c:2260
DllAccess es_status_codes DLLCheckFifoValid(uint32_t drvno, uint8_t *valid)
Checks content of FIFO.
Definition ESLSCDLL.c:2205
DllAccess void DLLFreeMemInfo(uint64_t *pmemory_all, uint64_t *pmemory_free)
Get the free and installed memory info.
Definition ESLSCDLL.c:1249
DllAccess es_status_codes DLLWaitForMeasureDone()
Returns when measure on bit is 0 in all boards selected by settings parameter measurement_settings::b...
Definition ESLSCDLL.c:1297
DllAccess int DLLGetProcessCount()
Function for multithreading.
Definition ESLSCDLL.c:388
DllAccess es_status_codes DLLCheckFifoOverflow(uint32_t drvno, uint8_t *overflow)
Check ovl flag (overflow of FIFO).
Definition ESLSCDLL.c:2213
DllAccess uint8_t DLLGetTestModeOn()
Get the variable testModeOn.
Definition ESLSCDLL.c:691
DllAccess void DLLFillUserBufferWithDummyData()
This function inserts data to user buffer for developing purpose.
Definition ESLSCDLL.c:1874
DllAccess es_status_codes DLLCheckFifoFull(uint32_t drvno, uint8_t *full)
Check full flag (FIFO full).
Definition ESLSCDLL.c:2229
DllAccess void DLLSetGammaValue(uint16_t white, uint16_t black)
Set gamma value.
Definition ESLSCDLL.c:2016
DllAccess es_status_codes DLLResetScanTriggerDetected(uint32_t drvno)
Reset the bit PCIEFLAGS_bits_t::PCIEFLAGS_bit_scan_trigger_detected to 0.
Definition ESLSCDLL.c:2085
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.
Definition ESLSCDLL.c:1127
DllAccess es_status_codes DLLAbortMeasurement()
Sets abortMeasurementFlag to true.
Definition ESLSCDLL.c:188
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.
Definition ESLSCDLL.c:711
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.
Definition ESLSCDLL.c:1833
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.
Definition ESLSCDLL.c:1853
DllAccess es_status_codes DLLCheckFifoEmpty(uint32_t drvno, uint8_t *empty)
Check empty flag (FIFO empty).
Definition ESLSCDLL.c:2221
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.
Definition ESLSCDLL.c:1339
DllAccess es_status_codes DLLImportMeasurementDataFromFile(const char *filename)
TODO. missing documentation.
Definition ESLSCDLL.c:2059
DllAccess void DLLSetMeasureDoneHook(void(*hook)())
Set a function which will be executed every time when a measurement ends.
Definition ESLSCDLL.c:2250
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.
Definition ESLSCDLL.c:1144
DllAccess es_status_codes DLLGetBlockOn(uint32_t drvno, uint8_t *blockOn)
Get the block on bit from the PCIe flags register.
Definition ESLSCDLL.c:812
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.
Definition ESLSCDLL.c:660
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.
Definition ESLSCDLL.c:334
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::bo...
Definition ESLSCDLL.c:248
DllAccess uint8_t DLLGetIsRunning()
Get the variable isRunning.
Definition ESLSCDLL.c:931
DllAccess es_status_codes DLLReadScanFrequencyBit(uint32_t drvno, uint8_t *scanFrequencyTooHigh)
Reads the ScanFrequency bit and checks if its high or low.
Definition ESLSCDLL.c:500
DllAccess double DLLCalcMeasureTimeInSeconds(uint32_t nos, uint32_t nob, double exposure_time_in_ms)
Calculate the theoretical time needed for one measurement.
Definition ESLSCDLL.c:947
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_sett...
Definition ESLSCDLL.c:1195
#define DllAccess
Definition ESLSCDLL.h:35
DllAccess es_status_codes DLLSetGeneralOutput(uint32_t drvno, uint8_t output, uint8_t state)
Control the general outputs of the PCIe card addition board.
Definition ESLSCDLL.c:2290
DllAccess es_status_codes DLLResetDSC(uint32_t drvno, uint8_t DSCNumber)
reset Delay Stage Counter
Definition ESLSCDLL.c:1701
DllAccess es_status_codes DLLWaitForBlockDone()
Returns when block on bit is 0 in all boards selected by settings parameter measurement_settings::boa...
Definition ESLSCDLL.c:1307
DllAccess int DLLGetThreadCount()
Function for multithreading.
Definition ESLSCDLL.c:396
DllAccess es_status_codes DLLCopyAllData(uint32_t drvno, uint16_t *pdest)
Copy the data of the complete measurement to pdest.
Definition ESLSCDLL.c:233
DllAccess es_status_codes DLLGetIsDsc(uint32_t drvno, uint8_t *isDsc)
Read DSC flag in PCIEFLAGS register.
Definition ESLSCDLL.c:1665
DllAccess void DLLSetContinuousMeasurement(uint8_t on)
Control looping the measurement.
Definition ESLSCDLL.c:1824
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.
Definition ESLSCDLL.c:2197
DllAccess double DLLCalcRamUsageInMB(uint32_t nos, uint32_t nob)
Calculate needed RAM in MB for given nos and nob.
Definition ESLSCDLL.c:939
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 setting...
Definition ESLSCDLL.c:1611
DllAccess es_status_codes DLLGetDSC(uint32_t drvno, uint8_t DSCNumber, uint32_t *ADSC, uint32_t *LDSC)
return all values of Delay Stage Counter
Definition ESLSCDLL.c:1760
All constants and addresses given by the hardware.
All settings options and software constants.
Status codes for the return values of the functions in this library.
es_status_codes
Definition es_status_codes.h:15
Settings struct for the ESLSCDLL API.
Individual settings for each PCIe board.
Definition struct.h:48
In this struct are settings, that are the same for all PCIe boards.
Definition struct.h:454
In this struct are settings, that are the same for all PCIe boards.
Definition struct.h:405
Definition struct.h:494
Definition struct.h:512