16#include "lscpciej/lscpciej.h"
18#define ES_LOG(...) lscpciej_log_error(__VA_ARGS__);
19#define ES_TRACE(...) lscpciej_log_trace(__VA_ARGS__);
30#define ES_LOG(...) fprintf(stderr, __VA_ARGS__);
80void Start2dViewer(uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos);
81void ShowNewBitmap(uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos);
bool _SHOW_MSG
Definition Board_ll.c:18
uint16_t checkEscapeKeyState()
Check if escape key was pressed.
Definition Board_ll.c:586
es_status_codes FreeMemInfo(uint64_t *pmemory_all, uint64_t *pmemory_free)
Get the free and installed memory info.
Definition Board_ll.c:424
es_status_codes readConfig_32(uint32_t drvno, uint32_t *data, uint32_t address)
Read long (32 bit) from runtime register of PCIe board.
Definition Board_ll.c:394
es_status_codes AboutTLPs(uint32_t drvno)
Definition Board_ll.c:1116
void WaitForAllInterruptsDone()
Wait until all interrupts are done or timeout occurs.
Definition Board_ll.c:1011
uint16_t GetGammaBlack()
return gamma value black
Definition Board_ll.c:1329
void ValMsg(uint64_t val)
Simple display of unsigned integer as error message for test purpose.
Definition Board_ll.c:1199
void initPerformanceCounter()
Initialize performance counter for high resolution timing.
Definition Board_ll.c:501
void ErrMsgBoxOff()
Disable error message boxes, if not needed.
Definition Board_ll.c:1176
void UnlockHighLevelMutex(uint32_t drvno)
Unlock the mutex for register read/write.
Definition Board_ll.c:1355
void ShowNewBitmap(uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos)
Update the displayed bitmap.
Definition Board_ll.c:1257
void copyRestData(uint32_t drvno, size_t rest_in_bytes)
DMA copies in blocks of dmaBufferSizeInWords/DMA_BUFFER_PARTS - the rest is copied here.
Definition Board_ll.c:303
es_status_codes _ExitDriver()
Exit driver. Call this after Cleanup driver.
Definition Board_ll.c:376
int64_t GetTimestampInMilliseconds()
Get the current timestamp in milliseconds.
Definition Board_ll.c:532
es_status_codes readRegister_32(uint32_t drvno, uint32_t *data, uint32_t address)
Reads 4 bytes on DMA area.
Definition Board_ll.c:108
es_status_codes _InitDriver(uint8_t *_number_of_boards)
Windows specific function for initializing driver.
Definition Board_ll.c:338
es_status_codes AboutS0(uint32_t drvno)
Read registers of space0. Space0 are the control registers of the PCIe board.
Definition Board_ll.c:1102
es_status_codes AboutCameraSettings(uint32_t drvno)
Show camera settings in a message box.
Definition Board_ll.c:1157
void ErrMsgBoxOn()
Switch on error message boxes of our software. Default is On.
Definition Board_ll.c:1168
es_status_codes writeRegister_16(uint32_t drvno, uint16_t data, uint32_t address)
Writes 16 bits (2 bytes) to register.
Definition Board_ll.c:186
es_status_codes disableInterrupt(uint32_t drvno)
Disable interrupt.
Definition Board_ll.c:274
es_status_codes AboutGPX(uint32_t drvno)
Reads registers 0 to 12 of TDC-GPX chip. Time delay counter option.
Definition Board_ll.c:1088
uint8_t WaitforTelapsed(int64_t microseconds)
This functions returns after a time given in microseconds. The time is measured in CPU ticks....
Definition Board_ll.c:558
void LockHighLevelMutex(uint32_t drvno)
Lock the mutex for register read/write.
Definition Board_ll.c:1345
es_status_codes writeRegister_32(uint32_t drvno, uint32_t data, uint32_t address)
Writes 32 bits (4 bytes) to register.
Definition Board_ll.c:168
int64_t GetTimestampInMicroseconds()
Get the current timestamp in microseconds.
Definition Board_ll.c:522
es_status_codes InitMutex(uint32_t drvno)
Initialize mutexes for register read/write.
Definition Board_ll.c:485
uint16_t * getVirtualDmaAddress(uint32_t drvno)
Get the virtual address of the DMA buffer.
Definition Board_ll.c:643
void VerifyData(struct verify_data_parameter *vd)
Check a file for its data consistency.
Definition Board_ll.c:920
es_status_codes AboutPCI(uint32_t drvno)
Read registers of PCIe config space.
Definition Board_ll.c:1130
es_status_codes SaveMeasurementDataToFileBIN(const char *filename)
Export the measurement data to a binary file.
Definition Board_ll.c:683
es_status_codes SetPriority()
Set thread to high priority level.
Definition Board_ll.c:613
es_status_codes AboutMeasurementSettings()
Show measurement settings in a message box.
Definition Board_ll.c:1143
void Start2dViewer(uint32_t drvno, uint32_t block, uint16_t camera, uint16_t pixel, uint32_t nos)
Start 2d viewer.
Definition Board_ll.c:1219
void ResetBufferWritePos(uint32_t drvno)
Reset the buffer write pointers and software ISR counter.
Definition Board_ll.c:287
uint16_t GetGammaWhite()
return gamma value white
Definition Board_ll.c:1316
es_status_codes About(uint32_t board_sel)
Display information about registers and settings in pop up windows.
Definition Board_ll.c:1038
void writeToDisc(uint32_t *drvno_ptr)
Thread function which writes data from user buffer to disc.
Definition Board_ll.c:846
int64_t getCurrentInterruptCounter(uint32_t drvno)
Get the current interrupt counter.
Definition Board_ll.c:666
es_status_codes writeRegister_8(uint32_t drvno, uint8_t data, uint32_t address)
Write byte (8 bit) to register in space0 of PCIe board, except r10-r1f.
Definition Board_ll.c:204
es_status_codes ResetPriority()
Reset thread priority to normal.
Definition Board_ll.c:628
void getFileHeaderFromFile(struct file_header *fh, const char *filename_full)
Open the file at filename_full and write the header to fh.
Definition Board_ll.c:992
void writeFileHeaderToFile(uint32_t drvno)
Creates a file at filename_full and writes struct file_header to it.
Definition Board_ll.c:816
es_status_codes StartCopyDataToUserBufferThread(uint32_t drvno)
Start thread which polls DMA buffer to user buffer when software polling is used.
Definition Board_ll.c:467
es_status_codes enableInterrupt(uint32_t drvno)
Enable interrupt.
Definition Board_ll.c:260
es_status_codes CopyFromFileToUserBufferBIN(const char *filename)
Import measurement data from binary file to user buffer.
Definition Board_ll.c:728
void ErrorMsg(char ErrMsg[100])
Display error message. If ErrMsgBoxOn is set.
Definition Board_ll.c:1186
void closeFile(uint32_t drvno)
Close the file.
Definition Board_ll.c:793
es_status_codes readRegister_8(uint32_t drvno, uint8_t *data, uint32_t address)
Read byte (8 bit) from register of PCIe board, except r10-r1f.
Definition Board_ll.c:148
es_status_codes checkDriverHandle(uint32_t drvno)
Definition Board_ll.c:220
es_status_codes SetupDma(uint32_t drvno)
Allocate DMA buffer - should only be called once.
Definition Board_ll.c:239
uint64_t getPhysicalDmaAddress(uint32_t drvno)
Definition Board_ll.c:227
es_status_codes CleanupDriver(uint32_t drvno)
Cleanup driver. Call this before Exit driver.
Definition Board_ll.c:356
void setTimestamp()
Set the start timestamp that is used for file name and file header.
Definition Board_ll.c:803
uint16_t checkSpaceKeyState()
Check if space key was pressed.
Definition Board_ll.c:599
uint32_t getDmaBufferSizeInBytes(uint32_t drvno)
Get the size of the DMA buffer in bytes.
Definition Board_ll.c:653
es_status_codes _InitBoard(uint32_t drvno)
Initializes PCIe board on a platform specific way.
Definition Board_ll.c:326
int64_t GetTimestampInTicks()
Get the current timestamp in ticks.
Definition Board_ll.c:510
es_status_codes writeConfig_32(uint32_t drvno, uint32_t data, uint32_t address)
Write long (32 bit) to register in space0 of PCIe board.
Definition Board_ll.c:409
es_status_codes AboutDrv(uint32_t drvno)
Shows window with infos about the PCIe board.
Definition Board_ll.c:1074
void openFile(uint32_t drvno)
Open a file or create it for writing measurement data.
Definition Board_ll.c:754
void SetGammaValue(uint16_t white, uint16_t black)
Set gamma value.
Definition Board_ll.c:1302
void Deinit2dViewer()
Call when closing 2d viewer or at least before opening a new 2d viewer.
Definition Board_ll.c:1287
int64_t ConvertTicksToMicroseconds(int64_t ticks)
Translate ticks to microseconds.
Definition Board_ll.c:542
es_status_codes readRegister_16(uint32_t drvno, uint16_t *data, uint32_t address)
Reads long on DMA area.
Definition Board_ll.c:128
void startWriteToDiscThead(uint32_t drvno)
Start thread which writes data from user buffer to disc.
Definition Board_ll.c:907
Status codes for the return values of the functions in this library.
es_status_codes
Definition es_status_codes.h:15
Global variables that are used in this library.
#define MAXPCIECARDS
Maximum number of PCIe cards.
Definition struct.h:19