Bluetooth Driver services: Difference between revisions

No edit summary
No edit summary
Line 22: Line 22:
| 3 || [[#DisableBluetooth]]
| 3 || [[#DisableBluetooth]]
|-
|-
| 4 || [[#FinalizeBluetooth]]
| 4 || [[#FinalizeBluetooth]] ([?-8.1.1] [[#FinalizeBluetooth|CleanupBluetooth]])
|-
|-
| 5 || [[#GetAdapterProperties]]
| 5 || [[#GetAdapterProperties]]
Line 30: Line 30:
| 7 || [[#SetAdapterProperty]]
| 7 || [[#SetAdapterProperty]]
|-
|-
| 8 || [[#StartInquiry]]
| 8 || [[#StartInquiry]] ([?-8.1.1] [[#StartInquiry|StartDiscovery]])
|-
|-
| 9 || [[#StopInquiry]]
| 9 || [[#StopInquiry]] ([?-8.1.1] [[#StopInquiry|CancelDiscovery]])
|-
|-
| 10 || [[#CreateBond]]
| 10 || [[#CreateBond]]
Line 40: Line 40:
| 12 || [[#CancelBond]]
| 12 || [[#CancelBond]]
|-
|-
| 13 || [[#RespondToPinRequest]]
| 13 || [[#RespondToPinRequest]] ([?-8.1.1] [[#RespondToPinRequest|PinReply]])
|-
|-
| 14 || [[#RespondToSspRequest]]
| 14 || [[#RespondToSspRequest]] ([?-8.1.1] [[#RespondToSspRequest|SspReply]])
|-
|-
| 15 || [[#GetEventInfo]]
| 15 || [[#GetEventInfo]]
Line 48: Line 48:
| 16 || [[#InitializeHid]]
| 16 || [[#InitializeHid]]
|-
|-
| 17 || [[#OpenHidConnection]]
| 17 || [[#OpenHidConnection]] ([?-8.1.1] [[#OpenHidConnection|HidConnect]])
|-
|-
| 18 || [[#CloseHidConnection]]
| 18 || [[#CloseHidConnection]] ([?-8.1.1] [[#CloseHidConnection|HidDisconnect]])
|-
|-
| 19 || [[#WriteHidData]]
| 19 || [[#WriteHidData]] ([?-8.1.1] [[#WriteHidData|HidSendData]])
|-
|-
| 20 || [[#WriteHidData2]]
| 20 || [[#WriteHidData2]] ([?-8.1.1] [[#WriteHidData2|HidSendData2]])
|-
|-
| 21 || [[#SetHidReport]]
| 21 || [[#SetHidReport]] ([?-8.1.1] [[#HidSetReport]])
|-
|-
| 22 || [[#GetHidReport]]
| 22 || [[#GetHidReport]] ([?-8.1.1] [[#GetHidReport|HidGetReport]])
|-
|-
| 23 || [[#TriggerConnection]] ([1.0.0-8.1.1] [[#HidWakeController]])
| 23 || [[#TriggerConnection]] ([?-8.1.1] [[#HidWakeController]])
|-
|-
| 24 || [[#AddPairedDeviceInfo]]
| 24 || [[#AddPairedDeviceInfo]] ([?-8.1.1] [[#AddPairedDeviceInfo|HidAddPairedDevice]])
|-
|-
| 25 || [[#GetPairedDeviceInfo]]
| 25 || [[#GetPairedDeviceInfo]] ([?-8.1.1] [[#GetPairedDeviceInfo|HidGetPairedDevice]])
|-
|-
| 26 || [[#FinalizeHid]]
| 26 || [[#FinalizeHid]] ([?-8.1.1] [[#FinalizeHid|CleanupHid]])
|-
|-
| 27 || [[#GetHidEventInfo]]
| 27 || [[#GetHidEventInfo]] ([?-8.1.1] [[#GetHidEventInfo|HidGetEventInfo]])
|-
|-
| 28 || [[#SetTsi]]
| 28 || [[#SetTsi]] ([?-8.1.1]] [[#SetTsi|ExtSetTsi]])
|-
|-
| 29 || [[#EnableBurstMode]]
| 29 || [[#EnableBurstMode]] ([?-8.1.1] [[#EnableBurstMode|ExtSetBurstMode]])
|-
|-
| 30 || [[#SetZeroRetransmission]]
| 30 || [[#SetZeroRetransmission]] ([?-8.1.1] [[#SetZeroRetransmission|ExtSetZeroRetran]])
|-
|-
| 31 || [[#EnableMcMode]]
| 31 || [[#EnableMcMode]] ([?-8.1.1] [[#EnableMcMode|ExtSetMcMode]])
|-
|-
| 32 || [[#EnableLlrScan]]
| 32 || [[#EnableLlrScan]] ([?-8.1.1] [[#EnableLlrScan|ExtStartLlrMode]])
|-
|-
| 33 || [[#DisableLlrScan]]
| 33 || [[#DisableLlrScan]] ([?-8.1.1] [[#DisableLlrScan|ExtExitLlrMode]])
|-
|-
| 34 || [[#EnableRadio]]
| 34 || [[#EnableRadio]] ([?-8.1.1] [[#EnableRadio|ExtSetRadio]])
|-
|-
| 35 || [[#SetVisibility]]
| 35 || [[#SetVisibility]] ([?-8.1.1] [[#SetVisibility|ExtSetVisibility]])
|-
|-
| 36 || [[#EnableTbfcScan]]
| 36 || [[#EnableTbfcScan]] ([?-8.1.1] [[#EnableTbfcScan|ExtSetTbfcScan]])
|-
|-
| 37 || [[#RegisterHidReportEvent]]
| 37 || [[#RegisterHidReportEvent]]
|-
|-
| 38 || [[#GetHidReportEventInfo]]
| 38 || [[#GetHidReportEventInfo]] ([?-8.1.1] [[#GetHidReportEventInfo|HidGetReportEventInfo]])
|-
|-
| 39 || [[#GetLatestPlr]]
| 39 || [[#GetLatestPlr]]
|-
|-
| 40 || [3.0.0+] [[#GetPendingConnections]]
| 40 || [3.0.0+] [[#GetPendingConnections]] ([?-8.1.1] [[#GetPendingConnections|ExtGetPendingConnections]])
|-
|-
| 41 || [3.0.0+] [[#GetChannelMap]]
| 41 || [3.0.0+] [[#GetChannelMap]]
|-
|-
| 42 || [3.0.0+] [[#EnableTxPowerBoostSetting]]
| 42 || [3.0.0+] [[#EnableTxPowerBoostSetting]] ([?-8.1.1] [[#EnableTxPowerBoostSetting|EnableBluetoothBoostSetting]])
|-
|-
| 43 || [3.0.0+] [[#IsTxPowerBoostSettingEnabled]]
| 43 || [3.0.0+] [[#IsTxPowerBoostSettingEnabled]] ([?-8.1.1] [[#IsTxPowerBoostSettingEnabled|IsBluetoothBoostSettingEnabled]])
|-
|-
| 44 || [3.0.0+] [[#EnableAfhSetting]]
| 44 || [3.0.0+] [[#EnableAfhSetting]] ([?-8.1.1] [[#EnableAfhSetting|EnableBluetoothAfhSetting]])
|-
|-
| 45 || [[#IsAfhSettingEnabled]]
| 45 || [[#IsAfhSettingEnabled]] ([?-8.1.1] [[#IsAfhSettingEnabled|IsBluetoothAfhSettingEnabled]])
|-
|-
| 46 || [5.0.0+] [[#InitializeBle]]
| 46 || [5.0.0+] [[#InitializeBle]] ([5.0.0-8.1.1] [[#InitializeBle|InitializeBluetoothLe]])
|-
|-
| 47 || [5.0.0+] [[#EnableBle]]
| 47 || [5.0.0+] [[#EnableBle]] ([5.0.0-8.1.1] [[#EnableBle|EnableBluetoothLe]])
|-
|-
| 48 || [5.0.0+] [[#DisableBle]]
| 48 || [5.0.0+] [[#DisableBle]] ([5.0.0-8.1.1] [[#DisableBle|DisableBluetoothLe]])
|-
|-
| 49 || [5.0.0+] [[#FinalizeBle]]
| 49 || [5.0.0+] [[#FinalizeBle]] ([5.0.0-8.1.1] [[#FinalizeBle|CleanupBluetoothLe]])
|-
|-
| 50 || [5.0.0+] [[#SetBleVisibility]]
| 50 || [5.0.0+] [[#SetBleVisibility]] ([5.0.0-8.1.1] [[#SetBleVisibility|SetLeVisibility]])
|-
|-
| 51 || [5.0.0+] [[#SetBleConnectionParameter]] ([5.0.0-8.1.1] [[#SetLeConnectionParameter]])
| 51 || [5.0.0+] [[#SetBleConnectionParameter]] ([5.0.0-8.1.1] [[#SetLeConnectionParameter]])
Line 280: Line 280:
Takes an input u16, returns an output Event with EventClearMode=1.
Takes an input u16, returns an output Event with EventClearMode=1.


Originally sdknso used an user-specified value for the u16, however with newer versions it uses hard-coded value 0x1 instead.
Originally sdknso used an user-specified value for the u16, however with [9.0.0+] it uses hard-coded value 0x1 instead.


== OpenHidConnection ==
== OpenHidConnection ==
Line 287: Line 287:
== CloseHidConnection ==
== CloseHidConnection ==
Takes an input [[#Address]], no output.
Takes an input [[#Address]], no output.
== HidSendData ==
Takes an input [[#Address]] and a type-0x19 input buffer containing a [[#HidData]], no output.


== WriteHidData ==
== WriteHidData ==
Line 293: Line 296:
== WriteHidData2 ==
== WriteHidData2 ==
Takes an input [[#Address]] and a type-0x9 input buffer, no output.
Takes an input [[#Address]] and a type-0x9 input buffer, no output.
== HidSetReport ==
Takes an input [[#Address]], a [[#BluetoothHhReportType]], a type-0x19 input buffer containing a [[#HidData]], no output.


== SetHidReport ==
== SetHidReport ==
Line 358: Line 364:


== GetLatestPlr ==
== GetLatestPlr ==
Takes a type-0x16 output buffer containing a [[#PlrList]].
Takes a type-0x16 output buffer containing a [[#PlrList]] ([1.0.0-8.1.1] [[#PlrStatistics]]).


== GetPendingConnections ==
== GetPendingConnections ==
Line 464: Line 470:


= AdapterProperty =
= AdapterProperty =
This is "nn::bluetooth::AdapterProperty".
This is "nn::bluetooth::AdapterProperty". This is a 0x103-byte struct.


= Address =
= Address =
Line 471: Line 477:
= BluetoothPinCode =
= BluetoothPinCode =
This is "nn::bluetooth::BluetoothPinCode". This is a 0x10-byte struct with 1-byte alignment.
This is "nn::bluetooth::BluetoothPinCode". This is a 0x10-byte struct with 1-byte alignment.
= HidData =
This is "nn::bluetooth::HidData". This is a 0x282-byte struct.


= HidReport =
= HidReport =
This is "nn::bluetooth::HidReport". This is a 0x2BE-byte struct.
This is "nn::bluetooth::HidReport". This is a 0x2BE-byte struct.
= PlrStatistics =
This is "nn::bluetooth::PlrStatistics". This is a 0x84-byte struct.


= PlrList =
= PlrList =