Udpate to raw frame interface
diff --git a/ref_trace_decoder/include/interfaces/trc_data_rawframe_in_i.h b/ref_trace_decoder/include/interfaces/trc_data_rawframe_in_i.h
index a73128d..51a3d8f 100644
--- a/ref_trace_decoder/include/interfaces/trc_data_rawframe_in_i.h
+++ b/ref_trace_decoder/include/interfaces/trc_data_rawframe_in_i.h
@@ -63,14 +63,16 @@
* @param frame_element : Type of frame element being output.
* @param dataBlockSize : size of frame element.
* @param *pDataBlock : pointer to frame data.
+ * @param traceID : Trace ID when element type ID data.
*
* @return rctdl_err_t : Standard library erroc code. Monitor only, not on data path.
*/
virtual rctdl_err_t TraceRawFrameIn( const rctdl_datapath_op_t op,
- const rctdl_trc_index_t index,
- const rctdl_rawframe_elem_t frame_element,
- const int dataBlockSize,
- const uint8_t *pDataBlock) = 0;
+ const rctdl_trc_index_t index,
+ const rctdl_rawframe_elem_t frame_element,
+ const int dataBlockSize,
+ const uint8_t *pDataBlock,
+ const uint8_t traceID) = 0;
};
diff --git a/ref_trace_decoder/tests/source/raw_frame_printer.cpp b/ref_trace_decoder/tests/source/raw_frame_printer.cpp
index e366bfa..60f7a26 100644
--- a/ref_trace_decoder/tests/source/raw_frame_printer.cpp
+++ b/ref_trace_decoder/tests/source/raw_frame_printer.cpp
@@ -43,7 +43,8 @@
const rctdl_trc_index_t index,
const rctdl_rawframe_elem_t frame_element,
const int dataBlockSize,
- const uint8_t *pDataBlock)
+ const uint8_t *pDataBlock,
+ const uint8_t traceID)
{
if(op == RCTDL_OP_DATA) // only interested in actual frame data.
@@ -54,27 +55,18 @@
int printOffset = 0;
oss << "Frame Data; Index" << std::setw(7) << index << "; ";
- oss << std::setw(12);
switch(frame_element)
{
- case RCTDL_FRM_PACKED: oss << "RAW_PACKED; "; break;
- case RCTDL_FRM_HSYNC: oss << "HSYNC; "; break;
- case RCTDL_FRM_FSYNC: oss << "FSYNC; "; break;
- case RCTDL_FRM_ID_DATA: oss << "ID_DATA; "; break;
- case RCTDL_FRM_ID_CHANGE: oss << "ID UPDATE; "; break;
- default: oss << "UNKNOWN; "; break;
- }
-
- if((frame_element == RCTDL_FRM_ID_CHANGE) && (printDataSize > 0))
- {
- oss << "ID:0x" << std::hex << std::setw(2) << (uint32_t)pDataBlock[0] << "; ";
- printDataSize--;
- printOffset++;
+ case RCTDL_FRM_PACKED: oss << std::setw(15) << "RAW_PACKED; "; break;
+ case RCTDL_FRM_HSYNC: oss << std::setw(15) << "HSYNC; "; break;
+ case RCTDL_FRM_FSYNC: oss << std::setw(15) << "FSYNC; "; break;
+ case RCTDL_FRM_ID_DATA: oss << std::setw(10) << "ID_DATA[0x" << std::hex << std::setw(2) << (uint16_t)traceID << "]; "; break;
+ default: oss << std::setw(15) << "UNKNOWN; "; break;
}
if(printDataSize)
{
- createDataString(printDataSize,pDataBlock+printOffset,16,strData);
+ createDataString(printDataSize,pDataBlock,16,strData);
oss << strData;
}
itemPrintLine(oss.str());
@@ -89,10 +81,13 @@
for(int i = 0; i < dataSize; i++)
{
+ if(lineBytes == bytesPerLine)
+ {
+ oss << std::endl;
+ lineBytes = 0;
+ }
oss << std::hex << std::setw(2) <<std::setfill('0') << (uint32_t)pData[i] << " ";
lineBytes ++;
- if(lineBytes == bytesPerLine)
- oss << std::endl;
}
dataStr = oss.str();
}
diff --git a/ref_trace_decoder/tests/source/raw_frame_printer.h b/ref_trace_decoder/tests/source/raw_frame_printer.h
index 11018dc..58ecc79 100644
--- a/ref_trace_decoder/tests/source/raw_frame_printer.h
+++ b/ref_trace_decoder/tests/source/raw_frame_printer.h
@@ -52,7 +52,8 @@
const rctdl_trc_index_t index,
const rctdl_rawframe_elem_t frame_element,
const int dataBlockSize,
- const uint8_t *pDataBlock);
+ const uint8_t *pDataBlock,
+ const uint8_t traceID);
private:
void createDataString(const int dataSize, const uint8_t *pData, int bytesPerLine, std::string &dataStr);