diff options
| author | Barry Golden <[email protected]> | 2019-09-12 10:46:37 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-09-12 10:46:37 -0700 |
| commit | db43355fe49c4bec3dbb5f84c271e15dc914ce72 (patch) | |
| tree | 055a4d1bd666d9e41a0faf495ca786a8da47bc47 /bluetooth/serialhcibus/README.md | |
| parent | bbe176e4e13cb9f963897173a935e639267a1a20 (diff) | |
Diffstat (limited to 'bluetooth/serialhcibus/README.md')
| -rw-r--r-- | bluetooth/serialhcibus/README.md | 39 |
1 files changed, 15 insertions, 24 deletions
diff --git a/bluetooth/serialhcibus/README.md b/bluetooth/serialhcibus/README.md index d43bd711..cb7b9378 100644 --- a/bluetooth/serialhcibus/README.md +++ b/bluetooth/serialhcibus/README.md @@ -8,37 +8,28 @@ products: - windows-wdk --- - -<!--- - name: Bluetooth Serial HCI Bus Driver - platform: WDM - language: cpp - category: Bluetooth - description: Demonstrates how to implement a basic bus driver to support the new Bluetooth Extensibility transport DDIs over the UART transport. - samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617641 ----> - # Bluetooth Serial HCI Bus Driver -The purpose of this sample is to demonstrate how to implement a basic bus driver to support the new [Bluetooth Extensibility transport DDIs](http://msdn.microsoft.com/en-us/library/windows/hardware/ff536585) over the UART transport. Such a serial bus driver can support a multi-radio device over the UART transport and utilize a common Bluetooth HCI packet for communication. The lower edge of this driver interfaces with a UART controller following the Bluetooth SIG's UART (H4) transport protocol. +The purpose of this sample is to demonstrate how to implement a basic bus driver to support the new [Bluetooth Extensibility transport DDIs](https://docs.microsoft.com/windows-hardware/drivers/ddi/content/bthxddi/) over the UART transport. Such a serial bus driver can support a multi-radio device over the UART transport and utilize a common Bluetooth HCI packet for communication. The lower edge of this driver interfaces with a UART controller following the Bluetooth SIG's UART (H4) transport protocol. ## Universal Windows Driver Compliant This sample builds a Universal Windows Driver. It uses only APIs and DDIs that are included in OneCoreUAP. -**Note** This sample driver is generic. It is not designed for a specific device and allows for a vendor to adopt and enhance it for supporting Bluetooth. +> [!NOTE] +> This sample driver is generic. It is not designed for a specific device and allows for a vendor to adopt and enhance it for supporting Bluetooth. This sample driver, as is, may not properly function for a device until all vendor-specific device requirements (for example, device initialization) have been incorporated. -It is recommended to use the WDK version that matches the target Windows build version or newer for the development of the serial bus driver. +It is recommended to use the WDK version that matches the target Windows build version or newer for the development of the serial bus driver. -**FILE MANIFEST** +## File manifest -**WDK header file** +### WDK header file -BthXDDI.h - this has the constants, struct, and IOCTL definitions for the Bluetooth extensibility transport. This header file is included in WDK. +Bthxddi.h - contains the constants, struct, and IOCTL definitions for the Bluetooth extensibility transport. This header file is included in WDK. -**Common code section** +### Common code section driver.c - driver initialization @@ -56,24 +47,24 @@ public.h - header to share with application to support Radio On/Off ("Airplane m Note: The goal is to keep the common code section the same, so the vendor will only need to update those code sections in the device specific directory. -**Device-specific code section** +### Device-specific code section Debugdef.h - WPP trace GUID; user should use a new GUID (unique per driver) device.c - device specific functions to implement: ---DeviceInitialize() - to perform UART and Bluetooth device initialization; +- DeviceInitialize() - to perform UART and Bluetooth device initialization; ---DeviceEnable() - (optional) to bring serial bus device out of disable/reset state. +- DeviceEnable() - (optional) to bring serial bus device out of disable/reset state. ---DevicePowerOn() - (optional) to power on the device. +- DevicePowerOn() - (optional) to power on the device. ---DeviceEnableWakeControl() - (optional) to arm for device wake signal +- DeviceEnableWakeControl() - (optional) to arm for device wake signal ---DeviceDisableWakeControl() - (optional) to disarm for device wake signal +- DeviceDisableWakeControl() - (optional) to disarm for device wake signal device.h - header file for device.c driver.rc - driver version and name -SerialBusWdk.inx - device specific INF file to install this driver. The vendor will need to add the hardware ID to match the "\_HID" for the Serial Bus Device (Bluetooth) in the DSDT.asl file. For example, in SerialBusWDK.inx, the hardware ID is "ACPI\\<*vendor*\>\_BTH0" where <*vendor*\> could be a 4 digit vendor name. +SerialBusWdk.inx - device specific INF file to install this driver. The vendor will need to add the hardware ID to match the "\_HID" for the Serial Bus Device (Bluetooth) in the DSCY.asl file. For example, in SerialBusWDK.inx, the hardware ID is "ACPI\\<*vendor*\>\_BTH0" where <*vendor*\> could be a 4 digit vendor name. |
