aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Leach <mike.leach@linaro.org>2024-03-21 10:58:19 +0000
committerMike Leach <mike.leach@linaro.org>2024-04-09 14:09:55 +0100
commit91608710f2f03462cbf4a3a9f69d78889f2f7946 (patch)
treed8bfe7e2a038afd4f92aaa21e542b5adb0630842
parent1b16b09efea7d0e1dc0fa60ef5aea42cc2707c2a (diff)
opencsd: Add in ID / idx mute facility on item printers
As standard, the item printers for all packets will prefix Idx:<n> ID:<m> onto the start of all printed packet strings. Allow these to be muted to better compare output from formatted / raw decodes when testing. Signed-off-by: Mike Leach <mike.leach@linaro.org>
-rw-r--r--decoder/include/pkt_printers/item_printer.h8
-rw-r--r--decoder/include/pkt_printers/pkt_printer_t.h6
-rw-r--r--decoder/source/pkt_printers/gen_elem_printer.cpp3
3 files changed, 11 insertions, 6 deletions
diff --git a/decoder/include/pkt_printers/item_printer.h b/decoder/include/pkt_printers/item_printer.h
index 0f1feeb1f5ec..364a00ed725e 100644
--- a/decoder/include/pkt_printers/item_printer.h
+++ b/decoder/include/pkt_printers/item_printer.h
@@ -56,17 +56,21 @@ public:
void setMute(bool mute);
const bool is_muted() const;
-
+ // mute ID printing for testing
+ void muteIDPrint(bool mute) { m_mute_id_print = mute; };
+ const bool id_print_muted() const { return m_mute_id_print; }
protected:
ocsdMsgLogger *m_pMsgLogger;
int m_test_waits;
bool m_mute;
+ bool m_mute_id_print;
};
inline ItemPrinter::ItemPrinter() :
m_pMsgLogger(0),
m_test_waits(0),
- m_mute(false)
+ m_mute(false),
+ m_mute_id_print(false)
{
}
diff --git a/decoder/include/pkt_printers/pkt_printer_t.h b/decoder/include/pkt_printers/pkt_printer_t.h
index f2d3e09d1364..b082ddf8f8bb 100644
--- a/decoder/include/pkt_printers/pkt_printer_t.h
+++ b/decoder/include/pkt_printers/pkt_printer_t.h
@@ -60,8 +60,7 @@ public:
const P *pkt,
const uint32_t size,
const uint8_t *p_data);
-
-
+
private:
void printIdx_ID(const ocsd_trc_index_t index_sop);
@@ -187,7 +186,8 @@ template<class P> void PacketPrinter<P>::RawPacketDataMon( const ocsd_datapath_o
template<class P> void PacketPrinter<P>::printIdx_ID(const ocsd_trc_index_t index_sop)
{
- m_oss << "Idx:" << std::dec << index_sop << "; ID:"<< std::hex << (uint32_t)m_trcID;
+ if (!id_print_muted())
+ m_oss << "Idx:" << std::dec << index_sop << "; ID:"<< std::hex << (uint32_t)m_trcID;
}
#endif // ARM_PKT_PRINTER_T_H_INCLUDED
diff --git a/decoder/source/pkt_printers/gen_elem_printer.cpp b/decoder/source/pkt_printers/gen_elem_printer.cpp
index ffd9a2d13db2..047903c006d2 100644
--- a/decoder/source/pkt_printers/gen_elem_printer.cpp
+++ b/decoder/source/pkt_printers/gen_elem_printer.cpp
@@ -60,7 +60,8 @@ ocsd_datapath_resp_t TrcGenericElementPrinter::TraceElemIn(const ocsd_trc_index_
std::string elemStr;
std::ostringstream oss;
- oss << "Idx:" << index_sop << "; ID:" << std::hex << (uint32_t)trc_chan_id << "; ";
+ if (!id_print_muted())
+ oss << "Idx:" << index_sop << "; ID:" << std::hex << (uint32_t)trc_chan_id << "; ";
elem.toString(elemStr);
oss << elemStr << std::endl;
itemPrintLine(oss.str());