Merge branch 'ble-profile' of https://github.com/lancaster-university/microbit-dal into ble-profile

master
Joe Finney 2015-09-15 15:20:03 +01:00
commit 2654265622
15 changed files with 9032 additions and 25 deletions

View File

@ -1,26 +1,3 @@
# micro:bit BLE profile : Tracking changes from planned specification
This document briefly outlines changes to the planned BLE specification made during implementation.
These are typically made with purpose, so the rationale is also provided where possible.
## LEDService:
* Lose the System LED State characteristic since it cannot be controlled from the BLE MCU.
* Lose the Scrolling State characteristic due to complexity and memory constraints.
## IO Pin Service:
* Simplify the IO Pin Service, possible to expose the edge connector pins only.
* Possibly drop it to save memory and use the event service to transport pin values in either direction. Needs further thought.
## Generic Access Service:
* Device Name and Appearance are mandatory and so need values
* Peripheral Privacy Flag is optional and I dont think we need it.
* Ditto Reconnection Address.
* Ditto Peripheral Preferred Connection Parameters.
## Generic Attribute Service:
* profile design doc/report doesnt show it and its mandatory (issue with Bluetooth Developer Studio).
## Device Information Service:
* All characteristics are optional. Which ones do we really want/need? Save a little memory.....
# micro:bit BLE profile : Changes
See ble _ issue _ tracker.md for Bluetooth Low Energy profile related issues

57
ble_issue_tracker.md Normal file
View File

@ -0,0 +1,57 @@
# micro:bit BLE - Issue Tracker
----------
Profile Design
--------------
### OPEN:
D3. Simplify the IO Pin Service, possible to expose the edge connector pins only. Possibly drop it to save memory and use the event service to transport pin values in either direction. Needs further thought.
* Update: Removed all pin characteristics except for pin 0, pin 1 and pin 2.
D5. Generic Attribute Service: profile design doc/report doesnt show it and its mandatory (issue with Bluetooth Developer Studio).
D9. DFU services uses a different base UUID to the other custom services. Is this deliberate?
D10. Characteristics in the DFU service use a different base UUID to the parent service. Is this deliberate?
D11. What are the data types for DFU Control and DFU Flash Code? Assumed uint8 and array of uint8.
### CLOSED:
D1. Lose the System LED State characteristic since it cannot be controlled from the BLE MCU.DONE.
D2. Lose the Scrolling State characteristic complexity and memory constraints. DONE.
D4. Generic Access Service: Peripheral Privacy Flag is optional and I dont think we need it. Ditto Reconnection Address, ditto Peripheral Preferred Connection Parameters --> Removed optional characteristics Peripheral Privacy Flag, Reconnection Address and Peripheral Preferred Connection Parameters from Generic Access Service.
D6. Device Information Service: All characteristics are optional. Which ones do we really want/need? Save a little memory --> Removed PnP ID, IEEE 11073-20601 Regulatory Certification Data List, System ID and Software Revision String characteristics.
D7. Why does LED Matrix State support “Write Without Response”? I think this should be plain “Write” so that no further writes are made until theres been an ACK back from the previous one. Changed.
D8. MicroBit Requirements supports Write. This is (ironically and puntastically) wrong. Client should not be able to modify the requirements the MicroBit has. Changed.
D12. Microbit DFU service not in the profile design. Added. Needs descriptions and data types confirming.
Profile Testing
---------------
### OPEN:
T1. Client Event characteristic should have the WRITE property and currently does not.
T2. MicroBit Event characteristic should have the READ property and currently does not.
T3. MicroBit Event characteristic should have the NOTIFY property and currently does not.
T4. MicroBit Requirements characteristic is missing from the Event Service
T5. Client Requirements characteristic is missing from the Event Service
T6. Device Name in advertising packets includes the flash code so anyone could pair to it. Should be removed.
T7. Generic Access Service: Device Name and Appearance are mandatory and so need values
### CLOSED:

Binary file not shown.

View File

@ -0,0 +1,208 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head><title>Bluetooth Developer Studio - Profile Report</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css" />
<script language="javascript" type="text/javascript" src="functions.js"></script>
</head>
<body onLoad="init()">
<div id="id_container" class="container">
<div class="main_heading">
<div id="id_date" class="date">The Date</div>
<div class="heading_title">Bluetooth Developer Studio Level 1 Report</div>
<div class="icon"><img src="BluetoothSIG.png"/></div>
</div>
<!-- Profile Block -->
<div class="section_hdg">
<div class="profile_hdg_text"><p>PROFILE</p></div>
</div>
<div class="profile_item">
<div class="profile_label">Profile Name</div>
<div class="profile_value">BBC MICRO BIT</div>
</div>
<div class="profile_item">
<div class="profile_label">Abstract</div>
<div class="profile_value"></div>
</div>
<div class="profile_item">
<div class="profile_label">Summary</div>
<div class="profile_value"></div>
</div>
<div class="profile_item">
<div class="profile_label">Base UUID</div>
<div class="profile_value">e95d5be9-251d-470a-a062-fa1922dfa9a8</div>
</div>
<div class="profile_item">
<div class="profile_label">Server Role</div>
<div class="profile_value"></div>
</div>
<div class="profile_item">
<div class="profile_label">Client Role</div>
<div class="profile_value"></div>
</div>
<!-- End of Profile Block -->
<!-- Services Section -->
<div class="services_section_hdg">
<div class="services_hdg_text"><p>SERVICES</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>Generic Access</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>2A00 : Device Name</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>2A01 : Appearance</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>Device Information</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>2A24 : Model Number String</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>2A25 : Serial Number String</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>2A27 : Hardware Revision String</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>2A26 : Firmware Revision String</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>Accelerometer Service</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>CA4B : Accelerometer Data</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>FB24 : Accelerometer Period</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>Magnetometer Service</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>FB11 : Magnetometer Data</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>386C : Magnetometer Period</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>Battery Service</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>2A19 : Battery Level</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>Button Service</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>DA90 : Button 1 State</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>E95DDA91-251D-470A-A062-FA1922DFA9A8 : Button 2 State</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>LED Service</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>E95D7B77-251D-470A-A062-FA1922DFA9A8- : LED Matrix State</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>93EE : LED Text</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>0D2D : Scrolling Speed</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>IO Pin Service</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>8D00 : IO Pin 0</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>C58C : IO Pin 1</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>04F4 : IO Pin 2</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>5899 : IO Pin Configuration</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>60CF : IO Parallel Port</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>Event Service</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>E95DB84C-251D-470A-A062-FA1922DFA9A8 : MicroBit Requirements</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>E95D9775-251D-470A-A062-FA1922DFA9A8- : Client Event</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>E95D5404-251D-470A-A062-FA1922DFA9A8- : MicroBit Event</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>E95D23C4-251D-470A-A062-FA1922DFA9A8- : Client Requirements</p></div>
</div>
<!-- Service Block -->
<div class="service_hdg">
<div class="service_hdg_text"><p>DFU SERVICE</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>97109547E63A-442A-BF89-9D73-0413DC2F : DFU Control</p></div>
</div>
<div class="characteristic_hdg">
<div class="characteristic_summary"><p>947B6934-64D1-4FAD-9BD0-CC9D6E9F3EA3 : DFU Flash Code</p></div>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -0,0 +1,5 @@
function init() {
var d = new Date();
var n = d.toLocaleDateString();
document.getElementById("id_date").innerHTML = n;
}

446
docs/Report 1/style.css Normal file
View File

@ -0,0 +1,446 @@
html,body {
height: 100%;
}
* {
padding: 0;
margin: 0;
}
body {
background-color: #ffffff;
padding: 0px;
margin: 0px;
font-family: "lucida sans", verdana, arial, helvetica, sans-serif;
font-size: 75%;
}
p
{
padding-left:5px;
}
.centred_text {
text-align:center
}
/* 8 pixels included for border width 1 between panels */
.container {
background-color: #FFFFFF;
width: 1280px;
margin: 0 auto;
}
.main_heading {
width: 1280px;
line-height: 79px;
height: 79px;
float:left;
font-size: 18px;
font-weight:bold;
color:#000000;
}
.date {
width: 240px;
line-height: 79px;
height: 79px;
float:left;
}
.heading_title {
width: 800px;
line-height: 79px;
height: 79px;
float:left;
text-align:center;
}
.icon {
width: 240px;
line-height: 79px;
height: 79;
float:left;
}
.section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
/* setting line-height to equal the height property causes the text to be centred vertically */
.profile_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1280px;
height:33px;
line-height: 33px;
background-color: #4F81BD
}
.profile_item {
float:left;
width:1265px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
padding-left: 15px;
background-color: #66CCFF
}
.profile_label {
width: 300px;
font-size: 14px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
}
.profile_value {
font-size: 14px;
line-height: 33px;
height: 33px;
float:left;
}
.services_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
padding-top: 15px
}
.services_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1280px;
height:33px;
line-height: 33px;
background-color: #21610B;
}
.service_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.service_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1270px;
padding-left: 10px;
height:33px;
line-height: 33px;
background-color: #339933
}
.service_item {
float:left;
width:1265px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
padding-left: 15px;
background-color: #00FFBF;
}
.service_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
}
.service_value {
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.characteristics_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.characteristics_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
height:33px;
line-height: 33px;
background-color: #FF6633;
width:1265px;
padding-left: 15px;
}
.characteristic_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.characteristic_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1250px;
padding-left: 30px;
height:33px;
line-height: 33px;
background-color: #FFCC33
}
.characteristic_item {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #F5F6CE
}
.characteristic_summary {
float:left;
width:1250px;
height:33px;
line-height: 33px;
padding-left: 30px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #F5F6CE
}
.characteristic_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
padding-left: 45px;
}
.characteristic_value {
width: 935px;
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.characteristic_field {
float:left;
width:1280px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #F5F6CE;
padding-top: 10px;
}
.characteristic_field_label {
width: 300px;
font-size: 12px;
font-weight:bold;
min-height: 33px;
float:left;
padding-left: 45px;
}
.characteristic_field_value {
width: 935px;
font-size: 12px;
float:left;
}
.descriptors_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.descriptors_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
height:33px;
line-height: 33px;
background-color: #6600CC;
width:1235px;
padding-left: 45px;
}
.descriptor_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.descriptor_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1230px;
padding-left: 50px;
height:33px;
line-height: 33px;
background-color: #BE81F7;
}
.descriptor_item {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #D8CEF6
}
.descriptor_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
padding-left: 60px;
}
.descriptor_value {
width: 920px;
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.char_fields_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.char_fields_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
height:33px;
line-height: 33px;
background-color: #A4A4A4;
width:1235px;
padding-left: 45px;
}
.char_field_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.char_field_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1230px;
padding-left: 50px;
height:33px;
line-height: 33px;
background-color: #BE81F7;
}
.char_field_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1225px;
padding-left: 55px;
height:33px;
line-height: 33px;
background-color: #E6E6E6;
}
.char_field_item {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #FAFAFA
}
.char_field_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
padding-left: 60px;
}
.char_field_value {
width: 920px;
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.align_right
{
text-align: right;
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -0,0 +1,5 @@
function init() {
var d = new Date();
var n = d.toLocaleDateString();
document.getElementById("id_date").innerHTML = n;
}

445
docs/Report 2/style.css Normal file
View File

@ -0,0 +1,445 @@
html,body {
height: 100%;
}
* {
padding: 0;
margin: 0;
}
body {
background-color: #ffffff;
padding: 0px;
margin: 0px;
font-family: "lucida sans", verdana, arial, helvetica, sans-serif;
font-size: 75%;
}
p
{
padding-left:5px;
}
.centred_text {
text-align:center
}
/* 8 pixels included for border width 1 between panels */
.container {
background-color: #FFFFFF;
width: 1280px;
margin: 0 auto;
}
.main_heading {
width: 1280px;
line-height: 79px;
height: 79px;
float:left;
font-size: 18px;
font-weight:bold;
color:#000000;
}
.date {
width: 240px;
line-height: 79px;
height: 79px;
float:left;
}
.heading_title {
width: 800px;
line-height: 79px;
height: 79px;
float:left;
text-align:center;
}
.icon {
width: 240px;
line-height: 79px;
height: 79;
float:left;
}
.section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
/* setting line-height to equal the height property causes the text to be centred vertically */
.profile_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1280px;
height:33px;
line-height: 33px;
background-color: #4F81BD
}
.profile_item {
float:left;
width:1265px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
padding-left: 15px;
background-color: #66CCFF
}
.profile_label {
width: 300px;
font-size: 14px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
}
.profile_value {
font-size: 14px;
line-height: 33px;
height: 33px;
float:left;
}
.services_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
padding-top: 15px
}
.services_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1280px;
height:33px;
line-height: 33px;
background-color: #21610B;
}
.service_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.service_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1270px;
padding-left: 10px;
height:33px;
line-height: 33px;
background-color: #339933
}
.service_item {
float:left;
width:1265px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
padding-left: 15px;
background-color: #00FFBF;
}
.service_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
}
.service_value {
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.characteristics_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.characteristics_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
height:33px;
line-height: 33px;
background-color: #FF6633;
width:1265px;
padding-left: 15px;
}
.characteristic_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.characteristic_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1250px;
padding-left: 30px;
height:33px;
line-height: 33px;
background-color: #FFCC33
}
.characteristic_item {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #F5F6CE
}
.characteristic_summary {
float:left;
width:1250px;
height:33px;
line-height: 33px;
padding-left: 30px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #F5F6CE
}
.characteristic_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
padding-left: 45px;
}
.characteristic_value {
width: 935px;
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.characteristic_field {
float:left;
width:1280px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #F5F6CE;
padding-top: 10px;
}
.characteristic_field_label {
width: 300px;
font-size: 12px;
font-weight:bold;
min-height: 33px;
float:left;
padding-left: 45px;
}
.characteristic_field_value {
width: 935px;
font-size: 12px;
float:left;
}
.descriptors_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.descriptors_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
height:33px;
line-height: 33px;
background-color: #6600CC;
width:1235px;
padding-left: 45px;
}
.descriptor_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.descriptor_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1230px;
padding-left: 50px;
height:33px;
line-height: 33px;
background-color: #BE81F7;
}
.descriptor_item {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #D8CEF6
}
.descriptor_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
padding-left: 60px;
}
.descriptor_value {
width: 920px;
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.char_fields_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.char_fields_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
height:33px;
line-height: 33px;
background-color: #A4A4A4;
width:1235px;
padding-left: 45px;
}
.char_field_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.char_field_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1230px;
padding-left: 50px;
height:33px;
line-height: 33px;
background-color: #BE81F7;
}
.char_field_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1225px;
padding-left: 55px;
height:33px;
line-height: 33px;
background-color: #E6E6E6;
}
.char_field_item {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #FAFAFA
}
.char_field_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
padding-left: 60px;
}
.char_field_value {
width: 920px;
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.align_right
{
text-align: right;
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -0,0 +1,5 @@
function init() {
var d = new Date();
var n = d.toLocaleDateString();
document.getElementById("id_date").innerHTML = n;
}

445
docs/Report 3/style.css Normal file
View File

@ -0,0 +1,445 @@
html,body {
height: 100%;
}
* {
padding: 0;
margin: 0;
}
body {
background-color: #ffffff;
padding: 0px;
margin: 0px;
font-family: "lucida sans", verdana, arial, helvetica, sans-serif;
font-size: 75%;
}
p
{
padding-left:5px;
}
.centred_text {
text-align:center
}
/* 8 pixels included for border width 1 between panels */
.container {
background-color: #FFFFFF;
width: 1280px;
margin: 0 auto;
}
.main_heading {
width: 1280px;
line-height: 79px;
height: 79px;
float:left;
font-size: 18px;
font-weight:bold;
color:#000000;
}
.date {
width: 240px;
line-height: 79px;
height: 79px;
float:left;
}
.heading_title {
width: 800px;
line-height: 79px;
height: 79px;
float:left;
text-align:center;
}
.icon {
width: 240px;
line-height: 79px;
height: 79;
float:left;
}
.section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
/* setting line-height to equal the height property causes the text to be centred vertically */
.profile_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1280px;
height:33px;
line-height: 33px;
background-color: #4F81BD
}
.profile_item {
float:left;
width:1265px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
padding-left: 15px;
background-color: #66CCFF
}
.profile_label {
width: 300px;
font-size: 14px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
}
.profile_value {
font-size: 14px;
line-height: 33px;
height: 33px;
float:left;
}
.services_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
padding-top: 15px
}
.services_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1280px;
height:33px;
line-height: 33px;
background-color: #21610B;
}
.service_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.service_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1270px;
padding-left: 10px;
height:33px;
line-height: 33px;
background-color: #339933
}
.service_item {
float:left;
width:1265px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
padding-left: 15px;
background-color: #00FFBF;
}
.service_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
}
.service_value {
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.characteristics_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.characteristics_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
height:33px;
line-height: 33px;
background-color: #FF6633;
width:1265px;
padding-left: 15px;
}
.characteristic_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.characteristic_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1250px;
padding-left: 30px;
height:33px;
line-height: 33px;
background-color: #FFCC33
}
.characteristic_item {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #F5F6CE
}
.characteristic_summary {
float:left;
width:1250px;
height:33px;
line-height: 33px;
padding-left: 30px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #F5F6CE
}
.characteristic_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
padding-left: 45px;
}
.characteristic_value {
width: 935px;
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.characteristic_field {
float:left;
width:1280px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #F5F6CE;
padding-top: 10px;
}
.characteristic_field_label {
width: 300px;
font-size: 12px;
font-weight:bold;
min-height: 33px;
float:left;
padding-left: 45px;
}
.characteristic_field_value {
width: 935px;
font-size: 12px;
float:left;
}
.descriptors_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.descriptors_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
height:33px;
line-height: 33px;
background-color: #6600CC;
width:1235px;
padding-left: 45px;
}
.descriptor_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.descriptor_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
width:1230px;
padding-left: 50px;
height:33px;
line-height: 33px;
background-color: #BE81F7;
}
.descriptor_item {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
background-color: #D8CEF6
}
.descriptor_label {
width: 300px;
font-size: 12px;
font-weight:bold;
line-height: 33px;
height: 33px;
float:left;
padding-left: 60px;
}
.descriptor_value {
width: 920px;
font-size: 12px;
line-height: 33px;
height: 33px;
float:left;
}
.char_fields_section_hdg {
float:left;
width:1280px;
height:33px;
border-width: 1px;
border-style: solid;
border-color: #FFFFFF;
}
.char_fields_hdg_text {
font-size: 18px;
font-weight:bold;
color:#ffffff;
float:left;
height:33px;
line-height: 33px;
background-color: #A4A4A4;
width:1235px;
padding-left: 45px;
}
<