diff --git a/7_compute3D/sourceCode/compute3D.cpp b/7_compute3D/sourceCode/compute3D.cpp index 6a75a56..258af41 100644 --- a/7_compute3D/sourceCode/compute3D.cpp +++ b/7_compute3D/sourceCode/compute3D.cpp @@ -159,6 +159,7 @@ FILTER_POINTS: Pnt3D outData = {0.0f, 0.0f, 0.0f, 0, 0, 0, 0}; UintFloat outTmp; +#if 0 outTmp.unData = frmNo; outData.x = outTmp.fdata; outTmp.unData = timeStamp; @@ -177,6 +178,40 @@ FILTER_POINTS: else outData.Sync = 0b00; outPt3D.write(outData); +#else + //1st: frameNo + outData.Sync = 0b10; + outTmp.unData = frmNo; + outData.x = outTmp.fdata; + outPt3D.write(outData); + //2nd: timeStamp + outData.Sync = 0b00; + outTmp.unData = timeStamp; + outData.x = outTmp.fdata; + outPt3D.write(outData); + //3rd:encInfo + outData.Sync = 0b00; + outTmp.unData = encInfo; + outData.x = outTmp.fdata; + outPt3D.write(outData); + //4th: frmW, frmH + outData.Sync = 0b00; + outData.x = 0.0f; + outPt3D.write(outData); + //5th: frmX, WinNum + outData.Sync = 0b00; + outTmp.unData = (unsigned int)outSize; + outTmp.unData &= 0xffff; + outData.x = outTmp.fdata; + outPt3D.write(outData); + //6th: frmY + if(outSize == 0) + outData.Sync = 0b11; + else + outData.Sync = 0b00; + outData.x = 0.0f; + outPt3D.write(outData); +#endif if(outSize > 0) { diff --git a/7_compute3D/sourceCode/compute3D_tb.cpp b/7_compute3D/sourceCode/compute3D_tb.cpp index 3d930c7..a2654c7 100644 --- a/7_compute3D/sourceCode/compute3D_tb.cpp +++ b/7_compute3D/sourceCode/compute3D_tb.cpp @@ -109,6 +109,7 @@ void convertCompute3DStreamToArray( uint32_t* encInfo, uint16_t* data_size) { +#if 0 Pnt3D syncData = streamData.read(); UintFloat dataTmp; dataTmp.fdata = syncData.x; @@ -122,7 +123,30 @@ void convertCompute3DStreamToArray( dataTmp.fdata = syncData.x; *data_size = dataTmp.unData; uint16_t size = dataTmp.unData; - +#else + //1st:FrmNo + Pnt3D syncData = streamData.read(); + UintFloat tmp; + tmp.fdata = syncData.x; + *FrmNo = (uint32_t)tmp.unData; + //2nd:timeStamp + syncData = streamData.read(); + tmp.fdata = syncData.x; + *timeStamp = (uint32_t)tmp.unData; + //3rd:encInfo + syncData = streamData.read(); + tmp.fdata = syncData.x; + *encInfo = (uint32_t)tmp.unData; + //4th:frmW(12bit), frmH(12bit): null + syncData = streamData.read(); + //5th: frmX, WinNum + syncData = streamData.read(); + tmp.fdata = syncData.x; + *data_size = (uint16_t)(tmp.unData & 0xffff); + uint16_t size = (uint16_t)(tmp.unData & 0xffff); + //6th: frmY: null + syncData = streamData.read(); +#endif //output data for(int i = 0; i < size; i ++) {