<?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>Where is characteristic value data kept?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/23970/where-is-characteristic-value-data-kept</link><description>Hello, 
 Is the characteristic value data supplied to sd_ble_gatts_characteristic_add() and sd_ble_gatts_value_set() copied into the softdevice RAM, or does the softdevice refer to application RAM whenever client requests a characteristic read? I cannot</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 01 Aug 2017 10:52:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/23970/where-is-characteristic-value-data-kept" /><item><title>RE: Where is characteristic value data kept?</title><link>https://devzone.nordicsemi.com/thread/94366?ContentTypeID=1</link><pubDate>Tue, 01 Aug 2017 10:52:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c20e199e-ea6a-43c3-9300-94c4433e96dc</guid><dc:creator>Krzysztof Zaraska</dc:creator><description>&lt;p&gt;Found it .&lt;/p&gt;
&lt;p&gt;It&amp;#39;s defined by vloc field in ble_gatts_attr_md_t structure which is also passed to sd_ble_gatts_characteristic_add().&lt;/p&gt;
&lt;p&gt;Possible values are:&lt;/p&gt;
&lt;p&gt;#define BLE_GATTS_VLOC_STACK   0x01&lt;/p&gt;
&lt;p&gt;Attribute Value is located in stack memory, no user memory is required.&lt;/p&gt;
&lt;p&gt;#define BLE_GATTS_VLOC_USER   0x02&lt;/p&gt;
&lt;p&gt;Attribute Value is located in user memory. This requires the user to maintain a valid buffer through the lifetime of the attribute, since the stack will read and write directly to the memory using the pointer provided in the APIs. There are no alignment requirements for the buffer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>