Bluetooth Driver services: Difference between revisions

No edit summary
 
(12 intermediate revisions by 4 users not shown)
Line 215: Line 215:
|-
|-
| 100 || [12.0.0+] [[#IsBluetoothEnabled]]
| 100 || [12.0.0+] [[#IsBluetoothEnabled]]
|-
| 101 || [15.0.0+] ForceEnableBluetooth
|-
| 102 || [15.0.0+] EnableBluetoothStub
|-
|-
| 128 || [12.0.0+] [[#AcquireAudioEvent]]
| 128 || [12.0.0+] [[#AcquireAudioEvent]]
Line 260: Line 264:
| 149 || [13.0.0+] [[#SendAudioControlSetAbsoluteVolumeCommand]]
| 149 || [13.0.0+] [[#SendAudioControlSetAbsoluteVolumeCommand]]
|-
|-
| 150 || [14.0.0+]  
| 150 || [14.0.0+] AcquireAudioSinkVolumeLocallyChangedEvent
|-
| 151 || [14.0.0+] AcquireAudioSinkVolumeUpdateRequestCompletedEvent
|-
|-
| 151 || [14.0.0+]  
| 152 || [14.0.0+] GetAudioSinkVolume
|-
|-
| 152 || [14.0.0+]  
| 153 || [14.0.0+] RequestUpdateAudioSinkVolume
|-
|-
| 153 || [14.0.0+]  
| 154 || [14.0.0+] IsAudioSinkVolumeSupported
|-
|-
| 154 || [14.0.0+]  
| 155 || [15.0.0+] IsAudioSinkVolumeSupported2
|-
|-
| 256 || [5.0.0+] [[#IsManufacturingMode]]
| 256 || [5.0.0+] [[#IsManufacturingMode]]
Line 528: Line 534:


== TriggerConnection ==
== TriggerConnection ==
Takes an input [[#Address]] and an u16, no output.
Takes an input [[#Address]] and a u16 timeout, no output.


This is used by [[BTM_services|btm]].
This is used by [[BTM_services|btm]].
Line 535: Line 541:


The funcptr does the following:
The funcptr does the following:
* Calls a func, returning the ret on failure. This uses a BSA extension (message 0x8CE), with the input u16 being used with this.
* Calls a func, returning the ret on failure. This uses a BSA extension (message 0x8CE), with the u16 timeout being used with this.
* Then another func is called, with the input [[#Address]], with the ret from here being returned. This throws an error if the device isn't paired. This opens a HID-Host connection to the specified [[#Address]]. The passed sec_mask is 0x12 (Inbound/outbound authentication required), and brcm_mask is set for enabling TBFC Page.
* Then another func is called, with the input [[#Address]], with the ret from here being returned. This throws an error if the device isn't paired. This opens a HID-Host connection to the specified [[#Address]]. The passed sec_mask is 0x12 (Inbound/outbound authentication required), and brcm_mask is set for enabling TBFC Page.


The handler for the above message with the used bit flag does the following:
The handler for the above message with the used bit flag does the following:
* Uses HCI vendor command 0xFCC2 with param_len=0xE. Param data: u32 +0 = 0x14E18, u16 +4 = 0x20, u8 +6 = 0x2, u16 +7 = {input u16 message param value} (written via u8 writes), u32 +9 = 0x30200, u8 +0xD = 0.
* Uses HCI vendor command 0xFCC2 (TBFC Write Parameters) with param_len=0xE. Param data: u16 timeout value is inserted into the following tAPP_TM_TBFC_PARAM structure initialized with default values. The default host trigger timeout used elsewhere is 0x1800.
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
! Value
|-
| 0x0
| 0x1
| BfcEnable
| 0x1
|-
| 0x1
| 0x1
| Frequency1
| 0x0
|-
| 0x2
| 0x1
| Frequency2
| 0x18
|-
| 0x3
| 0x1
| Frequency3
| 0x4E
|-
| 0x4
| 0x1
| AccessCodeLength
| 0x20
|-
| 0x5
| 0x2
| HostScanInterval
| 0x200
|-
| 0x7
| 0x2
| HostTriggerTimeout
| timeout
|-
| 0x9
| 0x2
| HidScanInterval
| 0x200
|-
| 0xB
| 0x1
| HidScanRetry
| 0x3
|-
| 0xC
| 0x1
| DontDisturb
| 0x0
|-
| 0xD
| 0x1
| WakeUpMask
| 0x0
|}


== AddPairedDeviceInfo ==
== AddPairedDeviceInfo ==
Line 2,286: Line 2,354:
| CYW4356A3_001.004.009.0092.0095
| CYW4356A3_001.004.009.0092.0095
|-
|-
| [12.0.0-14.0.0]
| [12.0.0-14.1.2]
| BSA0106_01.60.00_
| BSA0106_01.60.00_
| Hayward_T3_RC_20210224
| Hayward_T3_RC_20210224
| CYW4356A3_001.004.009.0092.0095
| CYW4356A3_001.004.009.0092.0095
|-
| [15.0.0-20.1.0]
| BSA0106_01.60.00_
| Hayward_T3_RC_20210224
| BCM4356A3 UART 37.4 MHz wlbga_bu
|}
|}


<code>bsa_sv_tm_read_version_excback</code> copies bsa_version_string and concats with bsa_version_info_string to generate <code>tBSA_TM_READ_VERSION.bsa_server_version</code>.
<code>bsa_sv_tm_read_version_excback</code> copies bsa_version_string and concats with bsa_version_info_string to generate <code>tBSA_TM_READ_VERSION.bsa_server_version</code>.
* [15.0.0]: In the HCI memwrite data, only config data was changed, no code changes.


[[Category:Services]]
[[Category:Services]]