index.html 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <!-- HTML header for doxygen 1.8.13-->
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  6. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  7. <meta name="generator" content="Doxygen 1.8.15"/>
  8. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  9. <title>Bluetooth Host Stack solution: Main Page</title>
  10. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  11. <script type="text/javascript" src="jquery.js"></script>
  12. <script type="text/javascript" src="dynsections.js"></script>
  13. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  14. <script type="text/javascript" src="resize.js"></script>
  15. <script type="text/javascript" src="navtreedata.js"></script>
  16. <script type="text/javascript" src="navtree.js"></script>
  17. <script type="text/javascript">
  18. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  19. $(document).ready(initResizable);
  20. /* @license-end */</script>
  21. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  22. <script type="text/javascript" src="search/searchdata.js"></script>
  23. <script type="text/javascript" src="search/search.js"></script>
  24. <link href="doxygen_style.css" rel="stylesheet" type="text/css" />
  25. </head>
  26. <body>
  27. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  28. <div id="titlearea">
  29. <table cellspacing="0" cellpadding="0">
  30. <tbody>
  31. <tr style="height: 56px;">
  32. <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  33. <td id="projectalign" style="padding-left: 0.5em;">
  34. <div id="projectname">Bluetooth Host Stack solution</div>
  35. </td>
  36. </tr>
  37. </tbody>
  38. </table>
  39. </div>
  40. <!-- end header part -->
  41. <!-- Generated by Doxygen 1.8.15 -->
  42. <script type="text/javascript">
  43. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  44. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  45. /* @license-end */
  46. </script>
  47. <script type="text/javascript" src="menudata.js"></script>
  48. <script type="text/javascript" src="menu.js"></script>
  49. <script type="text/javascript">
  50. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  51. $(function() {
  52. initMenu('',true,false,'search.php','Search');
  53. $(document).ready(function() { init_search(); });
  54. });
  55. /* @license-end */</script>
  56. <div id="main-nav"></div>
  57. </div><!-- top -->
  58. <div id="side-nav" class="ui-resizable side-nav-resizable">
  59. <div id="nav-tree">
  60. <div id="nav-tree-contents">
  61. <div id="nav-sync" class="sync"></div>
  62. </div>
  63. </div>
  64. <div id="splitbar" style="-moz-user-select:none;"
  65. class="ui-resizable-handle">
  66. </div>
  67. </div>
  68. <script type="text/javascript">
  69. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  70. $(document).ready(function(){initNavTree('index.html','');});
  71. /* @license-end */
  72. </script>
  73. <div id="doc-content">
  74. <!-- window showing the filter options -->
  75. <div id="MSearchSelectWindow"
  76. onmouseover="return searchBox.OnSearchSelectShow()"
  77. onmouseout="return searchBox.OnSearchSelectHide()"
  78. onkeydown="return searchBox.OnSearchSelectKey(event)">
  79. </div>
  80. <!-- iframe showing the search results (closed by default) -->
  81. <div id="MSearchResultsWindow">
  82. <iframe src="javascript:void(0)" frameborder="0"
  83. name="MSearchResults" id="MSearchResults">
  84. </iframe>
  85. </div>
  86. <div class="PageDoc"><div class="header">
  87. <div class="headertitle">
  88. <div class="title">Bluetooth Host Stack solution Documentation</div> </div>
  89. </div><!--header-->
  90. <div class="contents">
  91. <div class="textblock"><p>#AIROC™ BT STack porting layer for PSoC6 BLESS</p>
  92. <h2>Overview</h2>
  93. <p>The btstack-integration/COMPONENT_BLESS-IPC is the adaptation layer (porting layer) between AIROC™ BT STack and Cypress Abstraction Layers (CYHAL and CYOSAL). This porting layer is to be used in conjunction with Cypress PSOC 6 BLE platform where the application and host stack are running on the CM4 core of PSOC and BLESS controller FW is running on CM0 core of PSOC. The porting layer implements routines to provide OS and memory services from platform and facilitates communication with controller.</p>
  94. <h2>Platform HCI transport config</h2>
  95. <p>Application shall call <b><a class="el" href="group__platform__cfg.html#ga1ff2a9935b27efb9639974d6ddc1894a" title="Configurate the Bluetotoh platform specific settings.">cybt_platform_config_init( )</a></b> API to initialize the porting layer before calling any stack API. IPC Pipe is used to communicate with the controller running on CM0 processor, hence the member variable hci_config.hci_transport of input argument <a class="el" href="structcybt__platform__config__t.html" title="The overall configuration for Cypress WICED BT/BLE stack and BT chip.">cybt_platform_config_t</a> shall be set to CYBT_HCI_IPC. Other parameters are ignored by the porting layer.</p>
  96. <p>Please refer to cybt_platform_config.h</p>
  97. <ul>
  98. <li>structure <b><a class="el" href="structcybt__platform__config__t.html" title="The overall configuration for Cypress WICED BT/BLE stack and BT chip.">cybt_platform_config_t</a></b></li>
  99. <li>API <b><a class="el" href="group__platform__cfg.html#ga1ff2a9935b27efb9639974d6ddc1894a" title="Configurate the Bluetotoh platform specific settings.">cybt_platform_config_init( )</a></b></li>
  100. </ul>
  101. <h2>Debug uart configuration</h2>
  102. <p>The UART on PSOC can be configured for capturing application and HCI traces by calling <b><a class="el" href="group__debug__uart__cfg.html#ga16bde8710d82bdc7086fa44f6103ccf3" title="Initialize Debug UART.">cybt_debug_uart_init()</a></b> with appropriate configuration in <b><a class="el" href="structcybt__debug__uart__config__t.html" title="Debug Uart Configuration.">cybt_debug_uart_config_t</a></b>. Passing a valid function pointer to cybt_debug_uart_data_handler_t allows application to handle any data received over UART. However, it can be set to NULL if the application is not required to handle any data. Please refer to cybt_debug_uart.h.</p>
  103. <ul>
  104. <li>structure <b><a class="el" href="structcybt__debug__uart__config__t.html" title="Debug Uart Configuration.">cybt_debug_uart_config_t</a></b></li>
  105. <li>API <b><a class="el" href="group__debug__uart__cfg.html#ga16bde8710d82bdc7086fa44f6103ccf3" title="Initialize Debug UART.">cybt_debug_uart_init( )</a></b></li>
  106. </ul>
  107. <h2>Design</h2>
  108. <ul>
  109. <li>To initialize BLESS controller, Porting layer will send ENABLE_CNTR_CMD IPC msg to BLESS controller module via CYPIPE IPC mechanism</li>
  110. <li>Porting layer can receive the HCI events and Command complete events from BLESS controller module as IPC msgs via CYPIPE.</li>
  111. <li>All received events from BLESS controller module are queued in bt_task_queue. bt_task thread in porting layer would process the msgs and make calls to BTStack for further processing.</li>
  112. <li>Porting layer could send hci commands and data by filling IPC_HOST_MSG structure with details and call IPC_Pipe_SendMsg api with destination as CM0 address.while sending the cmds to controller, HOST has to allocate memory for the cmd and its parameters</li>
  113. <li>The received ptrs in events from controller , can be mapped to IPC_CNTR_MSG , processed in bt_task. After processing the event , HOST needs to a post a msg to Controller to free up the memory.</li>
  114. </ul>
  115. <h2>API Reference Manual</h2>
  116. <ul>
  117. <li><a href="https://infineon.github.io/btstack-integration/COMPONENT_BLESS-IPC/docs/api_reference_manual/html/index.html">Bluetooth platform API manual</a></li>
  118. <li><a href="https://infineon.github.io/btstack/ble/api_reference_manual/html/index.html">Bluetooth stack BLE API manual</a></li>
  119. </ul>
  120. <p>© Infineon Technologies, 2022. </p>
  121. </div></div><!-- PageDoc -->
  122. </div><!-- contents -->
  123. </div><!-- doc-content -->
  124. <!-- start footer part -->
  125. <div id="nav-path" class="navpath">
  126. <ul>
  127. <li class="footer">
  128. Generated for <b>Bluetooth Host Stack solution</b> by <b>Cypress Semiconductor Corporation</b>.
  129. All rights reserved.
  130. </li>
  131. </ul>
  132. </div>
  133. </body>
  134. </html>