<?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>Why is not my Timer triggered when configured through PPI and SPI?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/25074/why-is-not-my-timer-triggered-when-configured-through-ppi-and-spi</link><description>Hello, 
 I am trying to use ArrayList for EasyDMA along with PPI but I am not sure whether or not I am configuring it properly to be used with the SPI interface. 
 So far I have set it up as below, in order to test the transfer I am connecting the MISO</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 20 Sep 2017 06:54:18 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/25074/why-is-not-my-timer-triggered-when-configured-through-ppi-and-spi" /><item><title>RE: Why is not my Timer triggered when configured through PPI and SPI?</title><link>https://devzone.nordicsemi.com/thread/98763?ContentTypeID=1</link><pubDate>Wed, 20 Sep 2017 06:54:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0eaac87f-ba90-485b-a19e-9e22ea49e9c8</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;Regarding SDK14 I can&amp;#39;t see any reason to change anything other than what is necessary to port the API. In SDK 14 you also have the option to use the new &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.0.0/lib_nrf_spi_mngr.html?cp=4_0_0_3_41"&gt;SPI transaction manager&lt;/a&gt;. I haven&amp;#39;t tried it yet, but it looks kind of neat.&lt;/p&gt;
&lt;p&gt;Regarding the CC value; Have you made sure that your transfers are completed before the timer reaches 16000? It depends on how large your transfers are of course, but if your timer use prescaler 0
and counts fast, your SPI use a slow transfer rate, and you transfer long strings of data I guess it is plausible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why is not my Timer triggered when configured through PPI and SPI?</title><link>https://devzone.nordicsemi.com/thread/98764?ContentTypeID=1</link><pubDate>Tue, 19 Sep 2017 19:16:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a8d470b-b2a4-4656-9065-e66a3afedbc1</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;Also @MartinBL, (sorry to keep bothering you!) was there a specific requirement for using 16000 for the CC value for &amp;quot;timer_timer&amp;quot;? How short of a delay can I have for starting a transfer?&lt;/p&gt;
&lt;p&gt;EDIT: Looks like the longer my transfer, the more important it is this value is 16000. With lower values occasionally the data appears corrupted. Also, after the transfer is completed, erroneous data can still be transmitted. Any ideas?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why is not my Timer triggered when configured through PPI and SPI?</title><link>https://devzone.nordicsemi.com/thread/98765?ContentTypeID=1</link><pubDate>Tue, 19 Sep 2017 15:54:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:40ce865f-74d6-4a23-9b0a-8b72d9324e09</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;Thanks @MartinBL. To make your example run for SDK 14.0, do you recommend any changes besides adding the context parameter to nrf_drv_spi_init() and spi_event_handler()? This will be TX only and using a SoftDevice so I&amp;#39;ve used NRF_DRV_SPI_XFER_TX() with flag NRF_DRV_SPI_FLAG_TX_POSTINC and have avoided using TIMER0.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why is not my Timer triggered when configured through PPI and SPI?</title><link>https://devzone.nordicsemi.com/thread/98762?ContentTypeID=1</link><pubDate>Tue, 19 Sep 2017 10:36:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:af2f8788-224f-49f0-a429-b10f093de1a7</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;I don&amp;#39;t remember why I put it there actually. But it is generally a good idea to power down peripherals when not in use to save power. The idle current of the SPIM is 1uA.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why is not my Timer triggered when configured through PPI and SPI?</title><link>https://devzone.nordicsemi.com/thread/98761?ContentTypeID=1</link><pubDate>Mon, 18 Sep 2017 23:01:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed88304e-3fd2-491f-ab13-40f662fae722</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;@martinbl for doing occasional repeated transfers, would you still need to uninit the SPI instance (nrf_drv_spi_uninit) or do you leave it? Or does it even matter?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why is not my Timer triggered when configured through PPI and SPI?</title><link>https://devzone.nordicsemi.com/thread/98759?ContentTypeID=1</link><pubDate>Thu, 14 Sep 2017 12:51:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:332ca8df-a91d-4912-8548-dd3e6384e909</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;I wasn&amp;#39;t able to debug that code on my desk so I made an example instead.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/5037.main.c"&gt;main.c&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The code and comments in the example should explain what happens.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why is not my Timer triggered when configured through PPI and SPI?</title><link>https://devzone.nordicsemi.com/thread/98760?ContentTypeID=1</link><pubDate>Wed, 13 Sep 2017 07:23:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:07ec5d42-7a8b-44e2-9ac5-7c10cd40897a</guid><dc:creator>ndarkness</dc:creator><description>&lt;p&gt;I am using SDK12.2, what is the API then to configure the ArrayList then? I could find it on the documentation&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why is not my Timer triggered when configured through PPI and SPI?</title><link>https://devzone.nordicsemi.com/thread/98766?ContentTypeID=1</link><pubDate>Tue, 12 Sep 2017 08:55:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e419c95-9a30-4e5e-8c40-9491eca55d2c</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;What SDK are you using? In spi_init() you are mixing drivers and register manipulation. It is never a good idea to change the register values &amp;quot;manually&amp;quot; while at the same time using drivers. Nor should it be necessary as there should always be a driver API that does what you want.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>