summaryrefslogtreecommitdiff
path: root/emulator/usbpt/bluetooth/bluetooth.prop
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/usbpt/bluetooth/bluetooth.prop')
-rw-r--r--emulator/usbpt/bluetooth/bluetooth.prop38
1 files changed, 31 insertions, 7 deletions
diff --git a/emulator/usbpt/bluetooth/bluetooth.prop b/emulator/usbpt/bluetooth/bluetooth.prop
index fdd00c0..e84275d 100644
--- a/emulator/usbpt/bluetooth/bluetooth.prop
+++ b/emulator/usbpt/bluetooth/bluetooth.prop
@@ -1,11 +1,35 @@
# The default Bluetooth Class of Device
-# Service Field: 0x26 -> 38
-# - Bit 17: Networking
-# - Bit 18: Rendering
-# - Bit 21: Audio
-# Major Class: 0x04 -> 4 (Audio / Video)
-# Minor Class: 0x08 -> 8 (Car Audio)
-bluetooth.device.class_of_device=38,4,8
+#
+# Bluetooth uses "format 1" for class of device, which consists of 4 fields:
+# * Major Service Class
+# * Major Device Class
+# * Minor Device Class
+# * Format indicator (Fixed: 0b00)
+#
+# Class of device is represented by a 3-tuple. However, each value in the tuple does
+# *NOT* correspond to a field. Instead, class of device is stored internally as 24 bits,
+# and each value in the tuple corresponds to an octet.
+#
+# Format (24 Bits):
+# Service Major Minor fmt
+# (11 bits) (5 bits) (6 bits) 0b00
+# |23 13|12 8|7 2|1 0|
+# |<------------------->|<------->|<--------->|<->|
+# |0|0|1|0|0|1|1|0|0|0|0|0|0|1|0|0|0|0|1|0|0|0|0|0|
+# |<------------->|<------------->|<------------->|
+# |23 16|15 8|7 0|
+# | octet[0] = 38 | octet[1] = 4 | octet[2] = 32 |
+#
+# Major Service Class:
+# - Bit 21: Audio
+# - Bit 18: Rendering
+# - Bit 17: Networking
+# Major Device Class:
+# - Bit 10: Audio / Video
+# Minor Device Class:
+# - Bit 5: Car Audio
+# Format Bits (Fixed): 0b00 -> "Format 1"
+bluetooth.device.class_of_device=38,4,32
bluetooth.device.default_name=gCar Emulator
# The Bluetooth profiles that cars expect to have enabled. All other profiles