Difference between revisions of "Bluetooth Driver services"

From Nintendo Switch Brew
Jump to navigation Jump to search
Line 1: Line 1:
 
= btdrv =
 
= btdrv =
 +
This is "nn::bluetooth::IBluetoothDriver".
 +
 
The bluetooth driver implements the bluetooth protocol over h4/uart.
 
The bluetooth driver implements the bluetooth protocol over h4/uart.
  

Revision as of 10:33, 22 January 2018

btdrv

This is "nn::bluetooth::IBluetoothDriver".

The bluetooth driver implements the bluetooth protocol over h4/uart.

It interfaces with the 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.

Cmd Name
0
1 Init
2 Enable
3 Disable
4 CleanupAndShutdown
5 GetAdapterProperties
6 GetAdapterProperty
7 SetAdapterProperty
8 StartDiscovery
9 CancelDiscovery
10 CreateBond
11 RemoveBond
12 CancelBond
13 PinReply
14 SspReply
15
16 InitInterfaces
17 HidHostInterface_Connect
18 HidHostInterface_Disconnect
19 HidHostInterface_SendData
20 HidHostInterface_SendData2
21 HidHostInterface_SetReport
22 HidHostInterface_GetReport
23 HidHostInterface_WakeController
24 HidHostInterface_AddPairedDevice
25 HidHostInterface_GetPairedDevice
26 HidHostInterface_CleanupAndShutdown
27
28 ExtInterface_SetTSI
29 ExtInterface_SetBurstMode
30 ExtInterface_SetZeroRetran
31 ExtInterface_SetMcMode
32 ExtInterface_StartLlrMode
33 ExtInterface_ExitLlrMode
34 ExtInterface_SetRadio
35 ExtInterface_SetVisibility
36
37
38 HidHostInterface_GetLatestPlr
39 ExtInterface_GetPendingConnections
40 HidHostInterface_GetChannelMap
41 SetIsBluetoothBoostEnabled
42 GetIsBluetoothBoostEnabled
43 SetIsBluetoothAfhEnabled
44 GetIsBluetoothAfhEnabled