diff --git a/ble_issue_tracker.md b/ble_issue_tracker.md index f494c3b..5fe3a1d 100644 --- a/ble_issue_tracker.md +++ b/ble_issue_tracker.md @@ -54,4 +54,8 @@ T6. Device Name in advertising packets includes the flash code so anyone could p T7. Generic Access Service: Device Name and Appearance are mandatory and so need values +T8. Review advertising parameters: Advertising frequency seems quite low. This will make the discovery process slower and overall, both the pairing and FOTA processes a little slower. Are all three advertising channels in use or not? Thinking of a class room or event it would be best to use all three. + +T9. Consider using directed advertising and white listing so that only the paired peer device can (re)connect to the micro:bit. I believe we are currently performing undirected advertising.... basically broadcasting. Directed advertising will address ADV packets to the paired peer device only. As things stand it seems to me that if some other person in the classroom just decides to connect to a micro:bit that is not theirs, they’ve effectively blocked all other use of the device.... a simple DOS attack. + ### CLOSED: diff --git a/docs/BBC Micro Bit Bluetooth Profile V1.5.docx b/docs/BBC Micro Bit Bluetooth Profile V1.5.docx index bce4aa9..b27fbd1 100644 Binary files a/docs/BBC Micro Bit Bluetooth Profile V1.5.docx and b/docs/BBC Micro Bit Bluetooth Profile V1.5.docx differ diff --git a/docs/BBC Micro Bit Bluetooth Profile V1.6.docx b/docs/BBC Micro Bit Bluetooth Profile V1.6.docx new file mode 100644 index 0000000..0739c90 Binary files /dev/null and b/docs/BBC Micro Bit Bluetooth Profile V1.6.docx differ diff --git a/docs/Report 1/BBC Micro Bit.html b/docs/Report 1/BBC Micro Bit.html index ff884b1..4a670ad 100644 --- a/docs/Report 1/BBC Micro Bit.html +++ b/docs/Report 1/BBC Micro Bit.html @@ -1,6 +1,6 @@ -Bluetooth Developer Studio - Profile Report +Bluetooth Developer Studio - Level 1 Profile Report @@ -12,7 +12,7 @@
The Date
-
Bluetooth Developer Studio Level 1 Report
+
Bluetooth Developer Studio Level 1 Profile Report
@@ -63,143 +63,160 @@
-

Generic Access

+

Generic Access

+

00001800-0000-1000-8000-00805F9B34FB

-

2A00 : Device Name

+

Device Name : 2A00

-

2A01 : Appearance

+

Appearance : 2A01

-

Device Information

+

Device Information

+

0000180A-0000-1000-8000-00805F9B34FB

-

2A24 : Model Number String

+

Model Number String : 2A24

-

2A25 : Serial Number String

+

Serial Number String : 2A25

-

2A27 : Hardware Revision String

+

Hardware Revision String : 2A27

-

2A26 : Firmware Revision String

+

Firmware Revision String : 2A26

-

Accelerometer Service

+

Accelerometer Service

+

0753

-

CA4B : Accelerometer Data

+

Accelerometer Data : E95DCA4B-251D-470A-A062-FA1922DFA9A8

-

FB24 : Accelerometer Period

+

Accelerometer Period : FB24

-

Magnetometer Service

+

Magnetometer Service

+

F2D8

-

FB11 : Magnetometer Data

+

Magnetometer Data : FB11

-

386C : Magnetometer Period

+

Magnetometer Period : 386C

+
+
+

Magnetometer Bearing : E95D9715-251D-470A-A062-FA1922DFA9A8

-

Battery Service

+

Temperature Service

+

E95D6100-251D-470A-A062-FA1922DFA9A8

-

2A19 : Battery Level

+

Temperature : E95D8A38-251D-470A-A062-FA1922DFA9A8

-

Button Service

+

Button Service

+

9882

-

DA90 : Button 1 State

+

Button 1 State : E95DDA90-251D-470A-A062-FA1922DFA9A8

-

E95DDA91-251D-470A-A062-FA1922DFA9A8 : Button 2 State

+

Button 2 State : E95DDA91-251D-470A-A062-FA1922DFA9A8

-

LED Service

+

LED Service

+

D91D

-

E95D7B77-251D-470A-A062-FA1922DFA9A8- : LED Matrix State

+

LED Matrix State : E95D7B77-251D-470A-A062-FA1922DFA9A8-

-

93EE : LED Text

+

LED Text : 93EE

-

0D2D : Scrolling Speed

+

Scrolling Speed : E95D0D2D-251D-470A-A062-FA1922DFA9A8

-

IO Pin Service

+

IO Pin Service

+

127B

-

8D00 : IO Pin 0

+

Pin Data : E95D8D00-251D-470A-A062-FA1922DFA9A8

-

C58C : IO Pin 1

+

Pin AD Configuration : E95D5899-251D-470A-A062-FA1922DFA9A8

-

04F4 : IO Pin 2

-
-
-

5899 : IO Pin Configuration

-
-
-

60CF : IO Parallel Port

+

Pin IO Configuration : E95DB9FE-251D-470A-A062-FA1922DFA9A8

-

Event Service

+

Event Service

+

93AF

-

E95DB84C-251D-470A-A062-FA1922DFA9A8 : MicroBit Requirements

+

MicroBit Requirements : E95DB84C-251D-470A-A062-FA1922DFA9A8

-

E95D9775-251D-470A-A062-FA1922DFA9A8- : Client Event

+

Client Event : E95D9775-251D-470A-A062-FA1922DFA9A8-

-

E95D5404-251D-470A-A062-FA1922DFA9A8- : MicroBit Event

+

MicroBit Event : E95D5404-251D-470A-A062-FA1922DFA9A8-

-

E95D23C4-251D-470A-A062-FA1922DFA9A8- : Client Requirements

+

Client Requirements : E95D23C4-251D-470A-A062-FA1922DFA9A8-

-

DFU SERVICE

+

DFU CONTROL SERVICE

+

E95D93B0-251D-470A-A062-FA1922DFA9A8

-

97109547E63A-442A-BF89-9D73-0413DC2F : DFU Control

+

DFU Control : E95D93B1-251D-470A-A062-FA1922DFA9A8

-

947B6934-64D1-4FAD-9BD0-CC9D6E9F3EA3 : DFU Flash Code

+

DFU Flash Code : E95D93B2-251D-470A-A062-FA1922DFA9A8

+
+ + +
+

Generic Attribute

+

1801

+
+ +
+

Service Changed : 2A05

diff --git a/docs/Report 1/style.css b/docs/Report 1/style.css index ce293b1..caaf5ba 100644 --- a/docs/Report 1/style.css +++ b/docs/Report 1/style.css @@ -42,25 +42,25 @@ p } .date { - width: 240px; + width: 100px; line-height: 79px; height: 79px; - float:left; + float:left; } .heading_title { - width: 800px; + width: 980px; line-height: 79px; height: 79px; - float:left; - text-align:center; + float:left; + text-align:center; } .icon { - width: 240px; + width: 200px; line-height: 79px; - height: 79; - float:left; + height: 79; + float:left; } .section_hdg { @@ -96,19 +96,19 @@ p } .profile_label { - width: 300px; - font-size: 14px; - font-weight:bold; + width: 300px; + font-size: 14px; + font-weight:bold; line-height: 33px; height: 33px; - float:left; + float:left; } .profile_value { - font-size: 14px; + font-size: 14px; line-height: 33px; height: 33px; - float:left; + float:left; } .services_section_hdg { @@ -141,17 +141,28 @@ p border-color: #FFFFFF; } -.service_hdg_text { - font-size: 18px; - font-weight:bold; - color:#ffffff; - float:left; - width:1270px; +.service_hdg_text1 { + font-size: 18px; + font-weight:bold; + color:#ffffff; + float:left; + width:800px; padding-left: 10px; height:33px; line-height: 33px; background-color: #339933 } + +.service_hdg_text2 { + font-size: 18px; + font-weight:bold; + color:#ffffff; + float:left; + width:470px; + height:33px; + line-height: 33px; + background-color: #339933 +} .service_item { float:left; diff --git a/docs/Report 2/BBC Micro Bit.html b/docs/Report 2/BBC Micro Bit.html index 5cb84d0..6af27d8 100644 --- a/docs/Report 2/BBC Micro Bit.html +++ b/docs/Report 2/BBC Micro Bit.html @@ -12,7 +12,7 @@
The Date
-
Bluetooth Developer Studio Level 2 Report
+
Bluetooth Developer Studio Level 2 Profile Report
@@ -80,7 +80,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -108,21 +108,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Generic Access - CHARACTERISTICS

@@ -145,7 +130,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -163,14 +148,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -218,15 +198,6 @@
Excluded
- -
-
Fields
-
- - -
1. Name utf8s
-
-
Descriptors
@@ -254,7 +225,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -272,14 +243,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -327,15 +293,6 @@
Excluded
- -
-
Fields
-
- - -
1. Category 16bit
-
-
Descriptors
@@ -366,7 +323,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -394,21 +351,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Device Information - CHARACTERISTICS

@@ -449,14 +391,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -504,15 +441,6 @@
Excluded
- -
-
Fields
-
- - -
1. Model Number utf8s
-
-
Descriptors
@@ -558,14 +486,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -613,15 +536,6 @@
Excluded
- -
-
Fields
-
- - -
1. Serial Number utf8s
-
-
Descriptors
@@ -667,14 +581,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -722,15 +631,6 @@
Excluded
- -
-
Fields
-
- - -
1. Hardware Revision utf8s
-
-
Descriptors
@@ -776,14 +676,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -831,15 +726,6 @@
Excluded
- -
-
Fields
-
- - -
1. Firmware Revision utf8s
-
-
Descriptors
@@ -870,7 +756,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -898,21 +784,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Accelerometer Service - CHARACTERISTICS

@@ -925,7 +796,7 @@
UUID
-
CA4B
+
E95DCA4B-251D-470A-A062-FA1922DFA9A8
@@ -935,7 +806,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -953,14 +824,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -985,7 +851,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -1008,23 +874,12 @@
Excluded
- -
-
Fields
-
- - - - -
1. Accelerometer_X uint8
2. Accelerometer_Y uint8
3. Accelerometer_Z uint8
-
-
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -1047,7 +902,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1065,14 +920,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1082,7 +932,7 @@
Write Without Response
-
Mandatory
+
Mandatory
@@ -1120,15 +970,6 @@
Excluded
- -
-
Fields
-
- - -
1. Accelerometer_Period uint8
-
-
Descriptors
@@ -1159,7 +1000,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1187,21 +1028,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Magnetometer Service - CHARACTERISTICS

@@ -1224,7 +1050,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1242,14 +1068,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1274,7 +1095,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -1297,23 +1118,12 @@
Excluded
- -
-
Fields
-
- - - - -
1. Magnetometer_X uint16
2. Magnetometer_Y uint16
3. Magnetometer_Z uint16
-
-
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -1336,7 +1146,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1354,14 +1164,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1371,7 +1176,7 @@
Write Without Response
-
Mandatory
+
Mandatory
@@ -1409,15 +1214,101 @@
Excluded
- +
-
Fields
+
Descriptors
-
1. Magnetometer_Period uint8
+ + + +
+

Magnetometer Bearing

+
+ +
+
UUID
+
E95D9715-251D-470A-A062-FA1922DFA9A8
+
+ +
+
Type
+
+
+ +
+
Requirement
+
Optional
+
+ +
+
Summary
+
+
+ +
+
Abstract
+
+
+ +
+
Examples
+
+
+ +
+
Read
+
Mandatory
+
+ +
+
Write
+
Excluded
+
+ +
+
Write Without Response
+
Excluded
+
+ +
+
Signed Write
+
Excluded
+
+ +
+
Reliable Write
+
Excluded
+
+ +
+
Notify
+
Mandatory
+
+ +
+
Indicate
+
Excluded
+
+ +
+
Broadcast
+
Excluded
+
+ +
+
Writable Auxiliaries
+
Excluded
+
+ +
+
Extended Properties
+
Excluded
+
+
Descriptors
@@ -1431,14 +1322,14 @@
-

Battery Service

+

Temperature Service

UUID
-
180F
+
E95D6100-251D-470A-A062-FA1922DFA9A8
@@ -1448,7 +1339,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1476,34 +1367,19 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-
-

Battery Service - CHARACTERISTICS

+

Temperature Service - CHARACTERISTICS

-

Battery Level

+

Temperature

UUID
-
2A19
+
E95D8A38-251D-470A-A062-FA1922DFA9A8
@@ -1513,7 +1389,7 @@
Requirement
-
Mandatory
+
Optional
@@ -1531,14 +1407,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1563,7 +1434,7 @@
Notify
-
Optional
+
Mandatory
@@ -1586,22 +1457,11 @@
Excluded
- -
-
Fields
-
- - -
1. Level uint8
-
-
Descriptors
- -
1. Characteristic Presentation Format 2904 org.bluetooth.descriptor.gatt.characteristic_presentation_format
2. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
@@ -1627,7 +1487,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1655,21 +1515,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Button Service - CHARACTERISTICS

@@ -1682,7 +1527,7 @@
UUID
-
DA90
+
E95DDA90-251D-470A-A062-FA1922DFA9A8
@@ -1692,7 +1537,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1710,14 +1555,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1742,7 +1582,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -1765,21 +1605,12 @@
Excluded
- -
-
Fields
-
- - -
1. Button_State_Value uint8
-
-
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -1802,7 +1633,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1820,14 +1651,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1852,7 +1678,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -1875,21 +1701,12 @@
Excluded
- -
-
Fields
-
- - -
1. Button_State_Value uint8
-
-
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -1915,7 +1732,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1943,21 +1760,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

LED Service - CHARACTERISTICS

@@ -1980,7 +1782,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1998,19 +1800,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -2053,15 +1850,6 @@
Excluded
- -
-
Fields
-
- - -
1. LED_Matrix_State 32bit
-
-
Descriptors
@@ -2089,7 +1877,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2107,11 +1895,6 @@
-
-
AsText
-
-
-
Read
Excluded
@@ -2119,7 +1902,7 @@
Write
-
Mandatory
+
Mandatory
@@ -2162,15 +1945,6 @@
Excluded
- -
-
Fields
-
- - -
1. LED_Text_Value utf8s
-
-
Descriptors
@@ -2188,7 +1962,7 @@
UUID
-
0D2D
+
E95D0D2D-251D-470A-A062-FA1922DFA9A8
@@ -2198,7 +1972,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2216,19 +1990,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -2271,15 +2040,6 @@
Excluded
- -
-
Fields
-
- - -
1. Scrolling_Speed_Value uint8
-
-
Descriptors
@@ -2310,7 +2070,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2338,21 +2098,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

IO Pin Service - CHARACTERISTICS

@@ -2360,12 +2105,12 @@
-

IO Pin 0

+

Pin Data

UUID
-
8D00
+
E95D8D00-251D-470A-A062-FA1922DFA9A8
@@ -2375,7 +2120,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2393,19 +2138,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -2425,7 +2165,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -2448,21 +2188,12 @@
Excluded
- -
-
Fields
-
- - -
1. IO_Pin_Value uint8
-
-
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -2470,12 +2201,12 @@
-

IO Pin 1

+

Pin AD Configuration

UUID
-
C58C
+
E95D5899-251D-470A-A062-FA1922DFA9A8
@@ -2485,7 +2216,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2503,239 +2234,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
-
- -
-
Write Without Response
-
Excluded
-
- -
-
Signed Write
-
Excluded
-
- -
-
Reliable Write
-
Excluded
-
- -
-
Notify
-
Mandatory
-
- -
-
Indicate
-
Excluded
-
- -
-
Broadcast
-
Excluded
-
- -
-
Writable Auxiliaries
-
Excluded
-
- -
-
Extended Properties
-
Excluded
-
- - -
-
Fields
-
- - -
1. IO_Pin_Value uint8
-
- - -
-
Descriptors
-
- - -
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
-
- - - - -
-

IO Pin 2

-
- -
-
UUID
-
04F4
-
- -
-
Type
-
-
- -
-
Requirement
-
Mandatory
-
- -
-
Summary
-
-
- -
-
Abstract
-
-
- -
-
Examples
-
-
- -
-
AsText
-
-
- -
-
Read
-
Mandatory
-
- -
-
Write
-
Mandatory
-
- -
-
Write Without Response
-
Excluded
-
- -
-
Signed Write
-
Excluded
-
- -
-
Reliable Write
-
Excluded
-
- -
-
Notify
-
Mandatory
-
- -
-
Indicate
-
Excluded
-
- -
-
Broadcast
-
Excluded
-
- -
-
Writable Auxiliaries
-
Excluded
-
- -
-
Extended Properties
-
Excluded
-
- - -
-
Fields
-
- - -
1. IO_Pin_Value uint8
-
- - -
-
Descriptors
-
- - -
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
-
- - - - -
-

IO Pin Configuration

-
- -
-
UUID
-
5899
-
- -
-
Type
-
-
- -
-
Requirement
-
Mandatory
-
- -
-
Summary
-
-
- -
-
Abstract
-
-
- -
-
Examples
-
-
- -
-
AsText
-
-
- -
-
Read
-
Mandatory
-
- -
-
Write
-
Mandatory
+
Mandatory
@@ -2778,15 +2284,6 @@
Excluded
- -
-
Fields
-
- - -
1. IO_Pin_Config_Value 24bit
-
-
Descriptors
@@ -2799,12 +2296,12 @@
-

IO Parallel Port

+

Pin IO Configuration

UUID
-
60CF
+
E95DB9FE-251D-470A-A062-FA1922DFA9A8
@@ -2814,7 +2311,7 @@
Requirement
-
Mandatory
+
Optional
@@ -2832,19 +2329,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -2864,7 +2356,7 @@
Notify
-
Mandatory
+
Excluded
@@ -2887,21 +2379,11 @@
Excluded
- -
-
Fields
-
- - -
1. IO_Parallel_Port_Value 
-
-
Descriptors
-
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
@@ -2927,7 +2409,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2955,21 +2437,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Event Service - CHARACTERISTICS

@@ -2992,7 +2459,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3010,14 +2477,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -3042,7 +2504,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -3065,21 +2527,12 @@
Excluded
- -
-
Fields
-
- - -
1. Notification_Requirements uint8[]
-
-
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -3102,7 +2555,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3120,19 +2573,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -3175,15 +2623,6 @@
Excluded
- -
-
Fields
-
- - -
1. Event_Types_And_Values uint8[]
-
-
Descriptors
@@ -3211,7 +2650,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3229,14 +2668,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -3261,7 +2695,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -3284,21 +2718,12 @@
Excluded
- -
-
Fields
-
- - -
1. Event_Type_And_Value uint8[]
-
-
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -3321,7 +2746,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3339,19 +2764,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -3394,21 +2814,12 @@
Excluded
- -
-
Fields
-
- - -
1. Client_Requirements_Field uint8[]
-
-
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -3417,14 +2828,14 @@
-

DFU SERVICE

+

DFU CONTROL SERVICE

UUID
-
D8AF991C-7144-43D7-954B-99512F95F99C
+
E95D93B0-251D-470A-A062-FA1922DFA9A8
@@ -3434,7 +2845,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3462,23 +2873,8 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-
-

DFU SERVICE - CHARACTERISTICS

+

DFU CONTROL SERVICE - CHARACTERISTICS

@@ -3489,7 +2885,7 @@
UUID
-
97109547E63A-442A-BF89-9D73-0413DC2F
+
E95D93B1-251D-470A-A062-FA1922DFA9A8
@@ -3499,7 +2895,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3517,11 +2913,6 @@
-
-
AsText
-
-
-
Read
Excluded
@@ -3529,7 +2920,7 @@
Write
-
Mandatory
+
Mandatory
@@ -3572,15 +2963,6 @@
Excluded
- -
-
Fields
-
- - -
1. dfu_control uint8
-
-
Descriptors
@@ -3598,7 +2980,7 @@
UUID
-
947B6934-64D1-4FAD-9BD0-CC9D6E9F3EA3
+
E95D93B2-251D-470A-A062-FA1922DFA9A8
@@ -3608,7 +2990,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3626,19 +3008,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -3658,7 +3035,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -3681,15 +3058,155 @@
Excluded
- +
-
Fields
+
Descriptors
- +
1. dfu_flash_code uint8[]
1. Client Characteristic Configuration : 2902
+ + + + +
+

Generic Attribute

+
+ + + +
+
UUID
+
1801
+
+ +
+
Declaration
+
Primary
+
+ +
+
Requirement
+
Mandatory
+
+ +
+
Server Role
+
+
+ +
+
Client Role
+
+
+ +
+
Summary
+
+
+ +
+
Abstract
+
+
+ +
+
Examples
+
+
+ +
+

Generic Attribute - CHARACTERISTICS

+
+ + + +
+

Service Changed

+
+ +
+
UUID
+
2A05
+
+ +
+
Type
+
+
+ +
+
Requirement
+
Optional
+
+ +
+
Summary
+
+
+ +
+
Abstract
+
+
+ +
+
Examples
+
+
+ +
+
Read
+
Mandatory
+
+ +
+
Write
+
Excluded
+
+ +
+
Write Without Response
+
Excluded
+
+ +
+
Signed Write
+
Excluded
+
+ +
+
Reliable Write
+
Excluded
+
+ +
+
Notify
+
Excluded
+
+ +
+
Indicate
+
Mandatory
+
+ +
+
Broadcast
+
Excluded
+
+ +
+
Writable Auxiliaries
+
Excluded
+
+ +
+
Extended Properties
+
Excluded
+
+
Descriptors
diff --git a/docs/Report 2/style.css b/docs/Report 2/style.css index 0ab9d6b..dcb117c 100644 --- a/docs/Report 2/style.css +++ b/docs/Report 2/style.css @@ -42,25 +42,25 @@ p } .date { - width: 240px; + width: 100px; line-height: 79px; height: 79px; - float:left; + float:left; } .heading_title { - width: 800px; + width: 980px; line-height: 79px; height: 79px; - float:left; - text-align:center; + float:left; + text-align:center; } .icon { - width: 240px; + width: 200px; line-height: 79px; - height: 79; - float:left; + height: 79; + float:left; } .section_hdg { @@ -443,3 +443,13 @@ p { text-align: right; } + +.mandatory_property { + width: 935px; + font-size: 12px; + line-height: 33px; + height: 33px; + float:left; + font-weight:bold; + color:#ff0000; +} diff --git a/docs/Report 3/BBC Micro Bit.html b/docs/Report 3/BBC Micro Bit.html index 72fb759..534a269 100644 --- a/docs/Report 3/BBC Micro Bit.html +++ b/docs/Report 3/BBC Micro Bit.html @@ -12,7 +12,7 @@
The Date
-
Bluetooth Developer Studio Level 3 Report
+
Bluetooth Developer Studio Level 3 Profile Report
@@ -80,7 +80,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -108,21 +108,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Generic Access - CHARACTERISTICS

@@ -145,7 +130,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -163,14 +148,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -218,15 +198,16 @@
Excluded
- +
Fields
- +
1. Name utf8s
1. Name : utf8s
+
Descriptors
@@ -254,7 +235,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -272,14 +253,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -327,15 +303,16 @@
Excluded
- +
Fields
- +
1. Category 16bit
1. Category : 16bit
+
Descriptors
@@ -366,7 +343,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -394,21 +371,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Device Information - CHARACTERISTICS

@@ -449,14 +411,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -504,15 +461,16 @@
Excluded
- +
Fields
- +
1. Model Number utf8s
1. Model Number : utf8s
+
Descriptors
@@ -558,14 +516,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -613,15 +566,16 @@
Excluded
- +
Fields
- +
1. Serial Number utf8s
1. Serial Number : utf8s
+
Descriptors
@@ -667,14 +621,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -722,15 +671,16 @@
Excluded
- +
Fields
- +
1. Hardware Revision utf8s
1. Hardware Revision : utf8s
+
Descriptors
@@ -776,14 +726,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -831,15 +776,16 @@
Excluded
- +
Fields
- +
1. Firmware Revision utf8s
1. Firmware Revision : utf8s
+
Descriptors
@@ -870,7 +816,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -898,21 +844,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Accelerometer Service - CHARACTERISTICS

@@ -925,7 +856,7 @@
UUID
-
CA4B
+
E95DCA4B-251D-470A-A062-FA1922DFA9A8
@@ -935,7 +866,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -953,14 +884,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -985,7 +911,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -1008,23 +934,24 @@
Excluded
- +
Fields
- - - + + +
1. Accelerometer_X uint8
2. Accelerometer_Y uint8
3. Accelerometer_Z uint8
1. Accelerometer_X : sint16
2. Accelerometer_Y : sint16
3. Accelerometer_Z : sint16
+
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -1047,7 +974,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1065,14 +992,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1082,7 +1004,7 @@
Write Without Response
-
Mandatory
+
Mandatory
@@ -1120,15 +1042,16 @@
Excluded
- +
Fields
- +
1. Accelerometer_Period uint8
1. Accelerometer_Period : uint16
+
Descriptors
@@ -1159,7 +1082,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1187,21 +1110,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Magnetometer Service - CHARACTERISTICS

@@ -1224,7 +1132,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1242,14 +1150,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1274,7 +1177,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -1297,23 +1200,24 @@
Excluded
- +
Fields
- - - + + +
1. Magnetometer_X uint16
2. Magnetometer_Y uint16
3. Magnetometer_Z uint16
1. Magnetometer_X : sint16
2. Magnetometer_Y : sint16
3. Magnetometer_Z : sint16
+
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -1336,7 +1240,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1354,14 +1258,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1371,7 +1270,7 @@
Write Without Response
-
Mandatory
+
Mandatory
@@ -1409,15 +1308,121 @@
Excluded
- +
Fields
- +
1. Magnetometer_Period uint8
1. Magnetometer_Period : uint16
+ + +
+
Descriptors
+
+ +
+
+ + + + +
+

Magnetometer Bearing

+
+ +
+
UUID
+
E95D9715-251D-470A-A062-FA1922DFA9A8
+
+ +
+
Type
+
+
+ +
+
Requirement
+
Optional
+
+ +
+
Summary
+
+
+ +
+
Abstract
+
+
+ +
+
Examples
+
+
+ +
+
Read
+
Mandatory
+
+ +
+
Write
+
Excluded
+
+ +
+
Write Without Response
+
Excluded
+
+ +
+
Signed Write
+
Excluded
+
+ +
+
Reliable Write
+
Excluded
+
+ +
+
Notify
+
Mandatory
+
+ +
+
Indicate
+
Excluded
+
+ +
+
Broadcast
+
Excluded
+
+ +
+
Writable Auxiliaries
+
Excluded
+
+ +
+
Extended Properties
+
Excluded
+
+ + +
+
Fields
+
+ + +
1. bearing value : uint16
+
+ +
Descriptors
@@ -1431,14 +1436,14 @@
-

Battery Service

+

Temperature Service

UUID
-
180F
+
E95D6100-251D-470A-A062-FA1922DFA9A8
@@ -1448,7 +1453,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1476,34 +1481,19 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-
-

Battery Service - CHARACTERISTICS

+

Temperature Service - CHARACTERISTICS

-

Battery Level

+

Temperature

UUID
-
2A19
+
E95D8A38-251D-470A-A062-FA1922DFA9A8
@@ -1513,7 +1503,7 @@
Requirement
-
Mandatory
+
Optional
@@ -1531,14 +1521,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1563,7 +1548,7 @@
Notify
-
Optional
+
Mandatory
@@ -1586,22 +1571,21 @@
Excluded
- +
Fields
- +
1. Level uint8
1. temperature value : sint8
+
Descriptors
- -
1. Characteristic Presentation Format 2904 org.bluetooth.descriptor.gatt.characteristic_presentation_format
2. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
@@ -1627,7 +1611,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1655,21 +1639,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Button Service - CHARACTERISTICS

@@ -1682,7 +1651,7 @@
UUID
-
DA90
+
E95DDA90-251D-470A-A062-FA1922DFA9A8
@@ -1692,7 +1661,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1710,14 +1679,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1742,7 +1706,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -1765,21 +1729,22 @@
Excluded
- +
Fields
- +
1. Button_State_Value uint8
1. Button_State_Value : uint8
+
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -1802,7 +1767,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1820,14 +1785,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -1852,7 +1812,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -1875,21 +1835,22 @@
Excluded
- +
Fields
- +
1. Button_State_Value uint8
1. Button_State_Value : uint8
+
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -1915,7 +1876,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1943,21 +1904,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

LED Service - CHARACTERISTICS

@@ -1980,7 +1926,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -1998,19 +1944,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -2053,15 +1994,16 @@
Excluded
- +
Fields
- +
1. LED_Matrix_State 32bit
1. LED_Matrix_State : 32bit
+
Descriptors
@@ -2089,7 +2031,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2107,11 +2049,6 @@
-
-
AsText
-
-
-
Read
Excluded
@@ -2119,7 +2056,7 @@
Write
-
Mandatory
+
Mandatory
@@ -2162,15 +2099,16 @@
Excluded
- +
Fields
- +
1. LED_Text_Value utf8s
1. LED_Text_Value : utf8s
+
Descriptors
@@ -2188,7 +2126,7 @@
UUID
-
0D2D
+
E95D0D2D-251D-470A-A062-FA1922DFA9A8
@@ -2198,7 +2136,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2216,19 +2154,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -2271,15 +2204,16 @@
Excluded
- +
Fields
- +
1. Scrolling_Speed_Value uint8
1. Scrolling_Speed_Value : uint16
+
Descriptors
@@ -2310,7 +2244,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2338,21 +2272,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

IO Pin Service - CHARACTERISTICS

@@ -2360,12 +2279,12 @@
-

IO Pin 0

+

Pin Data

UUID
-
8D00
+
E95D8D00-251D-470A-A062-FA1922DFA9A8
@@ -2375,7 +2294,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2393,19 +2312,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -2425,7 +2339,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -2448,21 +2362,22 @@
Excluded
- +
Fields
- +
1. IO_Pin_Value uint8
1. IO_Pin_Data : uint8[]
+
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -2470,12 +2385,12 @@
-

IO Pin 1

+

Pin AD Configuration

UUID
-
C58C
+
E95D5899-251D-470A-A062-FA1922DFA9A8
@@ -2485,7 +2400,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2503,239 +2418,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
-
- -
-
Write Without Response
-
Excluded
-
- -
-
Signed Write
-
Excluded
-
- -
-
Reliable Write
-
Excluded
-
- -
-
Notify
-
Mandatory
-
- -
-
Indicate
-
Excluded
-
- -
-
Broadcast
-
Excluded
-
- -
-
Writable Auxiliaries
-
Excluded
-
- -
-
Extended Properties
-
Excluded
-
- - -
-
Fields
-
- - -
1. IO_Pin_Value uint8
-
- - -
-
Descriptors
-
- - -
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
-
- - - - -
-

IO Pin 2

-
- -
-
UUID
-
04F4
-
- -
-
Type
-
-
- -
-
Requirement
-
Mandatory
-
- -
-
Summary
-
-
- -
-
Abstract
-
-
- -
-
Examples
-
-
- -
-
AsText
-
-
- -
-
Read
-
Mandatory
-
- -
-
Write
-
Mandatory
-
- -
-
Write Without Response
-
Excluded
-
- -
-
Signed Write
-
Excluded
-
- -
-
Reliable Write
-
Excluded
-
- -
-
Notify
-
Mandatory
-
- -
-
Indicate
-
Excluded
-
- -
-
Broadcast
-
Excluded
-
- -
-
Writable Auxiliaries
-
Excluded
-
- -
-
Extended Properties
-
Excluded
-
- - -
-
Fields
-
- - -
1. IO_Pin_Value uint8
-
- - -
-
Descriptors
-
- - -
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
-
- - - - -
-

IO Pin Configuration

-
- -
-
UUID
-
5899
-
- -
-
Type
-
-
- -
-
Requirement
-
Mandatory
-
- -
-
Summary
-
-
- -
-
Abstract
-
-
- -
-
Examples
-
-
- -
-
AsText
-
-
- -
-
Read
-
Mandatory
-
- -
-
Write
-
Mandatory
+
Mandatory
@@ -2778,15 +2468,16 @@
Excluded
- +
Fields
- +
1. IO_Pin_Config_Value 24bit
1. Pin_AD_Config_Value : 24bit
+
Descriptors
@@ -2799,12 +2490,12 @@
-

IO Parallel Port

+

Pin IO Configuration

UUID
-
60CF
+
E95DB9FE-251D-470A-A062-FA1922DFA9A8
@@ -2814,7 +2505,7 @@
Requirement
-
Mandatory
+
Optional
@@ -2832,19 +2523,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -2864,7 +2550,7 @@
Notify
-
Mandatory
+
Excluded
@@ -2887,21 +2573,21 @@
Excluded
- +
Fields
- +
1. IO_Parallel_Port_Value 
1. Pin_IO_Config_Value : uint24
+
Descriptors
-
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
@@ -2927,7 +2613,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -2955,21 +2641,6 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-

Event Service - CHARACTERISTICS

@@ -2992,7 +2663,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3010,14 +2681,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -3042,7 +2708,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -3065,21 +2731,22 @@
Excluded
- +
Fields
- +
1. Notification_Requirements uint8[]
1. Notification_Requirements : uint8[]
+
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -3102,7 +2769,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3120,19 +2787,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -3175,15 +2837,16 @@
Excluded
- +
Fields
- +
1. Event_Types_And_Values uint8[]
1. Event_Types_And_Values : uint8[]
+
Descriptors
@@ -3211,7 +2874,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3229,14 +2892,9 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
@@ -3261,7 +2919,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -3284,21 +2942,22 @@
Excluded
- +
Fields
- +
1. Event_Type_And_Value uint8[]
1. Event_Type_And_Value : uint8[]
+
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -3321,7 +2980,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3339,19 +2998,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -3394,21 +3048,22 @@
Excluded
- +
Fields
- +
1. Client_Requirements_Field uint8[]
1. Client_Requirements_Field : uint8[]
+
Descriptors
- +
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration
1. Client Characteristic Configuration : 2902
@@ -3417,14 +3072,14 @@
-

DFU SERVICE

+

DFU CONTROL SERVICE

UUID
-
D8AF991C-7144-43D7-954B-99512F95F99C
+
E95D93B0-251D-470A-A062-FA1922DFA9A8
@@ -3434,7 +3089,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3462,23 +3117,8 @@
-
-
Classic
-
-
- -
-
Low Energy
-
-
- -
-
High Speed
-
-
-
-

DFU SERVICE - CHARACTERISTICS

+

DFU CONTROL SERVICE - CHARACTERISTICS

@@ -3489,7 +3129,7 @@
UUID
-
97109547E63A-442A-BF89-9D73-0413DC2F
+
E95D93B1-251D-470A-A062-FA1922DFA9A8
@@ -3499,7 +3139,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3517,11 +3157,6 @@
-
-
AsText
-
-
-
Read
Excluded
@@ -3529,7 +3164,7 @@
Write
-
Mandatory
+
Mandatory
@@ -3572,15 +3207,16 @@
Excluded
- +
Fields
- +
1. dfu_control uint8
1. dfu_control : uint8
+
Descriptors
@@ -3598,7 +3234,7 @@
UUID
-
947B6934-64D1-4FAD-9BD0-CC9D6E9F3EA3
+
E95D93B2-251D-470A-A062-FA1922DFA9A8
@@ -3608,7 +3244,7 @@
Requirement
-
Mandatory
+
Mandatory
@@ -3626,19 +3262,14 @@
-
-
AsText
-
-
-
Read
-
Mandatory
+
Mandatory
Write
-
Mandatory
+
Mandatory
@@ -3658,7 +3289,7 @@
Notify
-
Mandatory
+
Mandatory
@@ -3681,15 +3312,176 @@
Excluded
- +
Fields
- +
1. dfu_flash_code uint8[]
1. dfu_flash_code : uint32
+ + +
+
Descriptors
+
+ + +
1. Client Characteristic Configuration : 2902
+
+ + + + + +
+

Generic Attribute

+
+ + + +
+
UUID
+
1801
+
+ +
+
Declaration
+
Primary
+
+ +
+
Requirement
+
Mandatory
+
+ +
+
Server Role
+
+
+ +
+
Client Role
+
+
+ +
+
Summary
+
+
+ +
+
Abstract
+
+
+ +
+
Examples
+
+
+ +
+

Generic Attribute - CHARACTERISTICS

+
+ + + +
+

Service Changed

+
+ +
+
UUID
+
2A05
+
+ +
+
Type
+
+
+ +
+
Requirement
+
Optional
+
+ +
+
Summary
+
+
+ +
+
Abstract
+
+
+ +
+
Examples
+
+
+ +
+
Read
+
Mandatory
+
+ +
+
Write
+
Excluded
+
+ +
+
Write Without Response
+
Excluded
+
+ +
+
Signed Write
+
Excluded
+
+ +
+
Reliable Write
+
Excluded
+
+ +
+
Notify
+
Excluded
+
+ +
+
Indicate
+
Mandatory
+
+ +
+
Broadcast
+
Excluded
+
+ +
+
Writable Auxiliaries
+
Excluded
+
+ +
+
Extended Properties
+
Excluded
+
+ + +
+
Fields
+
+ + + +
1. Start of Affected Attribute Handle Range : uint16
2. End of Affected Attribute Handle Range : uint16
+
+ +
Descriptors
diff --git a/docs/Report 3/style.css b/docs/Report 3/style.css index 0ab9d6b..c962b80 100644 --- a/docs/Report 3/style.css +++ b/docs/Report 3/style.css @@ -42,25 +42,25 @@ p } .date { - width: 240px; + width: 100px; line-height: 79px; height: 79px; - float:left; + float:left; } .heading_title { - width: 800px; + width: 980px; line-height: 79px; height: 79px; - float:left; - text-align:center; + float:left; + text-align:center; } .icon { - width: 240px; + width: 200px; line-height: 79px; - height: 79; - float:left; + height: 79; + float:left; } .section_hdg { @@ -443,3 +443,13 @@ p { text-align: right; } + +.mandatory_property { + width: 935px; + font-size: 12px; + line-height: 33px; + height: 33px; + float:left; + font-weight:bold; + color:#ff0000; +} diff --git a/docs/microbit pairing and over the air firmware updates.txt b/docs/microbit pairing and over the air firmware updates.txt new file mode 100644 index 0000000..3254ec3 --- /dev/null +++ b/docs/microbit pairing and over the air firmware updates.txt @@ -0,0 +1,116 @@ +micro:bit pairing and over the air firmware updates +--------------------------------------------------- + +Version: 1.0 +Date : 17th September 2015 +Authors: Joe Finney (j.finney@lancaster.ac.uk) and Martin Woolley (mwoolley@bluetooth.com) + +Terminology +----------- +FOTA: Firmware Over The Air (Nordic's name) +DFU: Device Firmware Update (the process of using FOTA to reprogram a nordic chip) + +A Tale of Two DFU GATT Services +------------------------------- + +The micro:bit possesses two BLE GATT services that are concerned with FOTA. Only one, however should be "visible" to a GATT client at any one time. + +The first is the standard Nordic DFU service which has not been modified. See https://devzone.nordicsemi.com/documentation/nrf51/4.4.1/html/group__dfu__ble__service__spec.html for further details. + +The Nordic DFU service is *not* visible to clients most of the time and this is by design. + +The second service is the MicroBit DFU Service. This service *is* active/visible in general. + +Whilst the Nordic DFU service may not be visible to GATT clients most of the time, it is always resident in the top 20K or so of FLASH program memory. + +Flashing the micro:bit OTA involves rebooting the micro:bit in a special way which results in the Nordic boot loader being entered and this brings up the Nordic DFU service instead of the MicroBit DFU service. + +The MicroBit DFU Control Service +-------------------------------- +This service has two characteristics: + + ControlPoint (unsigned 32 bits) + FlashCode (unsigned 32 bits) + +The FlashCode characteristic is a primitive used for authentication. Every micro:bit has a unique code (derived from its unique serial ID). + +Rebooting into the Nordic Bootloader +------------------------------------ + +As described, to flash the device OTA we must first instruct the micro:bit to reboot into the Nordic boot loader to bring up the Nordic DFU service which will then process firmware OTA updates from the client. + +To reboot the micro:bit into the Nordic bootloader, two things need to happen: + + 1) The FlashCode characteristic has to be written with the correct secret key + 2) The ControlPoint characteristic has to be written with a value of 0x01 + +At this point the micro:bit should automatically reboot and bring up the Nordic DFU service. + +Note that the user doesn't have to press the reboot button. Reboot takes place automatically. + +Obtaining and Using the flash code +---------------------------------- +To be able to initiate the reboot into the Nordic boot loader therefore, the client must be in possession of the flash code. This gives us two scenarios to consider and essentially gives us a two stage process of which stage 1 is optional. + +Either (1) the client does not possess the flash code and therefore must somehow obtain it or (2) it already has it from some previous interaction with the micro:bit and has cached it. + +Stage 1 - Client Does Not Possess flash code +------------------------------------------ +MicroBit has a special mode of operation or state known currently as "Blue Zone". The device enters this state when rebooted by pressing the reset button whilst at the same time holding down both buttons A and B. The device indicates itself to be in the Blue Zone mode by scrolling "BLUEZONE" across the display. + +Once in the Blue Zone state, the MicroBit DFU Service also enables another command via the ControlPoint characteristic known as 'REQUEST_FLASHCODE' which is represented by a value of 0x02. + +To obtain the flash code the client should enable GATT notifications on the FlashCode characteristic and then write 0x02 to the Control characteristic. The micro:bit will respond by displaying "PAIR?" on the LED display. + +The user must now press Button A on the micro:bit. This is an "authorization to proceed" step and results in the client receiving the flash code value as a GATT notification which it can then store for use in the second stage and any subsequent execution of stage 2 without the need to execute the stage 1 procedure. + +Stage 2 - Client in Possession of flash code +------------------------------------------- +If a device already knows the flashcode, it can connect any time and initiate rebooting into "Nordic DFU mode" by writing the FlashCode characteristic with the previously cached value and then writing the 'ENTER NORDIC BOOTLOADER' command (0x01) to the Control characteristic. The device will reboot into the stock nordic bootloader and then the attached device can interact with that to reflash the device. The device does NOT need to be in Blue Zone mode. + +Issues for Client Application Developers +---------------------------------------- +It should be noted that rebooting into "Nordic DFU Mode" will break any existing BLE connection between the client device and micro:bit. The client will therefore need to re-establish its connection to the MicroBit before being able to proceed with FOTA and discover and then make use of the Nordic DFU service. + +More About flash code +--------------------- +Each micro:bit has a secret key (flash code) derived from a 128 bit serial number that's etched onto every nordic nrf51822 during manufacture. All chips are different. Half of the serial number is hashed to generate the flash code. + +micro:bit human identifiers +--------------------------- +In addition to a secret key (flash code) used in the FOTA process as described, micro:bits have a human readable identifier (public name) which is included in BLE advertising packets and can be discovered and used by human users during any process, including FOTA, where there needs to be a confirmation that the device which is to be interacted with is the one the human intends to interact with. In the context of this document, "interact with" means update using the FOTA procedure. + +The public name is generated by the run time from the other half of the Nordic serial number. Humans can discover the public name of a device by switching into BLUEZONE mode. The public name is displayed in a coded but simple graphical form on the LED display and can then be entered into (say) a mobile application screen to verify the device to be updated is the one we mean to update. + +Summary of the FOTA Process +--------------------------- + +Case 1 - Client does not know the flash code +-------------------------------------------- +a) User switches micro:bit into BLUEZONE mode - must do this first since it involves a reboot and will therefore disconnect the client +b) Client connects to micro:bit +c) Client discovers MicroBit DFU service +d) Client enables notifications on the MicroBit DFU Service::FlashCode characteristic +e) Client writes 0x02 to the MicroBit DFU Service::Control characteristic +f) micro:bit displays "PAIR?" on the LED display +g) User presses Button A +h) Client should receive FlashCode notification containing the flash code value + +We then proceed by following the steps for Case 2 + +Case 2 - Client is in Possession of flash code +---------------------------------------------- +i) Client writes the cached flash code value to the MicroBit DFU Service::FlashCode characteristic + Note: this is optional if following directly on from Case 1 as the FlashCode characterisitic would have been written locally by the micro:bit runtime +j) Client writes 0x01 to the MicroBit DFU Service::Control characteristic. This should cause the micro:bit to reboot into the Nordic boot loader. The Nordic DFU GATT service should become active and visible to GATT clients that subsequently connect and the MicroBit DFU Service should disappear. +k) Client reconnects to micro:bit and proceeds with FOTA per the Nordic documentation on using their DFU service. + + +UUIDs +----- +MicroBit DFU Service : E95D93B0-251D-470A-A062-FA1922DFA9A8 + Control Characteristic : E95D93B1-251D-470A-A062-FA1922DFA9A8 + FlashCode Characteristic: E95D93B2-251D-470A-A062-FA1922DFA9A8 + +Nordic DFU Service : 00001530-1212-EFDE-1523-785FEABCD123 +