<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: QN908x How to maximize notification throughput? in Wireless MCU</title>
    <link>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890495#M6391</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Quick update --&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I finally realized that there were TWO versions of SDK 2.2!&amp;nbsp; I grabbed mine soon after it was released and it obviously got updated without bumping the minor rev.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The drivers, framework and LE stack and examples were updated and Estephania's answer is indeed correct.&amp;nbsp; I am able to push frames and rely on the return code from GattServer_SendInstantValueNotification() as expected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 29 Oct 2019 21:40:51 GMT</pubDate>
    <dc:creator>joseraffucci</dc:creator>
    <dc:date>2019-10-29T21:40:51Z</dc:date>
    <item>
      <title>QN908x How to maximize notification throughput?</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890491#M6387</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I need to periodically send sensor data to a connected host. The data can be several kilobytes in size.&amp;nbsp; I have been using the GattServer_SendInstantValueNotification() function to send the data via the notification mechanism.&amp;nbsp;&amp;nbsp; The only way I can get it to work reliably is to only send a maximum of gAttMaxNotifIndDataSize_d bytes in each frame and wait at least a full connection interval before sending the next frame.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This doesn't seem right as I should be able to cram more frames per connection interval, no?&amp;nbsp; What's the best way to send, say, 4k worth of data via notifications with a 20ms connection interval and a 247 byte MTU?&amp;nbsp; I've looked all over but can't find any way to sync up to the connection event or event find a callback to tell me that it's ok to queue up more data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Apr 2019 23:41:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890491#M6387</guid>
      <dc:creator>joseraffucci</dc:creator>
      <dc:date>2019-04-09T23:41:45Z</dc:date>
    </item>
    <item>
      <title>Re: QN908x How to maximize notification throughput?</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890492#M6388</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;COuld you please check the ble_shell example available in the SDK ? I believe that will help you as a base/guide to increase the throughput you are looking for.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;BR /&gt;Estephania&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Apr 2019 22:56:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890492#M6388</guid>
      <dc:creator>stephanie_m</dc:creator>
      <dc:date>2019-04-10T22:56:50Z</dc:date>
    </item>
    <item>
      <title>Re: QN908x How to maximize notification throughput?</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890493#M6389</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't think that hte ble_shell example addresses what I'm looking for.&amp;nbsp; The read/write mechanism is using characteristics in the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to know how to pack immediate (i.e., not in the database) notifications to maximize throughput.&amp;nbsp; For starters, it would be nice to know:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;What is the maximum allowed size of the array passed to GattServer_SendInstantValueNotification()?&lt;/LI&gt;&lt;LI&gt;How does GattServer_SendInstantValueNotification break up the data to send with respect to the MTU size?&lt;/LI&gt;&lt;LI&gt;How do I know when the notification has been sent out and the hardware is ready to send more data?&lt;/LI&gt;&lt;/OL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Apr 2019 23:30:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890493#M6389</guid>
      <dc:creator>joseraffucci</dc:creator>
      <dc:date>2019-04-25T23:30:08Z</dc:date>
    </item>
    <item>
      <title>Re: QN908x How to maximize notification throughput?</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890494#M6390</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Answering your questions :&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What is the maximum allowed size of the array passed to GattServer_SendInstantValueNotification()?&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #0000ff; "&gt;&amp;nbsp;The max size it's ATT_MTU-3&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How does GattServer_SendInstantValueNotification break up the data to send with respect to the MTU size?&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #0000ff; "&gt;If the attribute it's bigger, the GATT&amp;nbsp; client must perform a read, for further information please check the&amp;nbsp;spec Vol 3, Part F &amp;nbsp;3.4.7.1 Handle Value Notification&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I know when the notification has been sent out and the hardware is ready to send more data?&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #0000ff; "&gt;The API adds to the queue in the controller, if it returns a gBleOverflow_c it means that the queue it's full and you need to wait.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Estephania&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 May 2019 21:09:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890494#M6390</guid>
      <dc:creator>stephanie_m</dc:creator>
      <dc:date>2019-05-13T21:09:31Z</dc:date>
    </item>
    <item>
      <title>Re: QN908x How to maximize notification throughput?</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890495#M6391</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Quick update --&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I finally realized that there were TWO versions of SDK 2.2!&amp;nbsp; I grabbed mine soon after it was released and it obviously got updated without bumping the minor rev.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The drivers, framework and LE stack and examples were updated and Estephania's answer is indeed correct.&amp;nbsp; I am able to push frames and rely on the return code from GattServer_SendInstantValueNotification() as expected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Oct 2019 21:40:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/QN908x-How-to-maximize-notification-throughput/m-p/890495#M6391</guid>
      <dc:creator>joseraffucci</dc:creator>
      <dc:date>2019-10-29T21:40:51Z</dc:date>
    </item>
  </channel>
</rss>

