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]] ([ | | 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 | 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 = |