diff --git a/peakCentering/sourceCode/peakCentering.cpp b/peakCentering/sourceCode/peakCentering.cpp index 4556bcd..ffc1b7b 100644 --- a/peakCentering/sourceCode/peakCentering.cpp +++ b/peakCentering/sourceCode/peakCentering.cpp @@ -53,6 +53,7 @@ void peakCentering( RgnPix zeroData = {0,0,0,0,0,0,0}; //ping-pong buffer RgnPix HSyncData_d1 = {0,0,0,0,0,0,0}; + ap_uint<12> LazerWinX_d1 = 0; ap_uint<8> lineBuff_0[RGN_DATA_WIN_SIZE * 2]; //#pragma HLS RESOURCE variable=lineBuff_0 core=RAM_2P ap_uint<8> lineBuff_1[RGN_DATA_WIN_SIZE * 2]; @@ -89,18 +90,21 @@ void peakCentering( if(0 == i) //HSync { - if ((n > 0) &&( linePk.len>0)) - OutCenteringPnt.write(HSyncData_d1); - HSyncData_d1 = InData; - - pkRng_S = InData.RltvRdx.range(3,0) + RGN_DATA_WIN_SIZE/2; - pkRng_E = InData.RltvRdx.range(7,4) + RGN_DATA_WIN_SIZE/2; - evenFlag = n%2; if(0 == linePk.len) pkCenter = RGN_DATA_WIN_SIZE/2; else pkCenter = linePk.start + (linePk.len >> 1); + HSyncData_d1.LazerWinX = LazerWinX_d1 + pkCenter; + + if ((n > 0) &&( linePk.len>0)) + OutCenteringPnt.write(HSyncData_d1); + HSyncData_d1 = InData; + LazerWinX_d1 = InData.LazerWinX - RGN_DATA_WIN_SIZE; + + pkRng_S = InData.RltvRdx.range(3,0) + RGN_DATA_WIN_SIZE/2; + pkRng_E = InData.RltvRdx.range(7,4) + RGN_DATA_WIN_SIZE/2; + linePk.start = 0; linePk.len = 0; linePk.value = 0;