Line 1: |
Line 1: |
| = btdrv = | | = btdrv = |
| This is "nn::bluetooth::IBluetoothDriver". | | This is "nn::bluetooth::IBluetoothDriver". |
− |
| |
− | The bluetooth driver implements the bluetooth protocol over h4/uart.
| |
− |
| |
− | It interfaces with the [[Bus_services#uart|uart]] service to actually talk with the bluetooth hardware.
| |
− |
| |
− | The code seems to be derived from a broadcom stack. A good starting point for similar source code can be found in the MICO project: https://github.com/yinhongxing/mico/tree/ea67ff3659f12d730d4dc3b8d547b093bd2ee2ee/MICO/bluetooth_bte Note that the library files contain many (symbolized) functions which match btdrv.
| |
| | | |
| Support for "nn::bluetooth::*" was added to sdknso with 6.x. | | Support for "nn::bluetooth::*" was added to sdknso with 6.x. |
Line 1,221: |
Line 1,215: |
| Features page 1: 0x0f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 | | Features page 1: 0x0f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 |
| Features page 2: 0x7f 0x0b 0x00 0x00 0x00 0x00 0x00 0x00 | | Features page 2: 0x7f 0x0b 0x00 0x00 0x00 0x00 0x00 0x00 |
| + | |
| + | The bluetooth driver implements the bluetooth protocol over h4/uart. It interfaces with the [[Bus_services#uart|uart]] service to actually talk with the bluetooth hardware. |
| + | |
| + | The bluetooth stack is Broadcom/Cypress brcm BSA (for example, see [https://github.com/hardkernel/buildroot_linux_amlogic_brcm-bsa here]). |
| | | |
| The following L2CAP services are registered (dynamic channels): SDP, ATT (GATT), RFCOMM, HID (PSMs: 0x11, 0x13, 0x8001, 0x8003). | | The following L2CAP services are registered (dynamic channels): SDP, ATT (GATT), RFCOMM, HID (PSMs: 0x11, 0x13, 0x8001, 0x8003). |
Line 1,238: |
Line 1,236: |
| |- | | |- |
| | [1.0.0] | | | [1.0.0] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_J3_Patch_20161118 | | | Hayward_J3_Patch_20161118 |
| | BCM4356A3_001.004.009.0045.0000 | | | BCM4356A3_001.004.009.0045.0000 |
| |- | | |- |
| | [2.0.0] | | | [2.0.0] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_J5_RC_20161227 | | | Hayward_J5_RC_20161227 |
| | BCM4356A3_001.004.009.0047.0049 | | | BCM4356A3_001.004.009.0047.0049 |
| |- | | |- |
| | [3.0.0-3.0.1] | | | [3.0.0-3.0.1] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_K4_RC_20170504 | | | Hayward_K4_RC_20170504 |
| | BCM4356A3_001.004.009.0054.0056 | | | BCM4356A3_001.004.009.0054.0056 |
| |- | | |- |
| | [4.0.0] | | | [4.0.0] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_L4_RC_20170815 | | | Hayward_L4_RC_20170815 |
| | CYW4356A3_001.004.009.0057.0059 | | | CYW4356A3_001.004.009.0057.0059 |
| |- | | |- |
| | [5.0.0] | | | [5.0.0] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_M2_RC_20180109 | | | Hayward_M2_RC_20180109 |
| | CYW4356A3_001.004.009.0059.0061 | | | CYW4356A3_001.004.009.0059.0061 |
| |- | | |- |
| | [5.1.0] | | | [5.1.0] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_N1_RC_20180226 | | | Hayward_N1_RC_20180226 |
| | CYW4356A3_001.004.009.0062.0064 | | | CYW4356A3_001.004.009.0062.0064 |
| |- | | |- |
| | [6.0.0-6.2.0] | | | [6.0.0-6.2.0] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_N3_RC_20180612 | | | Hayward_N3_RC_20180612 |
| | CYW4356A3_001.004.009.0062.0064 | | | CYW4356A3_001.004.009.0062.0064 |
| |- | | |- |
| | [7.0.0] | | | [7.0.0] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_O1_RC_20180829 | | | Hayward_O1_RC_20180829 |
| | CYW4356A3_001.004.009.0076.0077 | | | CYW4356A3_001.004.009.0076.0077 |
| |- | | |- |
| | [8.0.0-9.0.0] | | | [8.0.0-9.0.0] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_P1_RC_20190121 | | | Hayward_P1_RC_20190121 |
| | CYW4356A3_001.004.009.0076.0077 | | | CYW4356A3_001.004.009.0076.0077 |
| |- | | |- |
| | [10.0.0-11.0.0] | | | [10.0.0-11.0.0] |
− | | BSA0106_01.60.00_ | + | | BSA0106_01.60.00 |
| | Hayward_R2_RC_20191119 | | | Hayward_R2_RC_20191119 |
| | CYW4356A3_001.004.009.0092.0095 | | | CYW4356A3_001.004.009.0092.0095 |