BTM services: Difference between revisions

No edit summary
No edit summary
Line 108: Line 108:
| 47 ([5.0.0-5.0.2] 30) || [5.0.0+] [[#GetGattService]]
| 47 ([5.0.0-5.0.2] 30) || [5.0.0+] [[#GetGattService]]
|-
|-
| 48 || [5.1.0+] GetGattIncludedServices
| 48 ([5.0.0-5.0.2] 31) || [5.0.0+] [[#GetGattIncludedServices]]
|-
|-
| 49 || [5.1.0+] GetBelongingService
| 49 || [5.1.0+] GetBelongingService
Line 243: Line 243:
Takes a type-0x6 output buffer containing an array of [[#GattService]], an u32, returns an output u8 total_out.
Takes a type-0x6 output buffer containing an array of [[#GattService]], an u32, returns an output u8 total_out.


The u32 is the same as param for [[#BleDisconnect]]. The max array entries is 100.
The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100.


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


The u32 is the same as param for [[#BleDisconnect]].
The u32 is the same as the param for [[#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]].
== GetGattIncludedServices ==
Takes a type-0x6 output buffer containing an array of [[#GattService]], an u16, an u32, returns an output u8.
The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100.
Same as [[#GetGattServices]] except this only returns [[#GattService]] entries where various checks pass with u16 fields.
The param for the output u8 is unused by the sysmodule, hence the output is always 0.


== Cmd60 ==
== Cmd60 ==
Line 448: Line 457:
| 28 || [[#GetGattService_2|GetGattService]]
| 28 || [[#GetGattService_2|GetGattService]]
|-
|-
| 29 || [[#GetGattIncludedServices]]
| 29 || [[#GetGattIncludedServices_2|GetGattIncludedServices]]
|-
|-
| 30 || [[#GetBelongingGattService]]
| 30 || [[#GetBelongingGattService]]
Line 584: Line 593:
The u32 is handled the same as [[#BleDisconnect_2|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_2|GetGattIncludedServices]] except this only returns 1 [[#GattService]].


=== GetGattCharacteristics ===
=== GetGattCharacteristics ===