<?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>Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/44084/control-6-channel-pwm-at-the-same-time-which-can-modify-duty-cycle-by-app_timer</link><description>Hi, 
 There have 4 PWM sample code (low_power_pwm, pwm_driver, pwm_library and pwr_mgmt) in SDK 15.2. 
 I my use case is &amp;quot;Control 6 PWM output with different duty-cycle and duty-cycle can modify by app_timer&amp;quot;. 
 Which sample is suitable for this situation</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 16 Apr 2019 07:16:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/44084/control-6-channel-pwm-at-the-same-time-which-can-modify-duty-cycle-by-app_timer" /><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/182252?ContentTypeID=1</link><pubDate>Tue, 16 Apr 2019 07:16:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1de9555c-da9c-4b8c-bab0-c186c60d7476</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;I still don&amp;#39;t know whether you mean the PWM driver or PWM library.&lt;/p&gt;
&lt;p&gt;Assuming PWM driver:&lt;/p&gt;
&lt;p&gt;If you look in the pwm_driver example, e.g. in the demo3() function on line 276 in main.c, you will see that it first sets up what pins to use, the speed and some other setup-stuff. On line 296:&lt;/p&gt;
&lt;p&gt;(void)nrf_drv_pwm_simple_playback(&amp;amp;m_pwm0, &amp;amp;seq, 3, NRF_DRV_PWM_FLAG_STOP);&lt;/p&gt;
&lt;p&gt;This is actually calling:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;uint32_t nrfx_pwm_simple_playback(nrfx_pwm_t const * const p_instance,
                                  nrf_pwm_sequence_t const * p_sequence,
                                  uint16_t                   playback_count,
                                  uint32_t                   flags)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;As you can see, the 3rd input parameter is the playback count. You can play around with this to set the number of times your PWM sequence should play.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/181847?ContentTypeID=1</link><pubDate>Fri, 12 Apr 2019 12:08:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:33a584ad-5634-4ce5-b784-e7eab3a8ebed</guid><dc:creator>chianglin</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;/p&gt;
&lt;p&gt;I can use output 20 pulse successful by using PPI implementation, but how can I do this job by PWM?&lt;/p&gt;
&lt;p&gt;Thank you,&lt;/p&gt;
&lt;p&gt;Chianglin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/181469?ContentTypeID=1</link><pubDate>Thu, 11 Apr 2019 07:36:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d854c2d7-147b-400c-9c22-4d29402733c8</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;I assume you meant TIMER0 to TIMER1? That would make sense, because the softdevice uses TIMER0, and you will probably get an error if you try to use that in addition to the softdevice. You will either get a softdevice assert, or you will get an err_code != NRF_SUCCESS passed onto an APP_ERROR_CHECK(err_code), which will stop your application.&lt;/p&gt;
&lt;p&gt;Regarding the 20 pulses:&lt;/p&gt;
&lt;p&gt;Do you use the PPI implementation, or the PWM driver or library?&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/181228?ContentTypeID=1</link><pubDate>Wed, 10 Apr 2019 07:22:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:46efdadc-f95c-4564-b1eb-f1c74a49e53b</guid><dc:creator>chianglin</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you for your quick answer.&lt;/p&gt;
&lt;p&gt;I had change nrf timer to timer-1, then the system will not crash anymore.&lt;/p&gt;
&lt;p&gt;Does it the correct solution?&lt;/p&gt;
&lt;p&gt;About the question &amp;quot;&lt;span&gt;How can I control PWM to send some step, then stop PWM&amp;nbsp; output. (for example: 20 steps)?&amp;quot;, would you please give my some idea?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/181226?ContentTypeID=1</link><pubDate>Wed, 10 Apr 2019 07:16:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dcef5131-1997-4e36-93d3-3b04e9275904</guid><dc:creator>Edvin</dc:creator><description>[quote user="chianglin"]I am try to add a nrf timer into my original ble_app_uart project, but the system will crash when execute &amp;quot;ble_stack_init()&amp;quot; function.[/quote]
&lt;p&gt;Add &amp;quot;DEBUG&amp;quot; to your preprocessor defines. One of your APP_ERROR_CHECK(err_code); receives an err_code != 0. this will tell you which one, and what value err_code has. What function returned the err_code != 0? and what is err_code?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/181214?ContentTypeID=1</link><pubDate>Wed, 10 Apr 2019 06:30:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b870428c-88f2-4d85-99d0-e2d16fc4f218</guid><dc:creator>chianglin</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi&amp;nbsp;&lt;/span&gt;&lt;span&gt;Edvin,,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I am try to add a nrf timer into my original ble_app_uart project, but the system will crash when execute &amp;quot;ble_stack_init()&amp;quot; function.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Please find following source code&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;#include &amp;quot;nrf.h&amp;quot;
#include &amp;quot;nrf_log.h&amp;quot;
#include &amp;quot;nrf_log_ctrl.h&amp;quot;
#include &amp;quot;nrf_drv_timer.h&amp;quot;
#include &amp;quot;bsp.h&amp;quot;
#include &amp;quot;nrf_gpio.h&amp;quot;
#include &amp;quot;app_error.h&amp;quot;
#include &amp;quot;TimerPtocess.h&amp;quot;

const nrf_drv_timer_t TIMER_US_ID = NRF_DRV_TIMER_INSTANCE(0);
void timer_us_event_handler(nrf_timer_event_t event_type, void* p_context)
{
    switch (event_type)
    {
        case NRF_TIMER_EVENT_COMPARE0:
        	nrf_gpio_pin_toggle(25);
    		break;

        default:
            //Do nothing.
            break;
    }
}

void Ctimers_init(void)
{
	uint32_t				time_us = 52; //Time(in miliseconds) between consecutive compare events.
	uint32_t				time_ticks;
	uint32_t				err_code = NRF_SUCCESS;
	nrf_drv_timer_config_t	timer_cfg = NRF_DRV_TIMER_DEFAULT_CONFIG;

	err_code = nrf_drv_timer_init(&amp;amp;TIMER_US_ID, &amp;amp;timer_cfg, timer_us_event_handler);
	APP_ERROR_CHECK(err_code);
	NRF_LOG_INFO(&amp;quot;B0001&amp;quot;);
	time_ticks = nrf_drv_timer_us_to_ticks(&amp;amp;TIMER_US_ID, time_us);
	NRF_LOG_INFO(&amp;quot;B0002&amp;quot;);
	nrf_drv_timer_extended_compare(&amp;amp;TIMER_US_ID, NRF_TIMER_CC_CHANNEL0, time_ticks, NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, true);
	NRF_LOG_INFO(&amp;quot;B0003&amp;quot;);
	nrf_drv_timer_enable(&amp;amp;TIMER_US_ID);
	NRF_LOG_INFO(&amp;quot;B0004&amp;quot;);
}
&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;And I insert Ctimers_init() in original main.c (like following code)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;	gpio_init();
	uart_init();
	log_init();
	timers_init();
	NRF_LOG_INFO(&amp;quot;--------------------- Start ---------------&amp;quot;);
	Ctimers_init();

	twi_init();
	NRF_LOG_INFO(&amp;quot;B0006&amp;quot;);
	power_management_init();
	NRF_LOG_INFO(&amp;quot;B0010&amp;quot;);
	ble_stack_init();
	NRF_LOG_INFO(&amp;quot;B0011&amp;quot;);&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The debug message is&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;info&amp;gt; app: --------------------- Start ---------------
00&amp;gt; &amp;lt;info&amp;gt; app: B0006
00&amp;gt; &amp;lt;info&amp;gt; app: B0010
00&amp;gt; &amp;lt;error&amp;gt; app: Fatal error&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Does nrf timer can not use in ble_app_uart project?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Because I need a quick GPIO on/off output (100KHz),, but APP timer can not create so-much quick timer.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Would you please tell me how can I do?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Chianglin&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/181201?ContentTypeID=1</link><pubDate>Wed, 10 Apr 2019 04:26:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4bccd08-ef73-496f-826d-12eeea6cb250</guid><dc:creator>chianglin</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;How can I control PWM to send some step, then stop PWM&amp;nbsp; output.&lt;/p&gt;
&lt;p&gt;For example I want to send 20 pulse out by PWM&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;
&lt;p&gt;Chianglin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/173509?ContentTypeID=1</link><pubDate>Thu, 28 Feb 2019 14:15:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a95d14d6-8400-43f5-bc2a-648c426a349b</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;I see. If I am not mistaken those kind of motors have a PWM period of 20ms (50Hz) and typically a PWM Duty Cycle of 1-2 ms depending on the desired angle, right?&lt;/p&gt;
&lt;p&gt;Do you plan to use Bluetooth Low Energy as well?&lt;/p&gt;
&lt;p&gt;The reason I am asking is that the app_pwm uses the application timer to toggle the pulses. This means that it uses a physical timer for the app timer, but the CPU to handle the timer interrupts, and these toggles the pins. The difference using PPI or the PWM&amp;nbsp;peripheral is that you don&amp;#39;t need to interrupt the CPU to toggle the pins. It is done &amp;quot;automatically&amp;quot; in HW.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The issue by toggling these pins using CPU interrupts is that if the CPU is busy doing something else, e.g. handling a SoftDevice/BLE event, then the toggling of the pin will be delayed, which may cause twitches on the motors. If you test the app_pwm using LEDs, or you motors together with some BLE activity, you will be able to see this with your eyes. If this is tolerable, then that is fine. But if these twitches are too much, you must use the TIMER+PPI.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/173292?ContentTypeID=1</link><pubDate>Wed, 27 Feb 2019 15:34:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b19a0050-4763-4886-8731-87a322239ed0</guid><dc:creator>chianglin</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Edvin,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you for your detail explain.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Actually, I want use nRF52832 to control a &amp;quot;Six-axis robot&amp;quot;, so I need 6 PWM single to control servo-motor.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;The PWM frequency is fix at 50Hz, but I need change it&amp;#39;s duty-cycle to modify the &amp;quot;servo-motor rotate angle&amp;quot;.&amp;nbsp; Maybe&amp;nbsp;pwm_library example is a better choice, because it looks easy to use.&amp;nbsp; It is more complex for me to use PPI and Timer low-level function to create PWM.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Does&amp;nbsp;APP_PWM_xxxx can support up to 6 PWM with 6 difference duty-cycle and the same frequency?&amp;nbsp; How to do this job?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Would you please give me an simple?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Chianglin&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/173287?ContentTypeID=1</link><pubDate>Wed, 27 Feb 2019 15:07:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fbd63a79-fa67-426d-ae2e-b2cdeb5d0e40</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;This example may be a bit confusing since it is an exercise to generalize these setup functions. The limitation here is the number of CC (capture compare) registers in TIMER3. Note that the different timers have different number of CC channels.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;TIMER3 has 6 CC registers (some other timers have 4), which is used to reset the PWM pulse (high to low), and reload the timer. This means that this is common for all PWM signals/pins, and you can have 5 PWM channels on this timer, unfortunately. One register is used for each signal, to decide when to go from low to high. You can of course decide whether you want active high or active low PWM signals.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you need one more, you need to use two timers.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I see that the PWM peripheral (physical PWM peripheral) on the nRF52832 only has 4 PSEL.OUT registers, so this peripheral is limited to 4.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So if you need to use 6 PWM pins at once, you would either have to use the PWM peripheral for 4 of them, and e.g. PPI (the attached project) for the remaining 2, or use PPI for all 6, but you would have to use two timers to get enough CC channels. This will not guarantee that the PWM pins that are using different timers will reset at the same time, but that may be fine.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t know on what speed your PWM signals need to run on. If there is a chance that it is running fairly slow, you may also look into the pwm_library example. This one could have up to 6 channels, but there is a drawback on this. This library needs to interrupt the CPU every time it flips the signal of a PWM pin. If you intend to use BLE in addition to PWM, then you may also expect that this PWM is not running as smooth as a PPI pwm implementation or the PWM HW peripheral. This is because if you get a SoftDevice (BLE) interrupt the CPU interrupt will be delayed.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/173177?ContentTypeID=1</link><pubDate>Wed, 27 Feb 2019 09:17:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf06f41e-69b4-4de4-90ab-5356460ceb02</guid><dc:creator>chianglin</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Edvin,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Do you have any comment of this question?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Chianglin&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/173002?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 12:09:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:016d5bb6-a5e4-4b54-82a0-670cebe3b103</guid><dc:creator>chianglin</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Edvin,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you for your source code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Yes, these 6 PWM signal need use different duty cycle but use the same PWM period.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In your source code, the Max PWM channel is 4 channel, does it right?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Would you please tell me how can I extend it to 6 channel?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control 6 channel PWM at the same time which can modify duty-cycle by app_timer</title><link>https://devzone.nordicsemi.com/thread/172846?ContentTypeID=1</link><pubDate>Mon, 25 Feb 2019 16:04:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2333f8a4-c93c-4110-943c-9a037297767e</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;So you want to have 6 PWM signals with different duty cycles, but same PWM period, is that correct?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I suggest you check out the low_power_pwm example from the SDK\examples\peripheral\low_power_pwm folder.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;An alternative is to use the PPI and a timer + GPIOTE to generate PWM signals.&lt;/p&gt;
&lt;p&gt;Attached is a main.c file that you can replace any of the peripheral examples main files with, and it uses the PPI to generate PWM signals.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-0de908127376413183a36bf513b9f7dc/main.c"&gt;devzone.nordicsemi.com/.../main.c&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>