diff options
author | Mike Leach <mike.leach@linaro.org> | 2024-03-21 10:58:19 +0000 |
---|---|---|
committer | Mike Leach <mike.leach@linaro.org> | 2024-04-09 14:09:55 +0100 |
commit | 91608710f2f03462cbf4a3a9f69d78889f2f7946 (patch) | |
tree | d8bfe7e2a038afd4f92aaa21e542b5adb0630842 | |
parent | 1b16b09efea7d0e1dc0fa60ef5aea42cc2707c2a (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.h | 8 | ||||
-rw-r--r-- | decoder/include/pkt_printers/pkt_printer_t.h | 6 | ||||
-rw-r--r-- | decoder/source/pkt_printers/gen_elem_printer.cpp | 3 |
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()); |