<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Zephyr TWIM too slow so need to use NRFX driver</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/129169/zephyr-twim-too-slow-so-need-to-use-nrfx-driver</link><description>I have an application which is not able to talk with my gas gauge device when the TI EV2400 can. Looking at the waveforms all look the same except for the Zephyr code has a delay between the command byte &amp;amp; the register byte. 
 The command byte gets ACK</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 14 Sep 2026 15:04:56 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/129169/zephyr-twim-too-slow-so-need-to-use-nrfx-driver" /><item><title>RE: Zephyr TWIM too slow so need to use NRFX driver</title><link>https://devzone.nordicsemi.com/thread/571206?ContentTypeID=1</link><pubDate>Mon, 14 Sep 2026 15:04:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:14f74f59-c3d3-4483-852d-5974f19dabb0</guid><dc:creator>Nissanth</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;That happends, because when you hand the driver two seperate &lt;code&gt;i2c_msg&lt;/code&gt; fragments, it sends each one as its own transfer and holds SCL low in between while the CPU catches up.&lt;/p&gt;
&lt;p&gt;If both is a write operation, you can try to put the bytes in one buffer and do a single &lt;code&gt;i2c_write()&lt;/code&gt;. One transfer without a gap.&lt;/p&gt;
&lt;p&gt;If you attempt to do a write then read operation, you can either add &lt;code&gt;compatible = &amp;quot;nordic,nrf-twi&amp;quot;;&lt;/code&gt; in your boards overlay files, or go to nrfx and use NRFX_TWIM_XFER_TXRX. This does a write then read as a single hardware transfer.&lt;/p&gt;
&lt;p&gt;are you doing two write operation or write then read?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Nissanth Karunanithy&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Zephyr TWIM too slow so need to use NRFX driver</title><link>https://devzone.nordicsemi.com/thread/571181?ContentTypeID=1</link><pubDate>Mon, 14 Sep 2026 10:00:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a9e13c84-93e1-4991-a491-f9f3c4a27821</guid><dc:creator>John Galvin</dc:creator><description>&lt;p&gt;Just an udate. I&amp;#39;ve tried building the blocking &amp;amp; ono-blocking examples for the NRF52DK/52832.&lt;/p&gt;
&lt;p&gt;Firstly neither would build for 3.4.0 &amp;amp; I have to edit the overlay files to change &amp;quot;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;#include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;quot;../../../common/common-pinctrl.dtsi&amp;quot; to &amp;quot;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;#include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;quot;../common/common-pinctrl.dtsi&amp;quot;&lt;/span&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;In file included from &amp;lt;command-line&amp;gt;:
C:/Work/tx_rx_blocking_1/boards/nrf52dk_nrf52832.overlay:1:10: fatal error: ../../../common/common-pinctrl.dtsi: No such file or directory
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Working on the blocking sample&lt;/p&gt;
&lt;p&gt;Once built &amp;amp; connected 0.3 to 0.4 &amp;amp; 0.30 to 0.31&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I then step thru (or run) and it hangs at&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nrfx_twim_xfer&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;amp;&lt;/span&gt;&lt;span&gt;twim_inst&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;amp;&lt;/span&gt;&lt;span&gt;twim_xfer_desc&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;); (line 118)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>