summaryrefslogtreecommitdiff
path: root/bluetooth/serialhcibus/README.md
diff options
context:
space:
mode:
authorBarry Golden <[email protected]>2019-09-12 10:46:37 -0700
committerGitHub <[email protected]>2019-09-12 10:46:37 -0700
commitdb43355fe49c4bec3dbb5f84c271e15dc914ce72 (patch)
tree055a4d1bd666d9e41a0faf495ca786a8da47bc47 /bluetooth/serialhcibus/README.md
parentbbe176e4e13cb9f963897173a935e639267a1a20 (diff)
Diffstat (limited to 'bluetooth/serialhcibus/README.md')
-rw-r--r--bluetooth/serialhcibus/README.md39
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.