if (USB_IsConnected()) USB_Close(); USB_Open(); LutEntry LutEntries[] = { { 0,//int index 0, // int TrigType 0, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack true, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 1, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 2, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 3, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 4, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 5, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 6, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 7, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 8, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 9, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 10, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 11, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 12, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 13, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 14, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 15, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 16, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 17, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 18, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 19, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 20, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 21, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 22, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 0,//int index 0, // int TrigType 23, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) }, { 1,//int index 0, // int TrigType 0, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack true, // bool BufSwap false // bool trigOutPrev)) },{ 1,//int index 0, // int TrigType 1, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack true, // bool BufSwap false // bool trigOutPrev)) },{ 1,//int index 0, // int TrigType 2, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) },{ 1,//int index 0, // int TrigType 3, // int PatNum 1, // int BitDepth 1, // int LEDSelect false, // bool InvertPat true, // bool InsertBlack false, // bool BufSwap false // bool trigOutPrev)) } }; int NumberOfLutEntries = (sizeof(LutEntries) / sizeof(LutEntry)); if (LCR_SetMode(true) < 0) // Pattern display mode { printf("Error LCR_SetMode\n"); return; } if (LCR_PatternDisplay(0) < 0) // Stop Pattern Display { printf("Error LCR_PatternDisplay\n"); return; } // if (LCR_SetInputSource(0, 1) < 0) // FPD-Link, 24 bit // { // printf("Error LCR_SetInputSource\n"); // return; // } // if (LCR_SetPatternDisplayMode(true) < 0) // FPD-Link // { // printf("Error LCR_SetPatternDisplayMode\n"); // return; // } LCR_ClearPatLut(); unsigned char splashLut[64]; int numSplashLutEntries=0; for (int j = 0; j < NumberOfLutEntries; j++) { if (LCR_AddToPatLut( LutEntries[j].TrigType, LutEntries[j].PatNum, LutEntries[j].BitDepth, LutEntries[j].LEDSelect, LutEntries[j].InvertPat, LutEntries[j].InsertBlack, LutEntries[j].BufSwap, LutEntries[j].trigOutPrev ) < 0) { printf("Error LCR_AddToPatLut for index: %d\n", j); return; } splashLut[numSplashLutEntries++] = LutEntries[j].index; } if (LCR_SetPatternConfig( NumberOfLutEntries /*numLutEntries*/, 0 /*repeat*/, NumberOfLutEntries /*numPatsForTrigOut2*/, numSplashLutEntries /*numSplashLutEntries*/) < 0) { printf("Error LCR_SetPatternConfig\n"); return; } if (LCR_SetExposure_FramePeriod(EXPOSURE_PERIOD /*unsigned int exposurePeriod*/, FRAME_PERIOD /*unsigned int framePeriod*/) < 0) { printf("Error LCR_SetExposure_FramePeriod\n"); return; } if (LCR_SetPatternTriggerMode(1) < 0) // VSync triggers pattern { printf("Error Sending trigger Mode\n"); return; } if (LCR_SendPatLut() < 0) { printf("Error LCR_SendPatLut\n"); return; } // No clue what I'm doing here... if (LCR_SendSplashLut(&splashLut[1], numSplashLutEntries) < 0) { printf("Error Sending Image LUT"); return; } unsigned int status; if (LCR_ValidatePatLutData(&status) < 0) { printf("Error validating LUT data\n"); return; }