<?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>How to wakeup from I2C CLK?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/16847/how-to-wakeup-from-i2c-clk</link><description>Hello, 
 I am currently using the TWIS (slave!) peripheral to get data from a I2C master. Now I would like the ability to place the nRF52 in deep sleep mode with sd_power_system_off() until the master tries to communicate over I2C. Is it possible to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 06 Oct 2016 09:13:36 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/16847/how-to-wakeup-from-i2c-clk" /><item><title>RE: How to wakeup from I2C CLK?</title><link>https://devzone.nordicsemi.com/thread/64505?ContentTypeID=1</link><pubDate>Thu, 06 Oct 2016 09:13:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f3d9f3d8-2c45-4a7a-95ce-3d8d07add3e2</guid><dc:creator>bloobird0</dc:creator><description>&lt;p&gt;Thanks Alex and RK for your ideas. Very helpfull&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to wakeup from I2C CLK?</title><link>https://devzone.nordicsemi.com/thread/64504?ContentTypeID=1</link><pubDate>Thu, 06 Oct 2016 08:06:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80ef779a-3413-4fb8-b689-4e38f9a91151</guid><dc:creator>Alex</dc:creator><description>&lt;p&gt;If you have enough IO pins you can connect one of them to I2C clock, use it to wake up and don&amp;#39;t bother disable I2C, just make sure all pending events from that IO cleared. As for delay and dummy read, shell master use ACK anyway to make sure it talks to peripheral which exists or ready? In that case standard error handling/retry process should be applied.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to wakeup from I2C CLK?</title><link>https://devzone.nordicsemi.com/thread/64503?ContentTypeID=1</link><pubDate>Wed, 05 Oct 2016 23:43:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1da150b8-ff3d-4c50-9f58-af38c737369e</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;Don&amp;#39;t know - take a look at the code - since you are putting the system into system off mode as long as the peripheral is disabled enough to let go of the pins should work. When the chip goes off, that happens anyway so it&amp;#39;s quite possible you don&amp;#39;t have to do anything except turn off.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to wakeup from I2C CLK?</title><link>https://devzone.nordicsemi.com/thread/64502?ContentTypeID=1</link><pubDate>Wed, 05 Oct 2016 17:05:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a7a78f34-3953-47ec-8d34-964caa37f566</guid><dc:creator>bloobird0</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;OK, I will try to disable the I2C peripheral and use the pin as a normal GPIO wake up. I can&amp;#39;t add additional line for wake up, but I can make in sort that the master initiates a dummy read request in order to wake up and wait until the nRF52 has initialized the I2C slave.&lt;/p&gt;
&lt;p&gt;I will try to use the bsp_wakeup_buttons_set() function as example to wakeup from GPIO pin state change.&lt;/p&gt;
&lt;p&gt;For disconnecting the peripheral, is nrf_drv_twis_disable() enough or shall I also call nrf_drv_twis_uninit()?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to wakeup from I2C CLK?</title><link>https://devzone.nordicsemi.com/thread/64501?ContentTypeID=1</link><pubDate>Tue, 04 Oct 2016 23:51:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26e6ba53-5c54-4227-bc25-c5dfca99ef32</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;No it&amp;#39;s not possible to directly use the I2C CLK signal to wake from power off. You can however disconnect the I2C peripheral before you sleep and use the GPIO line you&amp;#39;re using for a clock to wake the system from sleep. After sleep you need to re-init everything anyway, including setting up the I2C peripheral. However you&amp;#39;re not going to wake in time to read the incoming I2C transaction, you&amp;#39;ll have long-since missed it. So unless your master is set up to wait a little and retry operations, that&amp;#39;s not going to help you.&lt;/p&gt;
&lt;p&gt;Better to have a proper handshake on a GPIO pin which wakes the system and signals it&amp;#39;s ready.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>