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);