Difference between revisions of "BTM services"
Line 307: | Line 307: | ||
=== AcquireBleScanEvent === | === AcquireBleScanEvent === | ||
− | No input, returns an output Event handle. | + | No input, returns an output Event handle with EventClearMode=1. |
=== GetBleScanFilterParameter === | === GetBleScanFilterParameter === | ||
− | Takes an input u16, returns | + | Takes an input u16, returns a [[#BleAdvertisePacketParameter]]. |
=== GetBleScanFilterParameter2 === | === GetBleScanFilterParameter2 === | ||
− | Takes an input u16, returns | + | Takes an input u16, returns a [[#GattAttributeUuid]]. |
=== StartBleScanForGeneral === | === StartBleScanForGeneral === | ||
+ | Takes a PID, a [[#BleAdvertisePacketParameter]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output. | ||
=== StopBleScanForGeneral === | === StopBleScanForGeneral === | ||
+ | No input/output. | ||
=== GetBleScanResultsForGeneral === | === GetBleScanResultsForGeneral === | ||
+ | Takes a PID, a type-0x6 output buffer containing an array of [[#BleScanResult]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8. | ||
=== StartBleScanForPaired === | === StartBleScanForPaired === | ||
Line 371: | Line 374: | ||
=== UnregisterBleGattDataPath === | === UnregisterBleGattDataPath === | ||
+ | |||
+ | = BleAdvertisePacketParameter = | ||
+ | This is "nn::bluetooth::BleAdvertisePacketParameter". This is a 8-byte struct with 1-byte alignment. | ||
+ | |||
+ | = GattAttributeUuid = | ||
+ | This is "nn::bluetooth::GattAttributeUuid". This is a 0x14-byte struct with 4-byte alignment. | ||
+ | |||
+ | = BleScanResult = | ||
+ | This is "nn::bluetooth::BleScanResult". This is a 0x148-byte struct. | ||
[[Category:Services]] | [[Category:Services]] |
Revision as of 00:55, 29 July 2020
btm
This is "nn::btm::IBtm".
Support for "nn::btm::*" was added to sdknso with 6.x.
Cmd | Name |
---|---|
0 | GetState |
1 | GetHostDeviceProperty |
2 | AcquireDeviceConditionEvent |
3 | GetDeviceCondition |
4 | SetBurstMode |
5 | SetSlotMode |
6 | [1.0.0-8.1.0] SetBluetoothMode |
7 | SetWlanMode |
8 | AcquireDeviceInfoEvent |
9 | GetDeviceInfo |
10 | AddDeviceInfo |
11 | RemoveDeviceInfo |
12 | IncreaseDeviceInfoOrder |
13 | LlrNotify |
14 | EnableRadio |
15 | DisableRadio |
16 | HidDisconnect |
17 | HidSetRetransmissionMode |
18 | [2.0.0+] AcquireAwakeReqEvent |
19 | [4.0.0+] AcquireLlrStateEvent |
20 | [4.0.0+] IsLlrStarted |
21 | [4.0.0+] EnableSlotSaving |
22 | [5.0.0+] ProtectDeviceInfo |
23 | [5.0.0+] AcquireBleScanEvent |
24 | [5.0.0+] GetBleScanParameterGeneral |
25 | [5.0.0+] GetBleScanParameterSmartDevice |
26 | [5.0.0+] StartBleScanForGeneral |
27 | [5.0.0+] StopBleScanForGeneral |
28 | [5.0.0+] GetBleScanResultsForGeneral |
29 | [5.0.0+] StartBleScanForPairedDevice |
30 | [5.0.0+] StopBleScanForPairedDevice |
31 | [5.0.0+] StartBleScanForSmartDevice |
32 | [5.0.0+] StopBleScanForSmartDevice |
33 | [5.0.0+] GetBleScanResultsForSmartDevice |
34 | [5.0.0+] AcquireBleConnectionEvent |
35 | [5.0.0+] BleConnect |
36 | [5.0.0+] BleOverrideConnection |
37 | [5.0.0+] BleDisconnect |
38 | [5.0.0+] BleGetConnectionState |
39 | [5.0.0+] BleGetGattClientConditionList |
40 | [5.0.0+] AcquireBlePairingEvent |
41 | [5.0.0+] BlePairDevice |
42 | [5.0.0+] BleUnpairDeviceOnBoth |
43 | [5.1.0+] BleUnpairDevice |
44 | [5.1.0+] BleGetPairedAddresses |
45 | [5.1.0+] AcquireBleServiceDiscoveryEvent |
46 | [5.1.0+] GetGattServices |
47 | [5.1.0+] GetGattService |
48 | [5.1.0+] GetGattIncludedServices |
49 | [5.1.0+] GetBelongingService |
50 | [5.1.0+] GetGattCharacteristics |
51 | [5.1.0+] GetGattDescriptors |
52 | [5.1.0+] AcquireBleMtuConfigEvent |
53 | [5.1.0+] ConfigureBleMtu |
54 | [5.1.0+] GetBleMtu |
55 | [5.1.0+] RegisterBleGattDataPath |
56 | [5.1.0+] UnregisterBleGattDataPath |
57 | [5.1.0+] RegisterAppletResourceUserId |
58 | [5.1.0+] UnregisterAppletResourceUserId |
59 | [5.1.0+] SetAppletResourceUserId |
60 | [8.0.0+] |
61 | [8.0.0+] |
62 | [9.0.0+] |
63 | [9.0.0+] |
64 | [10.0.0+] |
[3.0.0+] RegisterSystemEventForConnectedDeviceCondition, RegisterSystemEventForRegisteredDeviceInfo, and cmd18 now returns an output u8.
With [5.1.0+] cmds 24-42 were moved/replaced/etc (input/output changed).
[9.0.0+] Cmd13 now takes 0xC-bytes of input and no output, instead of 0x6-bytes of input.
btm:dbg
This is "nn::btm::IBtmDebug".
Cmd | Name |
---|---|
0 | AcquireDiscoveryEvent |
1 | StartDiscovery |
2 | CancelDiscovery |
3 | GetDeviceProperty |
4 | CreateBond |
5 | CancelBond |
6 | SetTsiMode |
7 | GeneralTest |
8 | HidConnect |
9 | [5.0.0+] GeneralGet |
10 | [5.1.0+] GetGattClientDisconnectionReason |
11 | [5.1.0+] GetBleConnectionParameter |
12 | [5.1.0+] GetBleConnectionParameterRequest |
[3.0.0+] RegisterSystemEventForDiscovery now returns an output u8.
btm:sys
This is "nn::btm::IBtmSystem".
Cmd | Name |
---|---|
0 | GetCore |
IBtmSystemCore
This is "nn::btm::IBtmSystemCore".
Cmd | Name |
---|---|
0 | StartGamepadPairing |
1 | CancelGamepadPairing |
2 | ClearGamepadPairingDatabase |
3 | GetPairedGamepadCount |
4 | EnableRadio |
5 | DisableRadio |
6 | GetRadioOnOff |
7 | [3.0.0+] AcquireRadioEvent |
8 | [3.0.0+] AcquireGamepadPairingEvent |
9 | [3.0.0+] IsGamepadPairingStarted |
btm:u
This is "nn::btm::IBtmUser".
This was added with [5.0.0+].
Cmd | Name |
---|---|
0 | #GetCore |
GetCore
No input, returns an output #IBtmUserCore.
IBtmUserCore
This is "nn::btm::IBtmUserCore".
AcquireBleScanEvent
No input, returns an output Event handle with EventClearMode=1.
GetBleScanFilterParameter
Takes an input u16, returns a #BleAdvertisePacketParameter.
GetBleScanFilterParameter2
Takes an input u16, returns a #GattAttributeUuid.
StartBleScanForGeneral
Takes a PID, a #BleAdvertisePacketParameter, an AppletResourceUserId, no output.
StopBleScanForGeneral
No input/output.
GetBleScanResultsForGeneral
Takes a PID, a type-0x6 output buffer containing an array of #BleScanResult, an AppletResourceUserId, returns an output u8.
StartBleScanForPaired
StopBleScanForPaired
StartBleScanForSmartDevice
StopBleScanForSmartDevice
GetBleScanResultsForSmartDevice
AcquireBleConnectionEvent
BleConnect
BleDisconnect
BleGetConnectionState
AcquireBlePairingEvent
BlePairDevice
BleUnPairDevice
BleUnPairDevice2
BleGetPairedDevices
AcquireBleServiceDiscoveryEvent
GetGattServices
GetGattService
GetGattIncludedServices
GetBelongingGattService
GetGattCharacteristics
GetGattDescriptors
AcquireBleMtuConfigEvent
ConfigureBleMtu
GetBleMtu
RegisterBleGattDataPath
UnregisterBleGattDataPath
BleAdvertisePacketParameter
This is "nn::bluetooth::BleAdvertisePacketParameter". This is a 8-byte struct with 1-byte alignment.
GattAttributeUuid
This is "nn::bluetooth::GattAttributeUuid". This is a 0x14-byte struct with 4-byte alignment.
BleScanResult
This is "nn::bluetooth::BleScanResult". This is a 0x148-byte struct.