BTM services: Difference between revisions

No edit summary
Line 82: Line 82:
| 34 ([5.0.0-5.0.2] ?) || [5.0.0+] AcquireBleConnectionEvent
| 34 ([5.0.0-5.0.2] ?) || [5.0.0+] AcquireBleConnectionEvent
|-
|-
| 35 ([5.0.0-5.0.2] ?) || [5.0.0+] BleConnect
| 35 ([5.0.0-5.0.2] 24) || [5.0.0+] [[#BleConnect]]
|-
|-
| 36 ([5.0.0-5.0.2] ?) || [5.0.0+] BleOverrideConnection
| 36 ([5.0.0-5.0.2] ?) || [5.0.0+] BleOverrideConnection
|-
|-
| 37 ([5.0.0-5.0.2] ?) || [5.0.0+] BleDisconnect
| 37 ([5.0.0-5.0.2] 25) || [5.0.0+] [[#BleDisconnect]]
|-
|-
| 38 ([5.0.0-5.0.2] ?) || [5.0.0+] BleGetConnectionState
| 38 ([5.0.0-5.0.2] ?) || [5.0.0+] BleGetConnectionState
Line 224: Line 224:
== AcquireBleScanEvent ==
== AcquireBleScanEvent ==
No input, returns an output u8 and an Event handle with EventClearMode=1.
No input, returns an output u8 and an Event handle with EventClearMode=1.
== BleConnect ==
Takes an input [[Bluetooth_Driver_services#Address|Address]], no output.
== BleDisconnect ==
Takes an input u32, no output.


== Cmd60 ==
== Cmd60 ==
Line 399: Line 405:
| 17 || [[#AcquireBleConnectionEvent]]
| 17 || [[#AcquireBleConnectionEvent]]
|-
|-
| 18 || [[#BleConnect]]
| 18 || [[#BleConnect_2|BleConnect]]
|-
|-
| 19 || [[#BleDisconnect]]
| 19 || [[#BleDisconnect_2|BleDisconnect]]
|-
|-
| 20 || [[#BleGetConnectionState]]
| 20 || [[#BleGetConnectionState]]
Line 511: Line 517:
Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output.
Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output.


The u32 is handled the same as [[#BleDisconnect]].
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]].


=== BleUnPairDevice ===
=== BleUnPairDevice ===
Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output.
Takes an input [[Bluetooth_Driver_services#BleAdvertisePacketParameter|BleAdvertisePacketParameter]] and an u32, no output.


The u32 is handled the same as [[#BleDisconnect]].
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]].


=== BleUnPairDevice2 ===
=== BleUnPairDevice2 ===
Line 534: Line 540:
Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.


The u32 is handled the same as [[#BleDisconnect]]. The max array entries is 100.
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]]. The max array entries is 100.


=== GetGattService ===
=== GetGattService ===
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u32, a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u32, a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.


The u32 is handled the same as [[#BleDisconnect]].
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]].


Same as [[#GetGattServices]] except this only returns the [[#GattService]] which matches the input [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]].
Same as [[#GetGattServices]] except this only returns the [[#GattService]] which matches the input [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]].
Line 546: Line 552:
Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.
Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.


The u32 is handled the same as [[#BleDisconnect]]. The max array entries is 100.
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]]. The max array entries is 100.


Same as [[#GetGattServices]] except this only returns [[#GattService]] entries where various checks pass with u16 fields.
Same as [[#GetGattServices]] except this only returns [[#GattService]] entries where various checks pass with u16 fields.
Line 555: Line 561:
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.


The u32 is handled the same as [[#BleDisconnect]].
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]].


This is similar to [[#GetGattIncludedServices]] except this only returns 1 [[#GattService]].
This is similar to [[#GetGattIncludedServices]] except this only returns 1 [[#GattService]].
Line 562: Line 568:
Takes a PID, a type-0x6 output buffer containing an array of [[#GattCharacteristic]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x6 output buffer containing an array of [[#GattCharacteristic]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.


The u32 is handled the same as [[#BleDisconnect]]. The max array entries is 100.
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]]. The max array entries is 100.


The u16 controls which [[#GattCharacteristic]] entries to return.
The u16 controls which [[#GattCharacteristic]] entries to return.
Line 569: Line 575:
Takes a PID, a type-0x6 output buffer containing an array of [[#GattDescriptor]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x6 output buffer containing an array of [[#GattDescriptor]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.


The u32 is handled the same as [[#BleDisconnect]]. The max array entries is 100.
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]]. The max array entries is 100.


The u16 controls which [[#GattDescriptor]] entries to return.
The u16 controls which [[#GattDescriptor]] entries to return.
Line 581: Line 587:
Takes a PID, an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.
Takes a PID, an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], no output.


The u32 is handled the same as [[#BleDisconnect]].
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]].


sdknso will Abort if the user-specified u16 is <0x18 or >0x200.
sdknso will Abort if the user-specified u16 is <0x18 or >0x200.
Line 588: Line 594:
Takes a PID, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u16.
Takes a PID, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u16.


The u32 is handled the same as [[#BleDisconnect]].
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]].


=== RegisterBleGattDataPath ===
=== RegisterBleGattDataPath ===