<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[How to configure TxRx Filter]]></title><description><![CDATA[<p dir="auto">I am monitoring an SPI link using the TAP. The device under test requires "polling" using a command of "0x03" to determine device ready before actually transferring data. There can be hundreds (or even thousands) of unproductive polls before the device is ready.</p>
<p dir="auto">I added a TX/RX Filter with the intention of removing the nonproductive transactions, but I can't figure out how to "configure" it. When I go to the configuration panel, I see "TX/RX Filter" listed, but only "Show TX/Show RX" buttons.</p>
<p dir="auto">Also, is it possible to filter out the "SS high" / "SS low" messages? There's only 1 device on the link so I already know the select goes low/high for each packet.</p>
<p dir="auto">Thanks.</p>
]]></description><link>http://64.23.185.212/forum/topic/142/how-to-configure-txrx-filter</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 22:51:37 GMT</lastBuildDate><atom:link href="http://64.23.185.212/forum/topic/142.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 May 2023 16:14:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to How to configure TxRx Filter on Fri, 02 Jun 2023 05:59:50 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for the reply. It was hard to get started (ie I could have used a "top level" overview of how all the parts fit together), but IONinja is a very powerful tool.</p>
<p dir="auto">Thanks for the <code>log.StdRecordCode.Break</code> info. I just skimmed over <code>Break</code> when examining the class thinking it had to do with a spacing async line. It is exactly the code I needed.</p>
]]></description><link>http://64.23.185.212/forum/post/402</link><guid isPermaLink="true">http://64.23.185.212/forum/post/402</guid><dc:creator><![CDATA[Kent Hauser 0]]></dc:creator><pubDate>Fri, 02 Jun 2023 05:59:50 GMT</pubDate></item><item><title><![CDATA[Reply to How to configure TxRx Filter on Fri, 02 Jun 2023 05:23:07 GMT]]></title><description><![CDATA[<p dir="auto">Hello Kent,</p>
<p dir="auto">Apologies for not getting back to you sooner. Looks like you figured it out by yourself already <img src="http://64.23.185.212/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=miq4h6da9ug" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
<p dir="auto">See my answer to your questions below.</p>
<blockquote>
<p dir="auto">I would like to know how I can get rid of the "SS High" messages. I had to leave them in so that the individual SPI frames would not be all joined together as one big blob of data.</p>
</blockquote>
<p dir="auto">To prevent merging of the last log record with the upcoming ones, add a "break" like this:</p>
<pre><code>writer.write(timestamp, log.StdRecordCode.Break);
</code></pre>
<blockquote>
<p dir="auto">I assume I need to use a more powerful tool than filter if I want delete the message, but cause a the packet to be emitted. I assume that's a "converter".</p>
</blockquote>
<p dir="auto">A converter is more powerful, yes -- as it can also add extra records (or transform existing ones) while a filter can only hide or show original records.</p>
<blockquote>
<p dir="auto">What is the format of the data for the TxRx packets.</p>
</blockquote>
<p dir="auto">The data size is always even; the first half is MOSI, and the second is MISO.</p>
<blockquote>
<p dir="auto">Does the data change when the "swap" button is active, or is that done by a UI filter.</p>
</blockquote>
<p dir="auto">Pressing the button flips the first and second half in upcoming <code>TxRx</code> records. This is just a convenience tool, so that if you accidentally flipped MOSI and MISO when connecting the Tap, you can use this button instead of re-wiring.</p>
<blockquote>
<p dir="auto">How does one signal to the generic TxRx formatter that a packet has ended and to emit current buffer.</p>
</blockquote>
<p dir="auto">Records are always written to the log <em>immediately</em>, i.e., when you call <code>writer.write(...)</code> or return <code>false</code> from the <code>log.Converter.convert(...)</code> method.</p>
<p dir="auto">I assume, the question is how to prevent <em>merging</em> of <code>Tx</code>, <code>Rx</code>, or <code>TxRx</code> records. Then you do this by inserting a <code>Break</code> record where appropriate (e.g., instead of <code>SpiStart</code> records).</p>
<blockquote>
<p dir="auto">Are the messages and data formats passed by the "I2C / SPI Tap" documented? That would be most helpful.</p>
</blockquote>
<p dir="auto">They are not documented in a dedicated reference manual, but the code that defines all the related records and converts them into the visual representation you see on-screen is open-source.</p>
<p dir="auto">Please see <code>scripts/plugins/I2cSpiTap/I2cSpiTapLogRecordCode.jnc</code>, <code>scripts/plugins/I2cSpiTap/I2cSpiTapLogRepresenter.jnc</code></p>
]]></description><link>http://64.23.185.212/forum/post/401</link><guid isPermaLink="true">http://64.23.185.212/forum/post/401</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Fri, 02 Jun 2023 05:23:07 GMT</pubDate></item><item><title><![CDATA[Reply to How to configure TxRx Filter on Wed, 31 May 2023 16:32:21 GMT]]></title><description><![CDATA[<p dir="auto">I'm using a converter (for what I'm doing a filter would be fine) and have managed to get from <img src="/forum/assets/uploads/files/1685550254446-screen-shot-2023-05-31-at-12.24.08-pm.png" alt="Screen Shot 2023-05-31 at 12.24.08 PM.png" class=" img-responsive img-markdown" width="987" height="824" /> to <img src="/forum/assets/uploads/files/1685550348632-screen-shot-2023-05-31-at-12.23.11-pm.png" alt="Screen Shot 2023-05-31 at 12.23.11 PM.png" class=" img-responsive img-markdown" width="886" height="387" /></p>
<p dir="auto">My converter is pretty small. In relevant part it is</p>
<pre><code>switch (recordCode) {
	
	case log.StdRecordCode.TxRx:
            // filter out polls
            if (*(uint8_t const *)p == 0x03)
                return true;
            inFrame = true;
            return false;

        case I2cSpiTapLogRecordCode.SpiStop:
            if (inFrame)
                return inFrame = false;
            return true;
        
        case I2cSpiTapLogRecordCode.SpiStart:
            return true;
            
	default:
		return false; // don't convert other records
	}
</code></pre>
<p dir="auto">And while it is close enough for my purposes, I would like to know how I can get rid of the "SS High" messages. I had to leave them in so that the individual SPI frames would not be all joined together as one big blob of data.</p>
<p dir="auto">I am just wondering if there is a message I can send from the converter to cause pending data to be written out without generate a record as the "SS High" (or a <code>write("\n")</code>) would.</p>
<p dir="auto">Thanks.</p>
]]></description><link>http://64.23.185.212/forum/post/400</link><guid isPermaLink="true">http://64.23.185.212/forum/post/400</guid><dc:creator><![CDATA[Kent Hauser 0]]></dc:creator><pubDate>Wed, 31 May 2023 16:32:21 GMT</pubDate></item><item><title><![CDATA[Reply to How to configure TxRx Filter on Tue, 30 May 2023 06:21:00 GMT]]></title><description><![CDATA[<p dir="auto">After poking around in the scripts/plugins directory, I can see various ways to attack the problem.</p>
<p dir="auto">Using the filter, I am able to filter out the stop/start messages with "I2cSpiTapLogRecordCode.Spi{Start,Stop}". However if I delete both of them, I get no packet boundaries between SPI packets. I assume I need to use a more powerful tool than filter if I want delete the message, but cause a the packet to be emitted. I assume that's a "converter".</p>
<p dir="auto">I should be able to filter out the "polls" using filter, but I have no idea what the format of the data passed via the <code>void *</code> pointer is. Is there documentation on this?</p>
<p dir="auto">So I guess the two pieces of information that would help me are:</p>
<ol>
<li>
<p dir="auto">What is the format of the data for the TxRx packets. Does the data change when the "swap" button is active, or is that done by a UI filter.</p>
</li>
<li>
<p dir="auto">How does one signal to the generic TxRx formatter that a packet has ended and to emit current buffer. I would do this in a "converter" when I get the SpiStop code. (And just absorb the SpiStart code.)</p>
</li>
<li>
<p dir="auto">Are the messages and data formats passed by the "I2C / SPI Tap" documented? That would be most helpful.</p>
</li>
</ol>
<p dir="auto">Thanks.</p>
]]></description><link>http://64.23.185.212/forum/post/399</link><guid isPermaLink="true">http://64.23.185.212/forum/post/399</guid><dc:creator><![CDATA[Kent Hauser 0]]></dc:creator><pubDate>Tue, 30 May 2023 06:21:00 GMT</pubDate></item></channel></rss>