import { Component } from '@angular/core';
@Component({
- selector: 'ble-root',
- template: `
+ selector: 'ble-root',
+ template: `
<ble-dashboard></ble-dashboard>
- `
+ `,
+ standalone: false
})
export class AppComponent {}
diff --git a/docs/components/BatteryLevelComponent.html b/docs/components/BatteryLevelComponent.html
index de91930..bd89084 100644
--- a/docs/components/BatteryLevelComponent.html
+++ b/docs/components/BatteryLevelComponent.html
@@ -332,7 +332,7 @@ import { Component } from '@angular/core';
@Component({
- selector: 'ble-dashboard',
- templateUrl: './dashboard.component.html',
- styleUrls: ['./dashboard.component.css'],
+ selector: 'ble-dashboard',
+ templateUrl: './dashboard.component.html',
+ styleUrls: ['./dashboard.component.css'],
+ standalone: false
})
export class DashboardComponent {
diff --git a/docs/components/HumidityComponent.html b/docs/components/HumidityComponent.html
index ba89fcf..834a838 100644
--- a/docs/components/HumidityComponent.html
+++ b/docs/components/HumidityComponent.html
@@ -297,7 +297,7 @@ Constructor
- Defined in src/app/thingy52/humidity.component.ts:48
+ Defined in src/app/thingy52/humidity.component.ts:49
@@ -376,8 +376,8 @@
- Defined in src/app/thingy52/humidity.component.ts:101
+ Defined in src/app/thingy52/humidity.component.ts:102
@@ -413,8 +413,8 @@
- Defined in src/app/thingy52/humidity.component.ts:108
+ Defined in src/app/thingy52/humidity.component.ts:109
@@ -480,8 +480,8 @@
- Defined in src/app/thingy52/humidity.component.ts:71
+ Defined in src/app/thingy52/humidity.component.ts:72
@@ -517,8 +517,8 @@
- Defined in src/app/thingy52/humidity.component.ts:112
+ Defined in src/app/thingy52/humidity.component.ts:113
@@ -554,8 +554,8 @@
- Defined in src/app/thingy52/humidity.component.ts:61
+ Defined in src/app/thingy52/humidity.component.ts:62
@@ -591,8 +591,8 @@
- Defined in src/app/thingy52/humidity.component.ts:81
+ Defined in src/app/thingy52/humidity.component.ts:82
@@ -628,8 +628,8 @@
- Defined in src/app/thingy52/humidity.component.ts:90
+ Defined in src/app/thingy52/humidity.component.ts:91
@@ -705,7 +705,7 @@
- Defined in src/app/thingy52/humidity.component.ts:39
+ Defined in src/app/thingy52/humidity.component.ts:40
@@ -746,7 +746,7 @@
- Defined in src/app/thingy52/humidity.component.ts:44
+ Defined in src/app/thingy52/humidity.component.ts:45
@@ -777,7 +777,7 @@
- Defined in src/app/thingy52/humidity.component.ts:38
+ Defined in src/app/thingy52/humidity.component.ts:39
@@ -804,7 +804,7 @@
- Defined in src/app/thingy52/humidity.component.ts:51
+ Defined in src/app/thingy52/humidity.component.ts:52
@@ -831,7 +831,7 @@
- Defined in src/app/thingy52/humidity.component.ts:52
+ Defined in src/app/thingy52/humidity.component.ts:53
@@ -862,7 +862,7 @@
- Defined in src/app/thingy52/humidity.component.ts:41
+ Defined in src/app/thingy52/humidity.component.ts:42
@@ -893,7 +893,7 @@
- Defined in src/app/thingy52/humidity.component.ts:40
+ Defined in src/app/thingy52/humidity.component.ts:41
@@ -922,7 +922,7 @@
- Defined in src/app/thingy52/humidity.component.ts:46
+ Defined in src/app/thingy52/humidity.component.ts:47
@@ -956,18 +956,19 @@
}];
@Component({
- selector: 'ble-humidity',
- template: `
+ selector: 'ble-humidity',
+ template: `
<canvas #chart width="549" height="200"></canvas>
`,
- styles: [`
+ styles: [`
:host {
display: block;
}
canvas {
margin-left: -16px;
}`],
- providers: PROVIDERS
+ providers: PROVIDERS,
+ standalone: false
})
export class HumidityComponent implements OnInit, OnDestroy {
series: TimeSeries | null = null;
diff --git a/docs/components/StepCounterComponent.html b/docs/components/StepCounterComponent.html
index cb19b88..56f9582 100644
--- a/docs/components/StepCounterComponent.html
+++ b/docs/components/StepCounterComponent.html
@@ -299,7 +299,7 @@ Constructor
- Defined in src/app/thingy52/stepcounter.component.ts:55
+ Defined in src/app/thingy52/stepcounter.component.ts:56
@@ -378,8 +378,8 @@
- Defined in src/app/thingy52/stepcounter.component.ts:90
+ Defined in src/app/thingy52/stepcounter.component.ts:91
@@ -415,8 +415,8 @@
- Defined in src/app/thingy52/stepcounter.component.ts:95
+ Defined in src/app/thingy52/stepcounter.component.ts:96
@@ -482,8 +482,8 @@
- Defined in src/app/thingy52/stepcounter.component.ts:99
+
@@ -519,8 +519,8 @@
- Defined in src/app/thingy52/stepcounter.component.ts:72
+ Defined in src/app/thingy52/stepcounter.component.ts:73
@@ -556,8 +556,8 @@
- Defined in src/app/thingy52/stepcounter.component.ts:80
+ Defined in src/app/thingy52/stepcounter.component.ts:81
@@ -593,8 +593,8 @@
- Defined in src/app/thingy52/stepcounter.component.ts:85
+ Defined in src/app/thingy52/stepcounter.component.ts:86
@@ -666,7 +666,7 @@
- Defined in src/app/thingy52/stepcounter.component.ts:58
+ Defined in src/app/thingy52/stepcounter.component.ts:59
@@ -693,7 +693,7 @@
- Defined in src/app/thingy52/stepcounter.component.ts:59
+ Defined in src/app/thingy52/stepcounter.component.ts:60
@@ -724,7 +724,7 @@
- Defined in src/app/thingy52/stepcounter.component.ts:50
+ Defined in src/app/thingy52/stepcounter.component.ts:51
@@ -755,7 +755,7 @@
- Defined in src/app/thingy52/stepcounter.component.ts:51
+ Defined in src/app/thingy52/stepcounter.component.ts:52
@@ -786,7 +786,7 @@
- Defined in src/app/thingy52/stepcounter.component.ts:49
+ Defined in src/app/thingy52/stepcounter.component.ts:50
@@ -815,7 +815,7 @@
- Defined in src/app/thingy52/stepcounter.component.ts:53
+ Defined in src/app/thingy52/stepcounter.component.ts:54
@@ -848,12 +848,12 @@
}];
@Component({
- selector: 'ble-stepcounter',
- template: `
+ selector: 'ble-stepcounter',
+ template: `
<span>{{ value || "000" }}</span>
<mat-icon>directions_walk</mat-icon>
`,
- styles: [`
+ styles: [`
:host {
display: block;
}
@@ -871,7 +871,8 @@
width: 100%;
height: 100%;
}`],
- providers: PROVIDERS
+ providers: PROVIDERS,
+ standalone: false
})
export class StepCounterComponent implements OnInit, OnDestroy {
valuesSubscription: Subscription | null = null;
diff --git a/docs/components/TemperatureComponent.html b/docs/components/TemperatureComponent.html
index 7a73137..17674c3 100644
--- a/docs/components/TemperatureComponent.html
+++ b/docs/components/TemperatureComponent.html
@@ -297,7 +297,7 @@ Constructor
- Defined in src/app/thingy52/temperature.component.ts:62
+ Defined in src/app/thingy52/temperature.component.ts:63
@@ -376,8 +376,8 @@
-
+
@@ -413,8 +413,8 @@
-
+
@@ -480,8 +480,8 @@
- Defined in src/app/thingy52/temperature.component.ts:85
+ Defined in src/app/thingy52/temperature.component.ts:86
@@ -517,8 +517,8 @@
-
+
@@ -554,8 +554,8 @@
- Defined in src/app/thingy52/temperature.component.ts:76
+ Defined in src/app/thingy52/temperature.component.ts:77
@@ -591,8 +591,8 @@
-
+
@@ -628,8 +628,8 @@
-
+
@@ -705,7 +705,7 @@
- Defined in src/app/thingy52/temperature.component.ts:53
+ Defined in src/app/thingy52/temperature.component.ts:54
@@ -746,7 +746,7 @@
- Defined in src/app/thingy52/temperature.component.ts:58
+ Defined in src/app/thingy52/temperature.component.ts:59
@@ -777,7 +777,7 @@
- Defined in src/app/thingy52/temperature.component.ts:52
+ Defined in src/app/thingy52/temperature.component.ts:53
@@ -804,7 +804,7 @@
- Defined in src/app/thingy52/temperature.component.ts:64
+ Defined in src/app/thingy52/temperature.component.ts:65
@@ -831,7 +831,7 @@
- Defined in src/app/thingy52/temperature.component.ts:64
+ Defined in src/app/thingy52/temperature.component.ts:65
@@ -862,7 +862,7 @@
- Defined in src/app/thingy52/temperature.component.ts:55
+ Defined in src/app/thingy52/temperature.component.ts:56
@@ -893,7 +893,7 @@
- Defined in src/app/thingy52/temperature.component.ts:54
+ Defined in src/app/thingy52/temperature.component.ts:55
@@ -922,7 +922,7 @@
- Defined in src/app/thingy52/temperature.component.ts:60
+ Defined in src/app/thingy52/temperature.component.ts:61
@@ -969,10 +969,10 @@
];
@Component({
- selector: 'ble-temperature',
- template: ` <canvas #chart width="549" height="180"></canvas> `,
- styles: [
- `
+ selector: 'ble-temperature',
+ template: ` <canvas #chart width="549" height="180"></canvas> `,
+ styles: [
+ `
:host {
display: block;
}
@@ -980,8 +980,9 @@
margin-left: -16px;
}
`,
- ],
- providers: PROVIDERS,
+ ],
+ providers: PROVIDERS,
+ standalone: false
})
export class TemperatureComponent implements OnInit, OnDestroy {
series: TimeSeries | null = null;
diff --git a/docs/dependencies.html b/docs/dependencies.html
index 742dc99..80d6abf 100644
--- a/docs/dependencies.html
+++ b/docs/dependencies.html
@@ -102,25 +102,25 @@
-
- @angular/animations : ^17.1.3
+ @angular/animations : ^20.0.5
-
- @angular/cdk : ^17.1.2
+ @angular/cdk : ^20.0.4
-
- @angular/common : ^17.1.3
+ @angular/common : ^20.0.5
-
- @angular/compiler : ^17.1.3
+ @angular/compiler : ^20.0.5
-
- @angular/core : ^17.1.3
+ @angular/core : ^20.0.5
-
- @angular/forms : ^17.1.3
+ @angular/forms : ^20.0.5
-
- @angular/material : ^17.1.2
+ @angular/material : ^20.0.4
-
- @angular/platform-browser : ^17.1.3
+ @angular/platform-browser : ^20.0.5
-
- @angular/platform-browser-dynamic : ^17.1.3
+ @angular/platform-browser-dynamic : ^20.0.5
-
- @angular/router : ^17.1.3
+ @angular/router : ^20.0.5
-
@types/web-bluetooth : 0.0.6
-
@@ -132,7 +132,7 @@
-
tslib : ^2.3.0
-
- zone.js : ~0.14.3
+ zone.js : ~0.15.1
diff --git a/docs/js/search/search_index.js b/docs/js/search/search_index.js
index 191690a..035bdff 100644
--- a/docs/js/search/search_index.js
+++ b/docs/js/search/search_index.js
@@ -1,4 +1,4 @@
var COMPODOC_SEARCH_INDEX = {
- "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AWBOptions.html",[0,1.352,1,1.806]],["body/interfaces/AWBOptions.html",[0,1.57,1,3.161,2,2.646,3,0.502,4,0.502,5,0.444,6,0.841,7,0.336,8,2.341,9,0.444,10,1.3,11,1.091,12,3.528,13,2.704,14,0.562,15,0.035,16,1.082,17,3.34,18,3.937,19,3.054,20,0.694,21,3.937,22,2.646,23,1.693,24,3.054,25,1.876,26,3.054,27,1.572,28,2.219,29,3.054,30,0.692,31,3.775,32,1.312,33,2.162,34,2.646,35,2.704,36,3.054,37,3.34,38,3.054,39,2.341,40,0.145,41,2.219,42,1.895,43,3.054,44,1.313,45,2.239,46,2.219,47,3.054,48,2.341,49,1.721,50,0.025,51,0.025]],["title/components/AppComponent.html",[52,0.868,53,1.131]],["body/components/AppComponent.html",[3,0.567,4,0.567,5,0.501,15,0.034,16,0.784,20,0.784,30,0.501,40,0.164,50,0.027,51,0.027,52,1.522,53,2.069,54,2.397,55,2.141,56,2.141,57,3.45,58,2.141,59,3.195,60,2.419,61,2.397,62,2.638,63,1.773,64,2.638,65,2.397,66,2.141,67,2.985,68,2.141,69,0.966,70,2.141,71,1.484,72,1.773,73,2.141,74,1.484,75,2.141,76,1.484,77,2.141,78,1.484,79,2.141,80,1.484,81,1.945,82,2.141,83,2.141]],["title/modules/AppModule.html",[84,1.806,85,1.806]],["body/modules/AppModule.html",[3,0.422,4,0.422,5,0.374,7,0.283,12,1.97,15,0.035,16,1.192,17,2.692,20,0.584,30,0.374,39,2.692,40,0.122,41,2.536,44,1.105,50,0.023,51,0.023,53,2.173,63,1.321,71,1.997,74,1.997,76,1.997,78,1.997,80,1.997,84,1.765,85,3.586,86,1.765,87,1.97,88,3.999,89,3.999,90,2.57,91,2.57,92,2.57,93,2.57,94,2.57,95,3.511,96,2.57,97,1.97,98,3.092,99,4.224,100,3.092,101,4.224,102,3.092,103,4.224,104,3.511,105,3.092,106,4.224,107,3.092,108,4.224,109,3.092,110,4.224,111,3.092,112,3.092,113,4.224,114,3.092,115,4.224,116,3.092,117,4.224,118,3.092,119,4.224,120,2.57,121,2.57,122,4.224,123,1.765,124,1.765,125,4.224,126,3.092,127,1.449,128,1.207,129,3.092,130,3.092,131,3.092,132,3.092,133,3.092,134,3.092,135,3.092,136,4.224,137,1.595,138,2.57,139,1.105]],["title/classes/AppPage.html",[40,0.125,140,2.279]],["body/classes/AppPage.html",[3,0.602,4,0.602,5,0.532,9,0.532,15,0.034,16,0.832,30,0.532,32,1.214,40,0.174,50,0.028,51,0.028,61,2.065,65,2.065,137,2.273,140,3.821,141,2.273,142,3.664,143,1.105,144,5.907,145,5.907,146,1.002,147,4.407,148,1.105,149,5.104,150,4.407,151,4.407,152,4.407,153,4.407,154,3.174,155,4.407]],["title/components/BatteryLevelComponent.html",[52,0.868,71,1.131]],["body/components/BatteryLevelComponent.html",[3,0.22,4,0.22,5,0.194,7,0.147,9,0.194,10,0.711,11,0.677,14,0.833,15,0.035,16,0.825,20,0.303,23,1.333,25,1.065,27,1.379,30,0.393,32,0.368,33,1.011,40,0.064,44,1.462,45,1.107,46,1.214,49,1.214,50,0.014,51,0.014,52,0.893,53,0.575,54,1.214,55,0.829,56,0.829,58,0.829,59,2.467,60,1.868,62,1.336,63,0.687,64,1.336,65,1.214,66,0.829,67,1.924,68,0.829,69,0.772,70,0.829,71,1.333,72,1.594,73,0.829,74,0.575,75,0.829,76,0.575,77,0.829,78,0.575,79,0.829,80,0.575,81,0.753,82,0.829,83,0.829,120,1.336,121,3.101,123,0.918,124,0.918,127,0.753,128,0.628,143,0.539,146,1.071,148,0.957,154,2.343,156,1.857,157,4.117,158,1.158,159,1.214,160,2.073,161,2.073,162,2.073,163,2.073,164,2.786,165,4.372,166,3.253,167,3.556,168,3.253,169,3.253,170,3.148,171,3.148,172,2.704,173,3.634,174,3.634,175,2.704,176,3.148,177,3.148,178,3.148,179,3.253,180,2.343,181,2.704,182,2.073,183,3.253,184,3.253,185,3.148,186,3.253,187,3.253,188,1.857,189,2.704,190,2.343,191,2.704,192,3.253,193,1.727,194,2.704,195,3.253,196,3.253,197,1.928,198,3.4,199,3.253,200,3.253,201,1.431,202,2.606,203,2.073,204,2.073,205,1.333,206,3.73,207,1.651,208,2.377,209,2.377,210,2.377,211,2.073,212,1.651,213,1.597,214,0.848,215,1.024,216,2.043,217,2.606,218,1.608,219,0.745,220,1.608,221,1.505,222,1.608,223,1.651,224,1.262,225,1.608,226,1.524,227,1.608,228,1.608,229,1.608,230,1.024,231,2.894,232,1.214,233,1.608,234,1.563,235,1.678,236,1.608,237,1.608,238,2.93,239,2.256,240,1.608,241,3.253,242,3.73,243,1.608,244,1.608,245,1.608,246,1.608,247,2.377,248,1.608,249,1.608,250,0.829,251,1.608,252,0.918,253,1.024,254,1.39,255,1.336,256,1.479,257,1.479,258,0.918,259,0.918,260,0.918,261,0.918,262,1.024,263,0.918,264,1.024,265,1.024,266,1.024,267,1.024,268,0.575,269,1.024,270,1.336,271,0.753,272,1.336,273,1.608,274,1.024,275,1.336,276,1.524,277,1.608,278,1.608,279,1.608,280,1.608,281,2.59,282,1.024,283,3.253,284,1.608,285,1.924,286,0.829,287,1.608,288,1.158,289,1.024,290,1.336,291,0.918,292,1.024,293,1.024,294,1.024,295,1.024,296,1.158,297,1.608,298,1.024,299,1.024,300,1.608,301,1.024,302,1.024,303,1.024,304,1.608,305,1.608,306,1.608]],["title/injectables/BleService.html",[216,1.352,307,0.868]],["body/injectables/BleService.html",[3,0.459,4,0.459,5,0.406,7,0.307,9,0.406,10,1.226,11,0.93,14,0.852,15,0.035,16,0.948,20,0.635,23,1.991,30,0.406,32,1.149,35,2.551,40,0.133,50,0.024,51,0.024,60,2.089,61,1.575,69,0.948,127,1.575,128,1.312,143,0.93,146,1.12,148,1.16,193,1.717,197,1.745,201,1.463,214,1.1,216,1.909,219,1.023,221,1.463,224,1.226,231,1.919,234,1.201,250,2.759,268,1.201,271,2.094,291,1.919,307,1.226,308,1.734,309,2.421,310,2.589,311,5.019,312,3.714,313,4.447,314,4.447,315,3.361,316,4.468,317,4.468,318,4.124,319,3.361,320,3.361,321,3.361,322,3.361,323,3.361,324,3.361,325,2.794,326,3.361,327,2.794,328,3.361,329,1.919,330,2.794,331,2.794,332,2.794,333,1.575,334,3.361,335,2.794,336,2.794,337,3.361,338,3.361,339,4.468,340,2.421,341,3.361,342,3.361,343,2.794,344,2.794]],["title/injectables/BrowserWebBluetooth.html",[25,1.036,307,0.868]],["body/injectables/BrowserWebBluetooth.html",[3,0.559,4,0.559,5,0.495,6,1.318,7,0.527,9,0.495,10,1.392,11,0.853,14,0.627,15,0.034,16,0.773,20,0.773,25,1.661,30,0.495,32,0.937,33,1.599,35,2.338,40,0.162,50,0.027,51,0.027,60,2.152,69,0.773,128,1.599,137,2.113,143,1.056,146,1.041,148,0.853,149,4.217,214,1.805,219,0.937,307,1.392,308,2.113,310,2.843,340,3.654,345,3.405,346,5.073,347,5.073,348,5.073,349,5.511,350,4.095,351,4.095,352,4.095,353,4.095,354,3.405,355,4.095,356,4.095,357,4.095,358,3.405,359,4.095,360,4.095]],["title/injectables/ConsoleLoggerService.html",[27,0.949,307,0.868]],["body/injectables/ConsoleLoggerService.html",[0,1.621,3,0.518,4,0.518,5,0.458,6,1.282,7,0.512,9,0.458,11,1.108,14,0.815,15,0.035,16,0.716,20,0.716,27,1.45,28,1.778,30,0.643,40,0.191,50,0.026,51,0.026,61,2.265,69,1.005,143,1.007,146,1.005,148,1.108,159,2.265,219,1.218,221,1.937,224,1.461,226,2.265,282,3.081,307,1.461,308,1.957,329,2.761,361,2.418,362,3.482,363,3.833,364,3.794,365,4.262,366,3.833,367,3.794,368,3.833,369,3.794,370,3.038,371,2.732,372,2.732,373,2.732,374,2.732,375,2.732,376,2.732]],["title/components/DashboardComponent.html",[52,0.868,74,1.131]],["body/components/DashboardComponent.html",[3,0.406,4,0.406,5,0.359,7,0.376,9,0.359,15,0.035,16,0.561,20,0.561,30,0.359,40,0.118,50,0.022,51,0.022,52,1.294,53,1.063,54,1.927,55,1.534,56,1.534,58,1.534,59,2.975,60,2.315,62,1.534,63,1.27,64,2.121,65,1.927,66,1.534,67,2.623,68,1.534,69,0.776,70,1.534,71,1.063,72,2.014,73,1.534,74,1.818,75,1.534,76,1.063,77,1.534,78,1.063,79,1.534,80,1.063,81,2.208,82,1.534,83,1.534,146,0.561,154,2.141,156,1.698,162,3.24,167,2.141,170,2.141,171,2.141,176,3.394,177,2.961,178,3.394,180,2.961,185,2.961,188,1.698,189,2.472,190,2.141,191,2.472,205,2.062,214,1.543,235,1.534,247,3.518,358,2.472,377,2.472,378,5.085,379,4.111,380,4.713,381,4.111,382,4.111,383,2.973,384,3.418,385,4.111,386,5.768,387,5.768,388,3.293,389,5.768,390,5.768,391,2.961,392,4.111,393,2.973,394,2.973,395,2.973,396,2.472,397,2.973,398,3.662,399,2.973,400,2.973,401,2.973,402,2.973,403,1.895,404,2.141,405,2.973,406,2.973,407,4.111,408,5.085,409,3.418,410,2.973,411,4.713,412,2.973,413,2.973]],["title/classes/FakeBluetoothDevice.html",[40,0.125,414,1.632]],["body/classes/FakeBluetoothDevice.html",[3,0.351,4,0.351,5,0.311,6,1.296,7,0.518,9,0.311,10,1.309,11,0.773,13,1.327,14,0.851,15,0.035,30,0.576,32,1.091,40,0.189,50,0.02,51,0.02,69,1.025,139,0.92,141,1.327,143,0.773,146,1.049,148,0.907,193,1.43,197,2.12,201,0.842,205,1.807,213,1.45,214,0.842,219,0.85,221,1.426,224,1.654,232,1.206,234,1.327,235,1.327,239,2.037,254,1.586,268,1.704,276,2.041,285,2.247,286,1.327,310,2.608,333,2.041,388,1.469,414,1.915,415,1.469,416,2.487,417,3.038,418,3.038,419,3.086,420,2.887,421,2.573,422,2.573,423,2.12,424,2.573,425,3.712,426,2.775,427,2.573,428,2.775,429,3.357,430,3.357,431,2.573,432,2.573,433,2.573,434,3.038,435,2.366,436,2.366,437,2.366,438,1.64,439,2.366,440,1.915,441,1.64,442,1.64,443,2.366,444,1.327,445,1.586,446,1.64,447,1.64,448,2.366,449,1.64,450,1.64,451,1.64,452,1.64,453,1.64,454,1.327,455,1.469,456,1.64,457,1.64,458,1.64,459,1.64,460,1.327,461,2.366,462,2.366,463,1.469,464,3.038,465,2.366,466,1.64,467,1.64,468,2.366,469,1.64,470,1.64,471,1.64,472,1.64]],["title/classes/FakeBluetoothRemoteGATTCharacteristic.html",[40,0.125,460,1.632]],["body/classes/FakeBluetoothRemoteGATTCharacteristic.html",[3,0.344,4,0.344,5,0.304,6,1.309,7,0.523,9,0.304,10,1.481,11,0.896,13,1.298,14,0.862,15,0.035,30,0.57,32,1.08,40,0.187,50,0.02,51,0.02,69,0.891,139,0.9,141,1.298,143,0.761,146,1.063,148,0.983,193,1.568,197,1.68,201,0.824,205,1.306,213,1.427,214,0.824,219,0.984,221,1.408,224,1.546,232,1.179,234,0.9,235,1.298,239,1.561,254,1.561,268,2.045,276,2.016,285,2.219,286,1.298,310,2.782,333,2.016,388,1.437,414,1.298,415,1.437,416,1.437,417,1.604,418,3.008,419,3.038,420,2.862,423,1.437,426,2.328,428,2.741,429,3.331,430,3.331,434,3.008,435,2.328,436,2.328,437,2.328,438,1.604,439,2.328,440,1.885,441,1.604,442,1.604,443,2.328,444,1.298,445,1.561,446,1.604,447,1.604,448,2.328,449,1.604,450,1.604,451,1.604,452,1.604,453,1.604,454,1.298,455,1.437,456,1.604,457,1.604,458,1.604,459,1.604,460,1.885,461,3.008,462,3.194,463,2.456,464,3.521,465,2.741,466,2.328,467,1.604,468,2.328,469,3.008,470,1.604,471,2.328,472,1.604,473,3.654,474,2.517,475,2.517,476,2.517,477,2.517,478,2.517,479,2.517,480,2.517,481,2.517,482,2.517,483,2.517]],["title/classes/FakeBluetoothRemoteGATTServer.html",[40,0.125,444,1.632]],["body/classes/FakeBluetoothRemoteGATTServer.html",[3,0.367,4,0.367,5,0.324,6,1.287,7,0.514,9,0.324,10,1.335,11,0.797,13,1.385,14,0.842,15,0.035,30,0.587,32,1.113,40,0.192,50,0.021,51,0.021,69,0.842,139,0.96,141,1.385,143,0.797,146,1.038,148,0.929,193,1.338,197,2.147,201,1.253,205,1.837,213,2.007,214,0.879,219,0.876,221,0.879,224,1.509,232,2.09,234,0.96,235,1.385,239,1.635,254,1.635,268,1.738,276,2.09,285,2.301,286,2.301,310,2.301,333,2.09,388,2.776,414,1.385,415,1.533,416,1.533,417,1.711,418,2.439,420,2.185,423,1.533,426,2.439,428,2.439,429,3.098,430,3.098,434,3.098,435,2.439,436,2.439,437,2.439,438,1.711,439,2.439,440,1.974,441,1.711,442,1.711,443,2.439,444,1.974,445,1.905,446,3.275,447,1.711,448,2.439,449,1.711,450,2.439,451,2.842,452,1.711,453,1.711,454,1.385,455,1.533,456,1.711,457,1.711,458,1.711,459,1.711,460,1.385,461,2.439,462,2.439,463,1.533,464,3.098,465,2.439,466,1.711,467,1.711,468,2.439,469,1.711,470,1.711,471,1.711,472,1.711,484,3.827,485,2.232,486,3.827,487,3.827,488,2.685,489,2.685,490,2.685]],["title/classes/FakeBluetoothRemoteGATTService.html",[40,0.125,454,1.632]],["body/classes/FakeBluetoothRemoteGATTService.html",[3,0.386,4,0.386,5,0.342,6,1.2,7,0.479,9,0.342,10,1.366,11,0.827,13,1.459,14,0.762,15,0.035,30,0.601,32,1.139,40,0.197,50,0.021,51,0.021,69,0.866,139,1.011,141,1.459,143,0.827,146,0.939,148,0.589,193,1.191,197,2.18,201,0.926,205,1.419,213,2.047,214,0.926,219,0.909,224,1.532,235,1.459,239,1.696,254,1.696,268,1.779,271,1.325,276,2.15,285,2.367,286,1.459,310,2.367,333,2.15,388,1.615,414,1.459,415,1.615,416,1.615,417,1.802,418,2.53,420,2.267,423,1.615,426,2.53,428,2.53,429,3.171,430,3.171,434,3.171,435,2.53,436,2.53,437,2.53,438,1.802,439,2.53,440,2.048,441,1.802,442,1.802,443,2.53,444,1.459,445,1.696,446,1.802,447,1.802,448,2.53,449,1.802,450,1.802,451,1.802,452,1.802,453,1.802,454,2.048,455,2.993,456,1.802,457,2.53,458,2.924,459,1.802,460,1.459,461,2.53,462,2.53,463,1.615,464,3.171,465,2.53,466,1.802,467,1.802,468,2.53,469,1.802,470,1.802,471,1.802,472,1.802,485,2.351,491,3.971,492,2.828,493,3.971,494,2.828]],["title/components/HumidityComponent.html",[52,0.868,76,1.131]],["body/components/HumidityComponent.html",[3,0.26,4,0.26,5,0.23,7,0.174,9,0.23,10,0.813,11,0.757,14,0.844,15,0.035,16,0.888,20,0.36,23,1.466,25,1.19,27,1.09,30,0.439,32,0.436,33,1.602,40,0.075,42,1.528,44,1.588,45,1.266,46,1.388,49,1.388,50,0.016,51,0.016,52,0.998,53,0.681,54,1.388,55,0.982,56,0.982,58,0.982,59,2.619,60,1.983,62,1.528,63,0.814,64,1.528,65,1.388,66,0.982,67,2.116,68,0.982,69,0.839,70,0.982,71,0.681,72,0.814,73,0.982,74,0.681,75,0.982,76,1.466,77,0.982,78,0.681,79,0.982,80,0.681,81,0.892,82,0.982,83,0.982,123,1.088,124,1.088,127,0.892,128,0.744,139,1.3,143,0.617,146,1.088,148,1.022,156,2.076,159,1.388,160,2.317,161,2.317,163,2.317,164,2.317,182,2.317,188,2.076,193,1.599,197,1.837,201,1.54,202,2.831,203,2.317,204,2.317,205,1.466,207,1.888,208,2.614,209,2.614,210,2.614,211,1.888,212,1.888,213,1.42,214,0.97,215,1.214,216,2.169,217,2.831,219,0.832,221,1.608,223,1.888,224,1.22,226,1.388,230,1.888,231,2.804,232,1.388,234,1.588,238,2.831,239,2.544,250,0.982,252,1.088,253,1.214,254,1.752,255,1.528,256,1.691,257,1.691,258,1.088,259,1.088,260,1.088,261,1.088,262,1.214,263,1.088,264,1.214,265,1.214,266,1.214,267,1.214,268,0.681,269,1.214,271,0.892,274,1.214,276,1.388,289,1.214,291,1.691,292,1.214,293,1.214,294,1.214,295,1.214,296,1.372,298,1.214,299,1.214,301,1.888,302,1.214,303,1.214,330,1.583,331,2.463,391,2.618,396,1.583,398,2.618,403,1.214,404,1.372,445,0.814,495,1.372,496,3.41,497,3.022,498,3.022,499,3.022,500,3.022,501,3.41,502,1.905,503,1.905,504,1.905,505,1.905,506,1.905,507,1.905,508,1.905,509,1.905,510,3.022,511,1.905,512,3.022,513,1.583,514,2.463,515,1.905,516,3.41,517,1.905,518,1.905,519,1.905,520,1.905,521,1.905,522,1.905,523,1.583,524,1.372,525,1.583,526,2.134,527,2.134,528,2.134,529,2.134,530,1.905,531,1.583,532,1.583,533,2.463,534,1.583,535,1.583,536,1.583,537,1.905,538,1.583,539,1.583,540,1.583,541,1.372,542,3.022,543,1.583,544,2.463,545,1.583,546,1.583,547,1.583,548,1.583,549,1.583,550,1.583,551,1.583,552,1.583,553,1.583,554,1.583,555,1.583,556,1.583,557,2.463,558,1.583,559,1.905,560,1.372,561,1.583,562,1.583,563,1.583,564,1.372]],["title/interfaces/Logger.html",[0,1.352,370,1.806]],["body/interfaces/Logger.html",[0,1.601,2,2.699,3,0.512,4,0.512,5,0.453,6,1.277,7,0.51,9,0.453,11,1.102,14,0.81,15,0.035,16,0.708,20,0.708,27,1.124,28,1.756,30,0.639,40,0.19,50,0.026,51,0.026,61,2.248,69,0.999,143,0.999,146,0.999,148,1.102,159,2.248,219,1.211,221,1.931,224,1.683,226,2.248,282,3.057,307,1.452,329,2.739,361,2.388,362,3.455,363,3.455,365,4.248,366,3.455,368,3.455,370,3.185,371,3.455,372,3.455,373,3.455,374,2.699,375,2.699,376,2.699,565,3.748,566,3.748,567,3.748]],["title/injectables/NoLoggerService.html",[28,1.482,307,0.868]],["body/injectables/NoLoggerService.html",[0,1.621,3,0.518,4,0.518,5,0.458,6,1.282,7,0.512,9,0.458,11,1.108,14,0.815,15,0.035,16,0.716,20,0.716,27,1.138,28,2.265,30,0.643,40,0.191,50,0.026,51,0.026,61,2.265,69,1.005,143,1.007,146,1.005,148,1.108,159,2.265,219,1.218,221,1.937,224,1.461,226,2.265,282,3.081,307,1.461,308,1.957,329,2.761,361,2.418,362,3.482,363,3.833,365,4.262,366,3.833,368,3.833,370,3.038,371,2.732,372,2.732,373,2.732,374,2.732,375,2.732,376,2.732,568,3.794,569,3.794,570,3.794]],["title/injectables/ServerWebBluetooth.html",[307,0.868,571,2.279]],["body/injectables/ServerWebBluetooth.html",[3,0.615,4,0.615,5,0.544,6,1.23,7,0.492,9,0.544,15,0.034,16,0.85,20,0.85,30,0.544,32,1.031,40,0.178,42,2.963,50,0.029,51,0.029,143,1.119,146,0.85,148,0.938,263,3.397,307,1.475,308,2.323,571,3.871,572,3.744,573,4.503,574,4.503,575,3.744,576,4.503]],["title/components/StepCounterComponent.html",[52,0.868,78,1.131]],["body/components/StepCounterComponent.html",[3,0.274,4,0.274,5,0.243,7,0.184,9,0.243,10,0.848,11,0.783,14,0.791,15,0.035,16,0.86,20,0.379,23,1.509,25,1.231,27,1.128,30,0.454,32,0.707,33,1.206,40,0.08,44,1.628,45,1.319,46,1.447,49,1.447,50,0.017,51,0.017,52,1.032,53,0.718,54,1.447,55,1.037,56,1.037,58,1.037,59,2.665,60,2.018,62,1.593,63,0.859,64,1.593,65,1.447,66,1.037,67,2.177,68,1.037,69,0.86,70,1.037,71,0.718,72,0.859,73,1.037,74,0.718,75,1.037,76,0.718,77,1.037,78,1.509,79,1.037,80,0.718,81,0.942,82,1.037,83,1.037,123,1.148,124,1.148,127,0.942,128,0.785,139,1.104,143,0.643,146,1.068,148,1.001,156,2.147,159,1.447,160,2.396,161,2.396,163,2.396,164,3.064,167,2.709,170,2.709,171,2.709,172,3.126,173,3.997,174,3.997,175,3.126,176,2.709,177,2.709,178,2.709,180,3.463,181,3.126,182,3.064,185,2.709,188,2.147,190,2.709,193,1.696,194,3.126,197,1.878,201,1.574,202,2.902,203,2.396,204,2.396,205,1.509,207,1.968,208,2.689,209,2.689,210,2.689,211,1.968,212,1.968,213,1.469,214,1.011,215,1.281,216,2.208,217,2.902,219,0.861,221,1.574,223,1.968,224,1.032,226,1.762,230,1.968,231,2.6,234,1.344,238,2.902,239,2.264,247,1.968,250,1.037,252,1.148,253,1.281,254,1.946,255,1.593,256,1.763,257,1.763,258,1.148,259,1.148,260,1.148,261,1.148,262,1.281,263,1.148,264,1.281,265,1.281,266,1.281,267,1.281,268,0.718,271,0.942,274,1.281,285,1.037,288,1.448,289,1.281,291,1.148,292,1.281,293,1.281,294,1.281,295,1.281,298,1.281,299,1.281,301,1.968,302,1.281,303,1.281,526,2.224,527,2.224,528,2.224,529,2.224,532,1.671,533,2.567,541,1.448,558,1.671,560,1.448,564,1.448,577,1.448,578,3.088,579,3.761,580,3.761,581,3.761,582,3.997,583,3.761,584,3.761,585,2.01,586,2.01,587,2.01,588,2.01,589,2.01,590,2.01,591,2.01,592,2.01,593,2.01,594,2.01,595,2.01,596,2.01,597,2.01,598,3.088,599,2.01,600,2.01,601,2.01,602,2.01,603,2.01,604,2.01]],["title/components/TemperatureComponent.html",[52,0.868,80,1.131]],["body/components/TemperatureComponent.html",[3,0.257,4,0.257,5,0.228,7,0.172,9,0.228,10,0.807,11,0.752,14,0.842,15,0.035,16,0.884,20,0.356,23,1.458,25,1.183,27,1.083,30,0.436,32,0.673,33,1.593,40,0.075,42,1.516,44,1.581,45,1.256,46,1.377,49,1.377,50,0.016,51,0.016,52,0.991,53,0.674,54,1.377,55,0.972,56,0.972,58,0.972,59,2.61,60,1.976,62,1.516,63,0.805,64,1.516,65,1.377,66,0.972,67,2.104,68,0.972,69,0.835,70,0.972,71,0.674,72,0.805,73,0.972,74,0.674,75,0.972,76,0.674,77,0.972,78,0.674,79,0.972,80,1.458,81,1.911,82,0.972,83,0.972,123,1.076,124,1.076,127,0.883,128,0.736,139,1.291,143,0.612,146,1.086,148,1.019,156,2.062,159,1.377,160,2.302,161,2.302,163,2.302,164,2.302,182,2.302,188,2.062,193,1.594,197,1.727,201,1.534,202,2.818,203,2.302,204,2.302,205,1.458,207,1.873,208,2.599,209,2.599,210,2.599,211,1.873,212,1.873,213,1.41,214,0.617,215,1.201,216,2.162,217,2.818,219,0.827,221,1.602,223,1.873,224,1.214,226,1.692,230,1.873,231,2.793,232,1.377,234,1.581,238,2.818,239,2.54,250,0.972,252,1.076,253,1.201,254,2.001,255,1.516,256,1.678,257,1.678,258,1.076,259,1.076,260,1.076,261,1.076,262,1.201,263,1.076,264,1.201,265,1.201,266,1.201,267,1.201,268,0.674,269,1.201,271,0.883,274,1.201,275,1.567,276,1.377,288,1.358,289,1.201,290,1.567,291,1.076,292,1.201,293,1.201,294,1.201,295,1.201,296,1.358,298,1.201,299,1.201,301,1.873,302,1.201,303,1.201,333,0.883,398,2.601,403,1.201,404,1.358,445,0.805,496,3.391,497,3.003,498,3.003,499,3.003,500,3.003,501,3.391,510,3.003,512,3.003,513,1.567,514,2.443,516,3.391,523,1.567,524,1.358,525,1.567,526,2.117,527,2.117,528,2.117,529,2.117,531,1.567,534,1.567,535,1.567,536,1.567,538,1.567,539,1.567,540,1.567,541,1.358,542,3.003,543,1.567,544,2.443,545,1.567,546,1.567,547,1.567,548,1.567,549,1.567,550,1.567,551,1.567,552,1.567,553,1.567,554,1.567,555,1.567,556,1.567,557,2.443,560,1.358,561,1.567,562,1.567,563,1.567,564,1.358,582,1.567,605,1.358,606,1.885,607,1.885,608,1.885,609,1.885,610,1.885,611,1.885,612,1.885,613,1.885,614,1.885,615,1.885,616,1.885,617,2.939,618,1.885,619,1.885,620,1.885,621,1.885,622,2.939,623,2.939,624,1.885]],["title/modules/WebBluetoothModule.html",[41,1.482,84,1.806]],["body/modules/WebBluetoothModule.html",[0,1.539,1,3.252,3,0.492,4,0.492,5,0.435,6,1.07,7,0.428,8,2.296,11,0.974,12,2.296,13,1.858,14,0.551,15,0.035,16,1.075,17,3.309,18,4.317,19,2.995,20,0.68,21,3.888,22,2.595,23,1.672,24,2.995,25,1.865,26,2.995,27,1.557,28,2.191,29,2.995,30,0.688,31,3.74,32,1.303,33,2.146,34,2.595,35,2.965,36,2.995,37,3.309,38,2.995,39,2.296,40,0.143,41,2.433,42,2.412,43,3.888,44,1.288,45,2.218,46,2.191,47,2.995,48,2.296,49,1.688,50,0.025,51,0.025,69,0.68,86,2.057,143,0.75,146,0.68,148,0.75,193,1.08,219,0.824,234,1.288,625,3.602,626,3.602]],["title/coverage.html",[627,3.567]],["body/coverage.html",[0,1.691,1,1.607,5,0.34,6,1.411,7,0.564,8,3.165,14,0.701,15,0.035,23,1.006,25,1.296,27,0.844,28,1.319,31,3.297,33,1.099,37,1.794,40,0.207,44,1.775,48,1.794,50,0.021,51,0.021,52,1.49,53,1.006,57,2.34,71,1.006,74,1.006,76,1.006,78,1.006,80,1.006,140,2.028,142,2.34,157,3.577,158,3.577,216,2.236,247,4.102,255,2.562,307,1.49,309,2.851,318,2.028,332,5.103,345,2.34,361,2.917,370,1.607,377,2.34,414,1.452,415,2.835,444,1.452,454,1.452,460,1.452,495,3.577,571,2.028,572,2.34,577,3.577,605,3.577,627,2.34,628,2.028,629,2.815,630,2.815,631,2.815,632,4.577,633,6.273,634,3.29,635,2.815,636,2.815,637,3.958,638,2.34,639,3.29,640,3.29,641,2.34,642,2.34,643,4.966,644,3.958,645,2.815,646,2.815,647,2.815,648,2.815,649,3.958,650,2.815,651,2.34,652,3.29,653,2.34,654,2.815,655,2.815]],["title/dependencies.html",[87,2.42,656,1.913]],["body/dependencies.html",[15,0.035,20,0.83,22,3.166,50,0.028,51,0.028,87,2.802,104,4.404,128,1.717,137,2.732,252,2.51,524,3.166,657,4.396,658,6.259,659,4.396,660,5.297,661,4.396,662,4.396,663,4.396,664,4.396,665,4.396,666,3.655,667,4.396,668,4.396,669,4.396,670,4.396,671,4.396,672,4.396,673,4.396,674,4.396,675,4.396,676,4.396]],["title/miscellaneous/functions.html",[677,1.37,678,3.157]],["body/miscellaneous/functions.html",[1,3.151,6,1.078,7,0.431,8,3.001,9,0.569,11,0.981,14,0.721,15,0.031,25,1.917,34,3.391,35,2.689,37,3.73,48,3.516,50,0.03,51,0.03,69,0.889,219,1.078,677,2.429,678,3.915,679,5.853]],["title/index.html",[9,0.321,680,1.913,681,1.913]],["body/index.html",[7,0.455,12,1.399,15,0.035,16,1.026,17,2.105,20,0.75,23,1.779,30,0.48,32,1.287,39,1.399,40,0.157,41,1.548,42,1.704,45,0.938,50,0.018,51,0.018,60,1.29,61,1.548,72,1.696,84,1.886,85,1.254,97,1.399,127,2.069,128,2.074,137,1.132,138,1.825,139,1.181,162,2.53,193,1.548,198,1.825,201,1.739,205,0.785,213,1.943,250,1.704,260,1.254,261,1.254,268,1.693,269,1.399,270,2.746,271,2.219,272,2.746,286,1.704,307,1.212,313,2.746,314,3.671,325,2.746,327,2.746,329,1.886,333,1.548,335,2.746,336,1.825,340,2.379,343,1.825,344,2.746,384,1.825,403,2.105,409,1.825,416,1.254,420,1.254,423,1.254,440,1.132,445,0.938,455,1.254,463,1.254,628,2.859,656,1.581,666,2.746,680,1.581,681,1.581,682,2.195,683,3.303,684,5.162,685,3.303,686,2.195,687,2.195,688,2.195,689,2.195,690,2.195,691,2.195,692,2.195,693,2.195,694,2.195,695,3.937,696,3.303,697,2.195,698,3.303,699,4.416,700,3.303,701,3.303,702,3.303,703,4.975,704,5.162,705,3.303,706,3.303,707,2.195,708,3.303,709,2.195,710,2.195,711,2.195,712,3.303,713,2.195,714,2.195,715,2.195,716,2.195,717,2.195,718,2.195,719,3.303,720,2.195,721,3.303,722,2.195,723,2.195,724,2.195,725,2.195,726,2.746,727,2.195,728,2.195,729,2.195,730,2.195,731,3.303,732,2.195,733,2.195,734,2.195,735,2.195,736,2.195,737,3.303,738,1.825,739,2.195,740,2.195,741,2.195,742,2.195,743,2.195,744,2.195,745,2.195,746,2.195,747,2.195,748,2.195,749,2.195,750,2.195,751,1.825,752,3.303,753,2.195,754,2.195,755,3.303,756,3.303,757,2.195,758,2.195,759,2.195,760,2.746,761,2.195,762,2.195,763,3.303,764,2.195,765,2.195,766,2.195,767,2.195,768,2.195,769,2.195,770,2.195,771,2.195,772,2.195,773,2.195,774,2.195,775,2.195,776,2.379,777,2.746,778,3.3,779,1.825,780,1.825,781,1.825,782,1.825,783,2.746,784,1.825,785,1.825,786,1.825,787,1.825,788,1.825,789,2.746,790,4.518,791,1.825,792,1.825,793,1.825,794,3.3,795,1.825,796,2.746,797,1.825,798,1.825,799,1.825,800,1.825,801,1.825,802,1.825,803,1.825,804,1.825,805,1.825,806,2.746,807,1.825,808,1.825,809,1.825,810,1.825,811,1.825,812,1.825,813,2.746,814,2.746,815,1.825,816,1.825,817,1.825,818,1.825,819,1.825,820,1.825,821,1.825,822,1.825,823,1.825,824,1.825,825,1.825,826,1.825,827,1.825,828,1.825,829,1.825,830,1.825,831,1.825,832,1.825,833,1.825,834,1.825,835,1.825,836,1.825,837,1.825,838,1.825,839,1.825,840,1.825,841,1.825,842,1.825,843,1.825]],["title/license.html",[680,1.913,681,1.913,776,1.913]],["body/license.html",[15,0.027,50,0.027,51,0.027,97,2.559,440,2.071,628,2.892,695,4.166,726,3.338,760,3.338,776,2.892,777,4.166,778,4.541,779,3.338,780,3.338,781,3.338,782,3.338,783,4.166,784,3.338,785,3.338,786,3.338,787,3.338,788,3.338,789,4.166,790,5.161,791,3.338,792,3.338,793,3.338,794,4.541,795,3.338,796,4.166,797,3.338,798,3.338,799,3.338,800,3.338,801,3.338,802,3.338,803,3.338,804,3.338,805,3.338,806,4.166,807,3.338,808,3.338,809,3.338,810,3.338,811,3.338,812,3.338,813,4.166,814,4.166,815,3.338,816,3.338,817,3.338,818,3.338,819,3.338,820,3.338,821,3.338,822,3.338,823,3.338,824,3.338,825,3.338,826,3.338,827,3.338,828,3.338,829,3.338,830,3.338,831,3.338,832,3.338,833,3.338,834,3.338,835,3.338,836,3.338,837,3.338,838,3.338,839,3.338,840,3.338,841,3.338,842,3.338,843,3.338]],["title/modules.html",[86,2.45]],["body/modules.html",[15,0.03,41,2.3,50,0.03,51,0.03,85,2.803,86,2.803,137,2.532,354,4.08,844,4.908,845,5.652,846,4.908,847,4.08]],["title/overview.html",[848,3.567]],["body/overview.html",[2,3.009,15,0.034,41,2.606,44,1.494,50,0.028,51,0.028,53,2.195,54,1.958,63,1.785,71,1.988,74,1.988,76,1.988,78,1.988,80,1.988,84,2.386,85,3.676,86,2.386,87,2.663,88,3.474,89,3.474,90,3.474,91,3.474,92,3.474,93,3.474,94,3.474,95,4.27,96,3.474,97,2.663,141,2.155,308,2.155,738,4.27,751,3.474,848,3.474,849,5.136]],["title/properties.html",[10,1.042,656,1.913]],["body/properties.html",[10,1.369,15,0.032,50,0.031,51,0.031,850,4.987,851,4.987]],["title/miscellaneous/typealiases.html",[677,1.37,852,3.798]],["body/miscellaneous/typealiases.html",[6,1.1,7,0.44,9,0.581,14,0.904,15,0.03,50,0.03,51,0.03,232,2.617,309,3.462,318,4.022,634,3.996,638,4.642,677,2.479,853,4.806,854,4.806,855,4.806]],["title/miscellaneous/variables.html",[677,1.37,856,3.157]],["body/miscellaneous/variables.html",[6,0.362,7,0.145,9,0.191,14,0.728,15,0.035,23,1.879,25,1.556,27,1.426,33,1.856,44,1.699,45,2.031,46,2.227,49,2.227,50,0.014,51,0.014,72,0.676,81,0.741,139,0.565,157,1.139,158,2.661,162,1.008,193,1.664,201,1.851,216,2.371,224,0.702,234,1.983,255,2.711,256,2.714,257,2.714,258,2.11,259,2.11,312,1.315,391,1.139,445,0.676,495,1.139,575,2.675,577,1.139,605,1.139,639,1.315,640,2.675,641,2.125,642,2.675,651,1.315,652,3.072,653,1.315,677,0.816,847,2.675,856,1.315,857,3.217,858,3.217,859,3.217,860,3.217,861,1.581,862,1.581,863,2.556,864,2.556,865,1.581,866,1.581,867,1.581,868,1.581,869,6.334,870,6.334,871,6.334,872,6.334,873,1.581,874,1.581,875,1.581,876,1.581,877,1.581,878,1.581,879,1.581,880,1.581,881,1.581,882,1.581,883,1.581,884,1.581,885,1.581,886,1.581,887,1.581,888,1.581,889,1.581,890,1.581,891,1.581,892,1.581,893,1.581,894,5.043,895,1.581,896,4.754,897,1.581,898,4.754,899,1.581,900,1.581,901,1.581,902,1.581,903,1.581,904,1.581,905,1.581,906,1.581,907,1.581,908,1.581,909,3.217,910,3.217,911,1.581,912,1.581,913,1.581,914,1.581,915,1.581,916,1.581,917,1.581,918,1.581,919,1.581,920,1.581,921,1.581,922,1.581,923,1.581,924,1.581,925,1.581,926,1.581,927,1.581,928,1.581,929,1.581,930,1.581,931,1.581,932,1.581,933,1.581,934,1.581,935,1.581,936,1.581,937,1.581,938,1.581,939,1.581,940,1.581,941,1.581,942,1.581,943,1.581,944,1.581,945,1.581,946,1.581,947,1.581,948,1.581,949,1.581,950,1.581,951,1.581,952,1.581,953,1.581,954,1.581,955,1.581,956,1.581,957,1.581,958,1.581,959,1.581,960,1.581,961,1.581,962,1.581,963,1.581,964,1.581,965,1.581,966,1.581,967,1.581,968,1.581]]],"invertedIndex":[["",{"_index":15,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":247,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{},"coverage.html":{}}}],["0.0.6",{"_index":667,"title":{},"body":{"dependencies.html":{}}}],["0.14.3",{"_index":676,"title":{},"body":{"dependencies.html":{}}}],["0/1",{"_index":633,"title":{},"body":{"coverage.html":{}}}],["0/10",{"_index":645,"title":{},"body":{"coverage.html":{}}}],["0/13",{"_index":650,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":649,"title":{},"body":{"coverage.html":{}}}],["0/18",{"_index":648,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":632,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":631,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":643,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":647,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":646,"title":{},"body":{"coverage.html":{}}}],["0/9",{"_index":644,"title":{},"body":{"coverage.html":{}}}],["000",{"_index":194,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["000000",{"_index":548,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["000000000000",{"_index":872,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0451",{"_index":869,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1",{"_index":403,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["1.35.0",{"_index":669,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":582,"title":{},"body":{"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["10px",{"_index":411,"title":{},"body":{"components/DashboardComponent.html":{}}}],["112px",{"_index":579,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["11em",{"_index":581,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["120px",{"_index":181,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["15px",{"_index":408,"title":{},"body":{"components/DashboardComponent.html":{}}}],["16px",{"_index":497,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["17",{"_index":550,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["17.1.0",{"_index":851,"title":{},"body":{"properties.html":{}}}],["17.1.2",{"_index":660,"title":{},"body":{"dependencies.html":{}}}],["17.1.3",{"_index":658,"title":{},"body":{"dependencies.html":{}}}],["2",{"_index":738,"title":{},"body":{"index.html":{},"overview.html":{}}}],["2.3.0",{"_index":674,"title":{},"body":{"dependencies.html":{}}}],["2.a",{"_index":694,"title":{},"body":{"index.html":{}}}],["2.b",{"_index":713,"title":{},"body":{"index.html":{}}}],["2017",{"_index":780,"title":{},"body":{"index.html":{},"license.html":{}}}],["20px",{"_index":406,"title":{},"body":{"components/DashboardComponent.html":{}}}],["21/31",{"_index":636,"title":{},"body":{"coverage.html":{}}}],["214px",{"_index":580,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["222px",{"_index":179,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["24px",{"_index":184,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["255px",{"_index":192,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["29.0.5",{"_index":672,"title":{},"body":{"dependencies.html":{}}}],["3",{"_index":741,"title":{},"body":{"index.html":{}}}],["32px",{"_index":413,"title":{},"body":{"components/DashboardComponent.html":{}}}],["4",{"_index":746,"title":{},"body":{"index.html":{}}}],["4000",{"_index":870,"title":{},"body":{"miscellaneous/variables.html":{}}}],["40px",{"_index":395,"title":{},"body":{"components/DashboardComponent.html":{}}}],["4933",{"_index":527,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["5",{"_index":751,"title":{},"body":{"index.html":{},"overview.html":{}}}],["52ffa9740042",{"_index":529,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["5em",{"_index":175,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["5px",{"_index":189,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["6",{"_index":849,"title":{},"body":{"overview.html":{}}}],["67",{"_index":635,"title":{},"body":{"coverage.html":{}}}],["7.8.0",{"_index":668,"title":{},"body":{"dependencies.html":{}}}],["700px",{"_index":397,"title":{},"body":{"components/DashboardComponent.html":{}}}],["90px",{"_index":187,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["9b10",{"_index":528,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["9b35",{"_index":526,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["__register__",{"_index":940,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_config",{"_index":311,"title":{},"body":{"injectables/BleService.html":{}}}],["above",{"_index":812,"title":{},"body":{"index.html":{},"license.html":{}}}],["absolute",{"_index":177,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["abstract",{"_index":723,"title":{},"body":{"index.html":{}}}],["accelerometer",{"_index":911,"title":{},"body":{"miscellaneous/variables.html":{}}}],["acceptalldevices",{"_index":735,"title":{},"body":{"index.html":{}}}],["accessors",{"_index":212,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["action",{"_index":837,"title":{},"body":{"index.html":{},"license.html":{}}}],["actual_component",{"_index":83,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["addeventlistener",{"_index":419,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["addeventlistener(type",{"_index":428,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["address",{"_index":943,"title":{},"body":{"miscellaneous/variables.html":{}}}],["advanced",{"_index":714,"title":{},"body":{"index.html":{}}}],["alias",{"_index":637,"title":{},"body":{"coverage.html":{}}}],["aliases",{"_index":853,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":171,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["and/or",{"_index":804,"title":{},"body":{"index.html":{},"license.html":{}}}],["angular",{"_index":384,"title":{},"body":{"components/DashboardComponent.html":{},"index.html":{}}}],["angular/animations",{"_index":657,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":659,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/layout",{"_index":100,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/common",{"_index":22,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"dependencies.html":{}}}],["angular/compiler",{"_index":661,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":20,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"dependencies.html":{},"index.html":{}}}],["angular/forms",{"_index":662,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":663,"title":{},"body":{"dependencies.html":{}}}],["angular/material/button",{"_index":102,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/card",{"_index":107,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/expansion",{"_index":109,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/grid",{"_index":111,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/icon",{"_index":114,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/list",{"_index":116,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/menu",{"_index":118,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/progress",{"_index":120,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{}}}],["angular/material/snack",{"_index":123,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["angular/material/toolbar",{"_index":126,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/platform",{"_index":104,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":665,"title":{},"body":{"dependencies.html":{}}}],["annotated",{"_index":700,"title":{},"body":{"index.html":{}}}],["any)[key].service",{"_index":866,"title":{},"body":{"miscellaneous/variables.html":{}}}],["api",{"_index":752,"title":{},"body":{"index.html":{}}}],["app",{"_index":768,"title":{},"body":{"index.html":{}}}],["app.component",{"_index":129,"title":{},"body":{"modules/AppModule.html":{}}}],["appcomponent",{"_index":53,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appmodule",{"_index":85,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"index.html":{},"modules.html":{},"overview.html":{}}}],["apppage",{"_index":140,"title":{"classes/AppPage.html":{}},"body":{"classes/AppPage.html":{},"coverage.html":{}}}],["args",{"_index":365,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["arising",{"_index":841,"title":{},"body":{"index.html":{},"license.html":{}}}],["ask",{"_index":747,"title":{},"body":{"index.html":{}}}],["associated",{"_index":791,"title":{},"body":{"index.html":{},"license.html":{}}}],["authors",{"_index":830,"title":{},"body":{"index.html":{},"license.html":{}}}],["auto",{"_index":399,"title":{},"body":{"components/DashboardComponent.html":{}}}],["available",{"_index":847,"title":{},"body":{"modules.html":{},"miscellaneous/variables.html":{}}}],["awboptions",{"_index":1,"title":{"interfaces/AWBOptions.html":{}},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["b",{"_index":256,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["b000",{"_index":871,"title":{},"body":{"miscellaneous/variables.html":{}}}],["bar",{"_index":124,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["barometer",{"_index":904,"title":{},"body":{"miscellaneous/variables.html":{}}}],["battery",{"_index":72,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["battery_charging_full",{"_index":195,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["battery_level",{"_index":272,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["battery_service",{"_index":270,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["batterylevelcomponent",{"_index":71,"title":{"components/BatteryLevelComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["batterylevelservice",{"_index":702,"title":{},"body":{"index.html":{}}}],["batterylevelservice.gatt_characteristic_battery_level",{"_index":745,"title":{},"body":{"index.html":{}}}],["batterylevelservice.gatt_primary_service",{"_index":737,"title":{},"body":{"index.html":{}}}],["ble",{"_index":60,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["ble.service",{"_index":253,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["blecore",{"_index":255,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["bleservice",{"_index":216,"title":{"injectables/BleService.html":{}},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["bleservice(b",{"_index":259,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["block",{"_index":182,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["blog",{"_index":766,"title":{},"body":{"index.html":{}}}],["bluetooth",{"_index":128,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{},"index.html":{}}}],["bluetooth.service",{"_index":24,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["bluetooth/src/lib/bluetooth.module.ts",{"_index":8,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["bluetooth/src/lib/bluetooth.module.ts:32",{"_index":626,"title":{},"body":{"modules/WebBluetoothModule.html":{}}}],["bluetooth/src/lib/bluetooth.service.ts",{"_index":634,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["bluetooth/src/lib/lang/uuids/ti",{"_index":639,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["bluetooth/src/lib/logger.service.ts",{"_index":361,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"coverage.html":{}}}],["bluetooth/src/lib/logger.service.ts:13",{"_index":367,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:16",{"_index":364,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:19",{"_index":369,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:28",{"_index":569,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:29",{"_index":568,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:30",{"_index":570,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:4",{"_index":566,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/logger.service.ts:5",{"_index":565,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/logger.service.ts:6",{"_index":567,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/platform/browser.ts",{"_index":345,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"coverage.html":{}}}],["bluetooth/src/lib/platform/browser.ts:14",{"_index":350,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["bluetooth/src/lib/platform/browser.ts:5",{"_index":347,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["bluetooth/src/lib/platform/server.ts",{"_index":572,"title":{},"body":{"injectables/ServerWebBluetooth.html":{},"coverage.html":{}}}],["bluetooth/src/lib/platform/server.ts:5",{"_index":573,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["bluetooth/src/lib/test.utils.ts",{"_index":415,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["bluetooth/src/lib/test.utils.ts:103",{"_index":482,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:12",{"_index":422,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:14",{"_index":425,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:17",{"_index":431,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:24",{"_index":433,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:29",{"_index":432,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:39",{"_index":486,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:41",{"_index":487,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:45",{"_index":488,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:50",{"_index":490,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:54",{"_index":489,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:60",{"_index":492,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:61",{"_index":493,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:65",{"_index":494,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:7",{"_index":424,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:71",{"_index":479,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:72",{"_index":478,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:73",{"_index":476,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:74",{"_index":477,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:78",{"_index":474,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:8",{"_index":427,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:86",{"_index":483,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:90",{"_index":480,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:97",{"_index":481,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth_disabled",{"_index":389,"title":{},"body":{"components/DashboardComponent.html":{}}}],["bluetooth_searching",{"_index":387,"title":{},"body":{"components/DashboardComponent.html":{}}}],["bluetoothcharacteristicproperties",{"_index":462,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetoothcharacteristicuuid",{"_index":458,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetoothcore",{"_index":23,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["bluetoothcore(b",{"_index":258,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["bluetoothremotegattcharacteristic",{"_index":749,"title":{},"body":{"index.html":{}}}],["bluetoothremotegattserver",{"_index":423,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["bluetoothremotegattservice",{"_index":743,"title":{},"body":{"index.html":{}}}],["bluetoothserviceuuid",{"_index":451,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["boolean",{"_index":13,"title":{},"body":{"interfaces/AWBOptions.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"modules/WebBluetoothModule.html":{}}}],["bootstrap",{"_index":89,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["bordervisible",{"_index":546,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["bottom",{"_index":191,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["browse",{"_index":845,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":137,"title":{},"body":{"modules/AppModule.html":{},"classes/AppPage.html":{},"injectables/BrowserWebBluetooth.html":{},"dependencies.html":{},"index.html":{},"modules.html":{}}}],["browser's",{"_index":693,"title":{},"body":{"index.html":{}}}],["browser.get(browser.baseurl",{"_index":152,"title":{},"body":{"classes/AppPage.html":{}}}],["browser/animations",{"_index":105,"title":{},"body":{"modules/AppModule.html":{}}}],["browseranimationsmodule",{"_index":103,"title":{},"body":{"modules/AppModule.html":{}}}],["browsermodule",{"_index":136,"title":{},"body":{"modules/AppModule.html":{}}}],["browserwebbluetooth",{"_index":25,"title":{"injectables/BrowserWebBluetooth.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["button",{"_index":410,"title":{},"body":{"components/DashboardComponent.html":{}}}],["c",{"_index":779,"title":{},"body":{"index.html":{},"license.html":{}}}],["call",{"_index":703,"title":{},"body":{"index.html":{}}}],["can't",{"_index":722,"title":{},"body":{"index.html":{}}}],["canvas",{"_index":496,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["card",{"_index":407,"title":{},"body":{"components/DashboardComponent.html":{}}}],["cc2650",{"_index":910,"title":{},"body":{"miscellaneous/variables.html":{}}}],["center",{"_index":167,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["changevalue",{"_index":473,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["changevalue(value",{"_index":471,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["characteristic",{"_index":271,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["characteristics",{"_index":455,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["characteristicvaluechanged",{"_index":465,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["charge",{"_index":786,"title":{},"body":{"index.html":{},"license.html":{}}}],["chart",{"_index":498,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["chartref",{"_index":499,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["checkout",{"_index":764,"title":{},"body":{"index.html":{}}}],["chegham",{"_index":782,"title":{},"body":{"index.html":{},"license.html":{}}}],["claim",{"_index":833,"title":{},"body":{"index.html":{},"license.html":{}}}],["class",{"_index":40,"title":{"classes/AppPage.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"index.html":{}}}],["classes",{"_index":141,"title":{},"body":{"classes/AppPage.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"overview.html":{}}}],["clear",{"_index":420,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["close",{"_index":303,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["cluster_appmodule",{"_index":91,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_bootstrap",{"_index":93,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":94,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":92,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["color",{"_index":196,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["command",{"_index":761,"title":{},"body":{"index.html":{}}}],["commonmodule",{"_index":21,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["component",{"_index":52,"title":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{}}}],["component_template",{"_index":68,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["components",{"_index":54,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"overview.html":{}}}],["conditions",{"_index":811,"title":{},"body":{"index.html":{},"license.html":{}}}],["config",{"_index":312,"title":{},"body":{"injectables/BleService.html":{},"miscellaneous/variables.html":{}}}],["config(options",{"_index":317,"title":{},"body":{"injectables/BleService.html":{}}}],["configuration",{"_index":896,"title":{},"body":{"miscellaneous/variables.html":{}}}],["connect",{"_index":388,"title":{},"body":{"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["connected",{"_index":286,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["connection",{"_index":842,"title":{},"body":{"index.html":{},"license.html":{}}}],["console",{"_index":198,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["console.error.apply(console",{"_index":375,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["console.log('getting",{"_index":712,"title":{},"body":{"index.html":{}}}],["console.log('reading",{"_index":560,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["console.log(value",{"_index":338,"title":{},"body":{"injectables/BleService.html":{}}}],["console.log.apply(console",{"_index":374,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["console.warn.apply(console",{"_index":376,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["consoleloggerservice",{"_index":27,"title":{"injectables/ConsoleLoggerService.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["consoleloggerserviceconfig",{"_index":48,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["consoleloggerserviceconfig(options",{"_index":34,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["const",{"_index":254,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["constructor",{"_index":214,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["constructor(ble",{"_index":315,"title":{},"body":{"injectables/BleService.html":{}}}],["constructor(device",{"_index":485,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["constructor(id",{"_index":421,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["constructor(properties",{"_index":466,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["constructor(public",{"_index":333,"title":{},"body":{"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["constructor(service",{"_index":215,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["container",{"_index":405,"title":{},"body":{"components/DashboardComponent.html":{}}}],["content",{"_index":154,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["contract",{"_index":838,"title":{},"body":{"index.html":{},"license.html":{}}}],["contributions",{"_index":770,"title":{},"body":{"index.html":{}}}],["control",{"_index":947,"title":{},"body":{"miscellaneous/variables.html":{}}}],["copies",{"_index":806,"title":{},"body":{"index.html":{},"license.html":{}}}],["copy",{"_index":789,"title":{},"body":{"index.html":{},"license.html":{}}}],["copyright",{"_index":778,"title":{},"body":{"index.html":{},"license.html":{}}}],["correctly",{"_index":689,"title":{},"body":{"index.html":{}}}],["count",{"_index":598,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["counter",{"_index":604,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["coverage",{"_index":627,"title":{"coverage.html":{}},"body":{"coverage.html":{}}}],["current_used_parameters",{"_index":949,"title":{},"body":{"miscellaneous/variables.html":{}}}],["d",{"_index":298,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["damages",{"_index":834,"title":{},"body":{"index.html":{},"license.html":{}}}],["dashboard",{"_index":378,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard'},{'name",{"_index":75,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["dashboard.component.css",{"_index":380,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard.component.html",{"_index":382,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard/dashboard.component",{"_index":132,"title":{},"body":{"modules/AppModule.html":{}}}],["dashboardcomponent",{"_index":74,"title":{"components/DashboardComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["data",{"_index":894,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dataview",{"_index":268,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["deal",{"_index":793,"title":{},"body":{"index.html":{},"license.html":{}}}],["dealings",{"_index":843,"title":{},"body":{"index.html":{},"license.html":{}}}],["decimal",{"_index":623,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["declarations",{"_index":88,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["decoder",{"_index":267,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["decoder(value",{"_index":328,"title":{},"body":{"injectables/BleService.html":{}}}],["decorators",{"_index":513,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["default",{"_index":234,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":146,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["demo",{"_index":385,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dependencies",{"_index":87,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"dependencies.html":{},"overview.html":{}}}],["deps",{"_index":49,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["details",{"_index":359,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["determinate",{"_index":242,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["dev.to",{"_index":767,"title":{},"body":{"index.html":{}}}],["developer",{"_index":725,"title":{},"body":{"index.html":{}}}],["device",{"_index":213,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["device.gatt",{"_index":447,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["device.name",{"_index":390,"title":{},"body":{"components/DashboardComponent.html":{}}}],["device_id",{"_index":945,"title":{},"body":{"miscellaneous/variables.html":{}}}],["device_information",{"_index":867,"title":{},"body":{"miscellaneous/variables.html":{}}}],["devicesubscription",{"_index":199,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["direction",{"_index":168,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["directions_walk",{"_index":584,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["directive",{"_index":66,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["directives",{"_index":82,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["disconnect",{"_index":205,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["disconnect_request",{"_index":953,"title":{},"body":{"miscellaneous/variables.html":{}}}],["disconnectdevice",{"_index":313,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["disconnected",{"_index":287,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["discover",{"_index":731,"title":{},"body":{"index.html":{}}}],["discovery",{"_index":733,"title":{},"body":{"index.html":{}}}],["display",{"_index":164,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["distribute",{"_index":802,"title":{},"body":{"index.html":{},"license.html":{}}}],["documentation",{"_index":628,"title":{},"body":{"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":55,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["dynamic",{"_index":664,"title":{},"body":{"dependencies.html":{}}}],["e2e/src/app.po.ts",{"_index":142,"title":{},"body":{"classes/AppPage.html":{},"coverage.html":{}}}],["e2e/src/app.po.ts:4",{"_index":150,"title":{},"body":{"classes/AppPage.html":{}}}],["e2e/src/app.po.ts:8",{"_index":147,"title":{},"body":{"classes/AppPage.html":{}}}],["each",{"_index":264,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["easiest",{"_index":697,"title":{},"body":{"index.html":{}}}],["ef680200",{"_index":525,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["ef680201",{"_index":621,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["ef680203",{"_index":530,"title":{},"body":{"components/HumidityComponent.html":{}}}],["ef680400",{"_index":602,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["ef680405",{"_index":603,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["element",{"_index":65,"title":{},"body":{"components/AppComponent.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["element(by.css('app",{"_index":153,"title":{},"body":{"classes/AppPage.html":{}}}],["elementref",{"_index":512,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["elsewhere",{"_index":724,"title":{},"body":{"index.html":{}}}],["emites",{"_index":728,"title":{},"body":{"index.html":{}}}],["emitted",{"_index":706,"title":{},"body":{"index.html":{}}}],["enable",{"_index":691,"title":{},"body":{"index.html":{}}}],["enabletracing",{"_index":12,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["environment",{"_index":652,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["err",{"_index":294,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["error",{"_index":226,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["error('your",{"_index":353,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["error(...args",{"_index":363,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["error(args",{"_index":372,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["event",{"_index":440,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{},"license.html":{}}}],["eventlistener",{"_index":430,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["example",{"_index":684,"title":{},"body":{"index.html":{}}}],["export",{"_index":30,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["exports",{"_index":90,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["express",{"_index":821,"title":{},"body":{"index.html":{},"license.html":{}}}],["f000180a",{"_index":868,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000180f",{"_index":891,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a19",{"_index":892,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a23",{"_index":874,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a24",{"_index":876,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a25",{"_index":878,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a26",{"_index":880,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a27",{"_index":882,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a28",{"_index":884,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a29",{"_index":886,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a2a",{"_index":888,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a50",{"_index":890,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa00",{"_index":893,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa01",{"_index":895,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa02",{"_index":897,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa03",{"_index":899,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa10",{"_index":912,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa11",{"_index":913,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa12",{"_index":914,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa13",{"_index":915,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa20",{"_index":900,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa21",{"_index":901,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa22",{"_index":902,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa23",{"_index":903,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa30",{"_index":917,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa31",{"_index":918,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa32",{"_index":919,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa33",{"_index":920,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa40",{"_index":905,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa41",{"_index":906,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa42",{"_index":907,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa44",{"_index":908,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa50",{"_index":922,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa51",{"_index":923,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa52",{"_index":924,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa53",{"_index":925,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa64",{"_index":966,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa65",{"_index":967,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa66",{"_index":968,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa70",{"_index":932,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa71",{"_index":933,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa72",{"_index":934,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa73",{"_index":935,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa80",{"_index":927,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa81",{"_index":928,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa82",{"_index":929,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa83",{"_index":930,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac00",{"_index":941,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac01",{"_index":942,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac02",{"_index":944,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac03",{"_index":946,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc0",{"_index":948,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc1",{"_index":950,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc2",{"_index":952,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc3",{"_index":954,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc0",{"_index":956,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc1",{"_index":958,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc2",{"_index":960,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc3",{"_index":962,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc4",{"_index":964,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffe0",{"_index":937,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffe1",{"_index":939,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fakebluetoothdevice",{"_index":414,"title":{"classes/FakeBluetoothDevice.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattcharacteristic",{"_index":460,"title":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattserver",{"_index":444,"title":{"classes/FakeBluetoothRemoteGATTServer.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattservice",{"_index":454,"title":{"classes/FakeBluetoothRemoteGATTService.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["false",{"_index":445,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["few",{"_index":772,"title":{},"body":{"index.html":{}}}],["ff0000",{"_index":554,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["ffffff",{"_index":543,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["files",{"_index":792,"title":{},"body":{"index.html":{},"license.html":{}}}],["fillstyle",{"_index":542,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["firmware_rev",{"_index":879,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fitness",{"_index":826,"title":{},"body":{"index.html":{},"license.html":{}}}],["flex",{"_index":165,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["following",{"_index":760,"title":{},"body":{"index.html":{},"license.html":{}}}],["font",{"_index":173,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["fontsize",{"_index":549,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["forroot",{"_index":625,"title":{},"body":{"modules/WebBluetoothModule.html":{}}}],["forroot(options",{"_index":43,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["found",{"_index":753,"title":{},"body":{"index.html":{}}}],["free",{"_index":726,"title":{},"body":{"index.html":{},"license.html":{}}}],["full",{"_index":765,"title":{},"body":{"index.html":{}}}],["function",{"_index":31,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["functions",{"_index":678,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["furnished",{"_index":809,"title":{},"body":{"index.html":{},"license.html":{}}}],["gatt",{"_index":416,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["gatt_characteristic_battery_level",{"_index":716,"title":{},"body":{"index.html":{}}}],["gatt_primary_service",{"_index":717,"title":{},"body":{"index.html":{}}}],["gattserverdisconnected",{"_index":426,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getcharacteristic",{"_index":491,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getcharacteristic(characteristic",{"_index":457,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getdevice",{"_index":250,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["getdevicestatus",{"_index":206,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["getprimaryservice",{"_index":484,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["getprimaryservice(service",{"_index":450,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getting",{"_index":680,"title":{"index.html":{},"license.html":{}},"body":{"index.html":{}}}],["gettitletext",{"_index":144,"title":{},"body":{"classes/AppPage.html":{}}}],["given",{"_index":707,"title":{},"body":{"index.html":{}}}],["granted",{"_index":785,"title":{},"body":{"index.html":{},"license.html":{}}}],["graph",{"_index":846,"title":{},"body":{"modules.html":{}}}],["grid",{"_index":404,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["gyroscope",{"_index":921,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hardware_rev",{"_index":881,"title":{},"body":{"miscellaneous/variables.html":{}}}],["haserror",{"_index":207,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["haserror(error",{"_index":223,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["height",{"_index":583,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["help",{"_index":775,"title":{},"body":{"index.html":{}}}],["here",{"_index":699,"title":{},"body":{"index.html":{}}}],["hereby",{"_index":784,"title":{},"body":{"index.html":{},"license.html":{}}}],["holders",{"_index":831,"title":{},"body":{"index.html":{},"license.html":{}}}],["host",{"_index":163,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["html",{"_index":64,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["http://caniuse.com/#search=bluetooth",{"_index":357,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["https://manekinekko.github.io/angular",{"_index":754,"title":{},"body":{"index.html":{}}}],["humidity",{"_index":391,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"miscellaneous/variables.html":{}}}],["humidity'},{'name",{"_index":77,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["humiditycomponent",{"_index":76,"title":{"components/HumidityComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["icon",{"_index":190,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["id",{"_index":417,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["identifier",{"_index":629,"title":{},"body":{"coverage.html":{}}}],["ieee11073",{"_index":887,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_block_request",{"_index":959,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_count",{"_index":961,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_notify",{"_index":957,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_status",{"_index":963,"title":{},"body":{"miscellaneous/variables.html":{}}}],["img",{"_index":412,"title":{},"body":{"components/DashboardComponent.html":{}}}],["implements",{"_index":159,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["implied",{"_index":822,"title":{},"body":{"index.html":{},"license.html":{}}}],["import",{"_index":16,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["imports",{"_index":39,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["included",{"_index":815,"title":{},"body":{"index.html":{},"license.html":{}}}],["including",{"_index":796,"title":{},"body":{"index.html":{},"license.html":{}}}],["indeterminate",{"_index":284,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["index",{"_index":9,"title":{"index.html":{}},"body":{"interfaces/AWBOptions.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["initchart",{"_index":501,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["initialvalue",{"_index":464,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["injectable",{"_index":307,"title":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{}},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"coverage.html":{},"index.html":{}}}],["injectables",{"_index":308,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"overview.html":{}}}],["injectiontoken",{"_index":19,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["injectiontoken('awboptions",{"_index":38,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["install",{"_index":683,"title":{},"body":{"index.html":{}}}],["installed",{"_index":688,"title":{},"body":{"index.html":{}}}],["instance",{"_index":263,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["integer",{"_index":622,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AWBOptions.html":{},"interfaces/Logger.html":{}},"body":{"interfaces/AWBOptions.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AWBOptions.html":{},"interfaces/Logger.html":{},"overview.html":{}}}],["interpolation",{"_index":540,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["io",{"_index":965,"title":{},"body":{"miscellaneous/variables.html":{}}}],["issues",{"_index":774,"title":{},"body":{"index.html":{}}}],["jest",{"_index":671,"title":{},"body":{"dependencies.html":{}}}],["justify",{"_index":166,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["key",{"_index":276,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["keypress",{"_index":936,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kind",{"_index":820,"title":{},"body":{"index.html":{},"license.html":{}}}],["l",{"_index":257,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["labels",{"_index":547,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["layoutmodule",{"_index":99,"title":{},"body":{"modules/AppModule.html":{}}}],["left",{"_index":188,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["legend",{"_index":63,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"overview.html":{}}}],["length",{"_index":537,"title":{},"body":{"components/HumidityComponent.html":{}}}],["level",{"_index":162,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["level'},{'name",{"_index":73,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["level.component",{"_index":131,"title":{},"body":{"modules/AppModule.html":{}}}],["level.component.ts",{"_index":158,"title":{},"body":{"components/BatteryLevelComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["level.component.ts:116",{"_index":222,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:131",{"_index":229,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:144",{"_index":233,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:162",{"_index":220,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:168",{"_index":225,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:172",{"_index":227,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:76",{"_index":248,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:77",{"_index":243,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:78",{"_index":236,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:79",{"_index":249,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:80",{"_index":246,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:81",{"_index":240,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:83",{"_index":251,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:85",{"_index":218,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:88",{"_index":244,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:89",{"_index":245,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:90",{"_index":237,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:99",{"_index":228,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["liability",{"_index":835,"title":{},"body":{"index.html":{},"license.html":{}}}],["liable",{"_index":832,"title":{},"body":{"index.html":{},"license.html":{}}}],["license",{"_index":776,"title":{"license.html":{}},"body":{"index.html":{},"license.html":{}}}],["light",{"_index":931,"title":{},"body":{"miscellaneous/variables.html":{}}}],["limitation",{"_index":797,"title":{},"body":{"index.html":{},"license.html":{}}}],["limited",{"_index":823,"title":{},"body":{"index.html":{},"license.html":{}}}],["line",{"_index":331,"title":{},"body":{"injectables/BleService.html":{},"components/HumidityComponent.html":{}}}],["linewidth",{"_index":553,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["list",{"_index":112,"title":{},"body":{"modules/AppModule.html":{}}}],["listener",{"_index":429,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["listener(mockedevent",{"_index":439,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["listeners",{"_index":418,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["literal",{"_index":232,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/typealiases.html":{}}}],["log",{"_index":362,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["log(...args",{"_index":366,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["log(args",{"_index":371,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["logger",{"_index":370,"title":{"interfaces/Logger.html":{}},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"coverage.html":{}}}],["logger.service",{"_index":29,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["logic",{"_index":720,"title":{},"body":{"index.html":{}}}],["logs",{"_index":692,"title":{},"body":{"index.html":{}}}],["magnetometer",{"_index":916,"title":{},"body":{"miscellaneous/variables.html":{}}}],["make",{"_index":260,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["makemetokeninjector",{"_index":37,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["manekinekko/angular",{"_index":127,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["manifacturer",{"_index":885,"title":{},"body":{"miscellaneous/variables.html":{}}}],["map",{"_index":325,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["map((value",{"_index":708,"title":{},"body":{"index.html":{}}}],["map(this._config.decoder",{"_index":339,"title":{},"body":{"injectables/BleService.html":{}}}],["margin",{"_index":398,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["mat",{"_index":185,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["matbuttonmodule",{"_index":101,"title":{},"body":{"modules/AppModule.html":{}}}],["matcardmodule",{"_index":106,"title":{},"body":{"modules/AppModule.html":{}}}],["matching",{"_index":51,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matexpansionmodule",{"_index":108,"title":{},"body":{"modules/AppModule.html":{}}}],["matgridlistmodule",{"_index":110,"title":{},"body":{"modules/AppModule.html":{}}}],["maticonmodule",{"_index":113,"title":{},"body":{"modules/AppModule.html":{}}}],["matlistmodule",{"_index":115,"title":{},"body":{"modules/AppModule.html":{}}}],["matmenumodule",{"_index":117,"title":{},"body":{"modules/AppModule.html":{}}}],["matprogressspinnermodule",{"_index":119,"title":{},"body":{"modules/AppModule.html":{}}}],["matsnackbar",{"_index":217,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["matsnackbarmodule",{"_index":122,"title":{},"body":{"modules/AppModule.html":{}}}],["mattoolbarmodule",{"_index":125,"title":{},"body":{"modules/AppModule.html":{}}}],["max",{"_index":396,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{}}}],["merchantability",{"_index":825,"title":{},"body":{"index.html":{},"license.html":{}}}],["merge",{"_index":800,"title":{},"body":{"index.html":{},"license.html":{}}}],["mergemap",{"_index":715,"title":{},"body":{"index.html":{}}}],["mergemap((characteristic",{"_index":748,"title":{},"body":{"index.html":{}}}],["mergemap((gatt",{"_index":739,"title":{},"body":{"index.html":{}}}],["mergemap((primaryservice",{"_index":742,"title":{},"body":{"index.html":{}}}],["metadata",{"_index":58,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["method",{"_index":704,"title":{},"body":{"index.html":{}}}],["methods",{"_index":143,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["miscellaneous",{"_index":677,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["missing",{"_index":682,"title":{},"body":{"index.html":{}}}],["mit",{"_index":777,"title":{},"body":{"index.html":{},"license.html":{}}}],["mocked",{"_index":574,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["mockedevent",{"_index":435,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["mode",{"_index":200,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["model",{"_index":909,"title":{},"body":{"miscellaneous/variables.html":{}}}],["model_number",{"_index":875,"title":{},"body":{"miscellaneous/variables.html":{}}}],["modify",{"_index":799,"title":{},"body":{"index.html":{},"license.html":{}}}],["module",{"_index":84,"title":{"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{}},"body":{"modules/AppModule.html":{},"index.html":{},"overview.html":{}}}],["modules",{"_index":86,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"modules.html":{},"overview.html":{}}}],["modulewithproviders",{"_index":18,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["more",{"_index":358,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{}}}],["more_vert",{"_index":386,"title":{},"body":{"components/DashboardComponent.html":{}}}],["movement",{"_index":926,"title":{},"body":{"miscellaneous/variables.html":{}}}],["name",{"_index":69,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["navigateto",{"_index":145,"title":{},"body":{"classes/AppPage.html":{}}}],["navigator.bluetooth",{"_index":351,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["need",{"_index":755,"title":{},"body":{"index.html":{}}}],["new",{"_index":33,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["next",{"_index":291,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["ngmodule",{"_index":17,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["ngondestroy",{"_index":208,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["ngoninit",{"_index":209,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["node_modules",{"_index":690,"title":{},"body":{"index.html":{}}}],["nologgerservice",{"_index":28,"title":{"injectables/NoLoggerService.html":{}},"body":{"interfaces/AWBOptions.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["noninfringement",{"_index":829,"title":{},"body":{"index.html":{},"license.html":{}}}],["note",{"_index":687,"title":{},"body":{"index.html":{}}}],["notice",{"_index":813,"title":{},"body":{"index.html":{},"license.html":{}}}],["notifications",{"_index":711,"title":{},"body":{"index.html":{}}}],["now",{"_index":576,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["npm",{"_index":685,"title":{},"body":{"index.html":{}}}],["null",{"_index":239,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["number",{"_index":231,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["oad",{"_index":955,"title":{},"body":{"miscellaneous/variables.html":{}}}],["object",{"_index":575,"title":{},"body":{"injectables/ServerWebBluetooth.html":{},"miscellaneous/variables.html":{}}}],["object.keys(titag).map((key",{"_index":865,"title":{},"body":{"miscellaneous/variables.html":{}}}],["obtaining",{"_index":788,"title":{},"body":{"index.html":{},"license.html":{}}}],["of(this.haserror.bind(this",{"_index":559,"title":{},"body":{"components/HumidityComponent.html":{}}}],["ondestroy",{"_index":161,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["oninit",{"_index":160,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["open",{"_index":773,"title":{},"body":{"index.html":{}}}],["optional",{"_index":11,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["optionalservices",{"_index":736,"title":{},"body":{"index.html":{}}}],["options",{"_index":35,"title":{},"body":{"interfaces/AWBOptions.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["options.enabletracing",{"_index":36,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["otherwise",{"_index":840,"title":{},"body":{"index.html":{},"license.html":{}}}],["out",{"_index":97,"title":{},"body":{"modules/AppModule.html":{},"index.html":{},"license.html":{},"overview.html":{}}}],["overview",{"_index":848,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["package",{"_index":656,"title":{"dependencies.html":{},"properties.html":{}},"body":{"index.html":{}}}],["padding",{"_index":394,"title":{},"body":{"components/DashboardComponent.html":{}}}],["parameters",{"_index":219,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["particular",{"_index":827,"title":{},"body":{"index.html":{},"license.html":{}}}],["period",{"_index":898,"title":{},"body":{"miscellaneous/variables.html":{}}}],["permission",{"_index":783,"title":{},"body":{"index.html":{},"license.html":{}}}],["permit",{"_index":807,"title":{},"body":{"index.html":{},"license.html":{}}}],["person",{"_index":787,"title":{},"body":{"index.html":{},"license.html":{}}}],["persons",{"_index":808,"title":{},"body":{"index.html":{},"license.html":{}}}],["pipe",{"_index":343,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["platform/browser",{"_index":26,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["pnp_id",{"_index":889,"title":{},"body":{"miscellaneous/variables.html":{}}}],["portions",{"_index":817,"title":{},"body":{"index.html":{},"license.html":{}}}],["position",{"_index":176,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["post",{"_index":763,"title":{},"body":{"index.html":{}}}],["pr",{"_index":769,"title":{},"body":{"index.html":{}}}],["primary",{"_index":235,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["private",{"_index":310,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["process",{"_index":734,"title":{},"body":{"index.html":{}}}],["production",{"_index":864,"title":{},"body":{"miscellaneous/variables.html":{}}}],["progress",{"_index":186,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["progressspinnermode",{"_index":241,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["project",{"_index":757,"title":{},"body":{"index.html":{}}}],["projects/.../bluetooth.module.ts",{"_index":679,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../bluetooth.service.ts",{"_index":854,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../ti",{"_index":863,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/manekinekko/angular",{"_index":6,"title":{},"body":{"interfaces/AWBOptions.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":149,"title":{},"body":{"classes/AppPage.html":{},"injectables/BrowserWebBluetooth.html":{}}}],["promise.resolve(this",{"_index":449,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.characteristics[characteristic",{"_index":459,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.services[service].service",{"_index":452,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.value",{"_index":470,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["properties",{"_index":10,"title":{"properties.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"properties.html":{}}}],["protractor",{"_index":151,"title":{},"body":{"classes/AppPage.html":{}}}],["provide",{"_index":45,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["provided",{"_index":818,"title":{},"body":{"index.html":{},"license.html":{}}}],["providedin",{"_index":329,"title":{},"body":{"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"index.html":{}}}],["providers",{"_index":44,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["public",{"_index":197,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["publish",{"_index":801,"title":{},"body":{"index.html":{},"license.html":{}}}],["purpose",{"_index":828,"title":{},"body":{"index.html":{},"license.html":{}}}],["read",{"_index":730,"title":{},"body":{"index.html":{}}}],["readonly",{"_index":463,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["readvalue",{"_index":469,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["readvalueoptions",{"_index":638,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["request_new_parameters",{"_index":951,"title":{},"body":{"miscellaneous/variables.html":{}}}],["requestdevice",{"_index":346,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requestdevice(options",{"_index":348,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requestdeviceoptions",{"_index":349,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requested",{"_index":729,"title":{},"body":{"index.html":{}}}],["requestvalue",{"_index":210,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["reset",{"_index":96,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["restriction",{"_index":795,"title":{},"body":{"index.html":{},"license.html":{}}}],["results",{"_index":50,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":32,"title":{},"body":{"interfaces/AWBOptions.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["returns",{"_index":148,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["rgba(119,119,119,0.18",{"_index":545,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["rgba(255,161,161,0.30",{"_index":555,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["right",{"_index":409,"title":{},"body":{"components/DashboardComponent.html":{},"index.html":{}}}],["rights",{"_index":798,"title":{},"body":{"index.html":{},"license.html":{}}}],["root",{"_index":61,"title":{},"body":{"components/AppComponent.html":{},"classes/AppPage.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"index.html":{}}}],["root'},{'name",{"_index":70,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["row",{"_index":169,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["run",{"_index":759,"title":{},"body":{"index.html":{}}}],["rxjs",{"_index":252,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":327,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["s",{"_index":686,"title":{},"body":{"index.html":{}}}],["section",{"_index":393,"title":{},"body":{"components/DashboardComponent.html":{}}}],["see",{"_index":356,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["selector",{"_index":59,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["sell",{"_index":805,"title":{},"body":{"index.html":{},"license.html":{}}}],["sensortag2.ts",{"_index":640,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["serial_number",{"_index":877,"title":{},"body":{"miscellaneous/variables.html":{}}}],["series",{"_index":500,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["serverwebbluetooth",{"_index":571,"title":{"injectables/ServerWebBluetooth.html":{}},"body":{"injectables/ServerWebBluetooth.html":{},"coverage.html":{}}}],["serves",{"_index":758,"title":{},"body":{"index.html":{}}}],["service",{"_index":201,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["service.config",{"_index":266,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["service/component",{"_index":696,"title":{},"body":{"index.html":{}}}],["serviceoptions",{"_index":318,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["services",{"_index":446,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["shall",{"_index":814,"title":{},"body":{"index.html":{},"license.html":{}}}],["singleton",{"_index":262,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["size",{"_index":174,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["smart",{"_index":355,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["smoothie",{"_index":524,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{}}}],["smoothiechart",{"_index":510,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["snackbar",{"_index":202,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["software",{"_index":790,"title":{},"body":{"index.html":{},"license.html":{}}}],["software_rev",{"_index":883,"title":{},"body":{"miscellaneous/variables.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["span",{"_index":172,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["span')).gettext",{"_index":155,"title":{},"body":{"classes/AppPage.html":{}}}],["specific",{"_index":721,"title":{},"body":{"index.html":{}}}],["spinner",{"_index":121,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{}}}],["src/.../battery",{"_index":857,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../ble.service.ts",{"_index":855,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["src/.../environment.prod.ts",{"_index":861,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../environment.ts",{"_index":862,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../humidity.component.ts",{"_index":858,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../stepcounter.component.ts",{"_index":859,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../temperature.component.ts",{"_index":860,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/app/app.component.ts",{"_index":57,"title":{},"body":{"components/AppComponent.html":{},"coverage.html":{}}}],["src/app/app.module.ts",{"_index":98,"title":{},"body":{"modules/AppModule.html":{}}}],["src/app/ble.service.ts",{"_index":309,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["src/app/ble.service.ts:17",{"_index":316,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:19",{"_index":324,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:21",{"_index":319,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:25",{"_index":321,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:29",{"_index":322,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:36",{"_index":323,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:47",{"_index":320,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/dashboard/dashboard.component.ts",{"_index":377,"title":{},"body":{"components/DashboardComponent.html":{},"coverage.html":{}}}],["src/app/dashboard/dashboard.component.ts:8",{"_index":383,"title":{},"body":{"components/DashboardComponent.html":{}}}],["src/app/thingy52/battery",{"_index":157,"title":{},"body":{"components/BatteryLevelComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/humidity.component.ts",{"_index":495,"title":{},"body":{"components/HumidityComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/humidity.component.ts:101",{"_index":503,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:108",{"_index":504,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:112",{"_index":506,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:38",{"_index":517,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:39",{"_index":511,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:40",{"_index":521,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:41",{"_index":520,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:44",{"_index":515,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:46",{"_index":522,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:48",{"_index":502,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:51",{"_index":518,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:52",{"_index":519,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:61",{"_index":507,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:71",{"_index":505,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:81",{"_index":508,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:90",{"_index":509,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts",{"_index":577,"title":{},"body":{"components/StepCounterComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/stepcounter.component.ts:49",{"_index":596,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:50",{"_index":594,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:51",{"_index":595,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:53",{"_index":597,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:55",{"_index":585,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:58",{"_index":592,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:59",{"_index":593,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:72",{"_index":589,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:80",{"_index":590,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:85",{"_index":591,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:90",{"_index":586,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:95",{"_index":587,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:99",{"_index":588,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/temperature.component.ts",{"_index":605,"title":{},"body":{"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/temperature.component.ts:110",{"_index":612,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:117",{"_index":613,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:126",{"_index":607,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:133",{"_index":608,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:137",{"_index":610,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:52",{"_index":616,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:53",{"_index":614,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:54",{"_index":619,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:55",{"_index":618,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:58",{"_index":615,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:60",{"_index":620,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:62",{"_index":606,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:64",{"_index":617,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:76",{"_index":611,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:85",{"_index":609,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/environments/environment.prod.ts",{"_index":651,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/environments/environment.ts",{"_index":653,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["startblog",{"_index":762,"title":{},"body":{"index.html":{}}}],["started",{"_index":681,"title":{"index.html":{},"license.html":{}},"body":{"index.html":{}}}],["starter",{"_index":756,"title":{},"body":{"index.html":{}}}],["state",{"_index":938,"title":{},"body":{"miscellaneous/variables.html":{}}}],["statements",{"_index":630,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":42,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["step",{"_index":541,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["stepcounter",{"_index":578,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["stepcounter'},{'name",{"_index":79,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["stepcountercomponent",{"_index":78,"title":{"components/StepCounterComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["stepper",{"_index":392,"title":{},"body":{"components/DashboardComponent.html":{}}}],["sticky",{"_index":401,"title":{},"body":{"components/DashboardComponent.html":{}}}],["stop",{"_index":709,"title":{},"body":{"index.html":{}}}],["stream",{"_index":314,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["streamsubscription",{"_index":203,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["string",{"_index":224,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["strokestyle",{"_index":544,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["styles",{"_index":156,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["styleurls",{"_index":379,"title":{},"body":{"components/DashboardComponent.html":{}}}],["subject",{"_index":810,"title":{},"body":{"index.html":{},"license.html":{}}}],["sublicense",{"_index":803,"title":{},"body":{"index.html":{},"license.html":{}}}],["subscribe",{"_index":533,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["subscribed",{"_index":710,"title":{},"body":{"index.html":{}}}],["subscription",{"_index":238,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["substantial",{"_index":816,"title":{},"body":{"index.html":{},"license.html":{}}}],["sup",{"_index":183,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["support",{"_index":354,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"modules.html":{}}}],["sure",{"_index":261,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["svg",{"_index":844,"title":{},"body":{"modules.html":{}}}],["system_id",{"_index":873,"title":{},"body":{"miscellaneous/variables.html":{}}}],["table",{"_index":655,"title":{},"body":{"coverage.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":654,"title":{},"body":{"coverage.html":{}}}],["tap",{"_index":326,"title":{},"body":{"injectables/BleService.html":{}}}],["tap(value",{"_index":337,"title":{},"body":{"injectables/BleService.html":{}}}],["target",{"_index":436,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["temperature",{"_index":81,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["temperaturecomponent",{"_index":80,"title":{"components/TemperatureComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["template",{"_index":62,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["templateurl",{"_index":381,"title":{},"body":{"components/DashboardComponent.html":{}}}],["text",{"_index":170,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["thingy52/battery",{"_index":130,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/humidity.component",{"_index":133,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/stepcounter.component",{"_index":134,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/temperature.component",{"_index":135,"title":{},"body":{"modules/AppModule.html":{}}}],["this._config",{"_index":334,"title":{},"body":{"injectables/BleService.html":{}}}],["this._config.characteristic",{"_index":342,"title":{},"body":{"injectables/BleService.html":{}}}],["this._config.service",{"_index":341,"title":{},"body":{"injectables/BleService.html":{}}}],["this.ble",{"_index":340,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"index.html":{}}}],["this.ble.disconnectdevice",{"_index":344,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.getcharacteristic$(primaryservice",{"_index":744,"title":{},"body":{"index.html":{}}}],["this.ble.getdevice",{"_index":335,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.getprimaryservice$(gatt",{"_index":740,"title":{},"body":{"index.html":{}}}],["this.ble.readvalue$(characteristic",{"_index":750,"title":{},"body":{"index.html":{}}}],["this.ble.requestdevice(options",{"_index":360,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["this.ble.streamvalues$().pipe",{"_index":336,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.streamvalues$().pipe(map((value",{"_index":718,"title":{},"body":{"index.html":{}}}],["this.characteristics.service",{"_index":456,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.chart",{"_index":538,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.addtimeseries(this.series",{"_index":552,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.start",{"_index":562,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.stop",{"_index":557,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.streamto(canvas",{"_index":556,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chartref!.nativeelement",{"_index":536,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.color",{"_index":281,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.connected",{"_index":448,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.console.log('reading",{"_index":297,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.device.disconnect",{"_index":453,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.devicesubscription",{"_index":279,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.devicesubscription!.unsubscribe",{"_index":300,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.devicesubscription?.unsubscribe",{"_index":305,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.getdevicestatus",{"_index":273,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.haserror(err",{"_index":295,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.haserror(error",{"_index":278,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.haserror.bind(this",{"_index":288,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.id",{"_index":441,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.initchart",{"_index":531,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.initialvalue",{"_index":468,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners",{"_index":443,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners['characteristicvaluechanged'].foreach(listener",{"_index":472,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners['gattserverdisconnected'].foreach(listener",{"_index":438,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners[type",{"_index":434,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.mode",{"_index":283,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.name",{"_index":442,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.properties",{"_index":467,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.series",{"_index":534,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.series!.append(date.now",{"_index":561,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.series!.clear",{"_index":563,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.disconnectdevice",{"_index":299,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.getdevice",{"_index":265,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.getdevice().subscribe((device",{"_index":280,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.service.stream",{"_index":532,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["this.service.stream().subscribe",{"_index":275,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.value",{"_index":558,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["this.service.value().subscribe",{"_index":290,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.snackbar.open(error",{"_index":302,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription",{"_index":274,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription!.unsubscribe",{"_index":564,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription?.unsubscribe",{"_index":306,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.updatevalue(val",{"_index":293,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.updatevalue(value",{"_index":277,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.value",{"_index":285,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/StepCounterComponent.html":{}}}],["this.valuessubscription",{"_index":289,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.valuessubscription!.unsubscribe",{"_index":301,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.valuessubscription?.unsubscribe",{"_index":304,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["throw",{"_index":352,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["ti_sensorag_services",{"_index":641,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["time",{"_index":600,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["timeseries",{"_index":516,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["titag",{"_index":642,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["toolbar.mat",{"_index":400,"title":{},"body":{"components/DashboardComponent.html":{}}}],["tooltip",{"_index":551,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["top",{"_index":178,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["tort",{"_index":839,"title":{},"body":{"index.html":{},"license.html":{}}}],["tree",{"_index":56,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["trigger",{"_index":732,"title":{},"body":{"index.html":{}}}],["true",{"_index":139,"title":{},"body":{"modules/AppModule.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ts",{"_index":670,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":673,"title":{},"body":{"dependencies.html":{}}}],["tslint:disable",{"_index":330,"title":{},"body":{"injectables/BleService.html":{},"components/HumidityComponent.html":{}}}],["type",{"_index":14,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":852,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":296,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["types/web",{"_index":666,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["undefined",{"_index":461,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["unknown",{"_index":437,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["updatevalue",{"_index":211,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["updatevalue(value",{"_index":230,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["use",{"_index":695,"title":{},"body":{"index.html":{},"license.html":{}}}],["usefactory",{"_index":46,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["usevalue",{"_index":47,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["using",{"_index":701,"title":{},"body":{"index.html":{}}}],["val",{"_index":292,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["value",{"_index":193,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["value.getint8(0",{"_index":269,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["value.getuint32(0",{"_index":599,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["value.getuint32(4",{"_index":601,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["value.getuint8(0",{"_index":719,"title":{},"body":{"index.html":{}}}],["value.getuint8(1",{"_index":624,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["values",{"_index":705,"title":{},"body":{"index.html":{}}}],["valuessubscription",{"_index":204,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["var",{"_index":67,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["variable",{"_index":332,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{}}}],["variables",{"_index":856,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":850,"title":{},"body":{"properties.html":{}}}],["viewchild",{"_index":523,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["viewchild('chart",{"_index":514,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["void",{"_index":221,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["want",{"_index":727,"title":{},"body":{"index.html":{}}}],["warn",{"_index":282,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warn(...args",{"_index":368,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warn(args",{"_index":373,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warranties",{"_index":824,"title":{},"body":{"index.html":{},"license.html":{}}}],["warranty",{"_index":819,"title":{},"body":{"index.html":{},"license.html":{}}}],["wassim",{"_index":781,"title":{},"body":{"index.html":{},"license.html":{}}}],["way",{"_index":698,"title":{},"body":{"index.html":{}}}],["web",{"_index":7,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["webbluetoothmodule",{"_index":41,"title":{"modules/WebBluetoothModule.html":{}},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"modules.html":{},"overview.html":{}}}],["webbluetoothmodule.forroot",{"_index":138,"title":{},"body":{"modules/AppModule.html":{},"index.html":{}}}],["welcome",{"_index":771,"title":{},"body":{"index.html":{}}}],["whether",{"_index":836,"title":{},"body":{"index.html":{},"license.html":{}}}],["width",{"_index":180,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["window.smoothiechart",{"_index":539,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["window.timeseries",{"_index":535,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["without",{"_index":794,"title":{},"body":{"index.html":{},"license.html":{}}}],["yes",{"_index":475,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["z",{"_index":402,"title":{},"body":{"components/DashboardComponent.html":{}}}],["zone.js",{"_index":675,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":95,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}]],"pipeline":["stemmer"]},
- "store": {"interfaces/AWBOptions.html":{"url":"interfaces/AWBOptions.html","title":"interface - AWBOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AWBOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n enableTracing\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enableTracing\n \n \n \n \n \n \n \n \n enableTracing: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { NgModule, ModuleWithProviders, InjectionToken, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BluetoothCore } from './bluetooth.service';\nimport { BrowserWebBluetooth } from './platform/browser';\n\nimport { ConsoleLoggerService, NoLoggerService } from './logger.service';\n\nexport interface AWBOptions {\n enableTracing?: boolean;\n}\n\nexport function browserWebBluetooth() {\n return new BrowserWebBluetooth();\n}\n\nexport function consoleLoggerServiceConfig(options: AWBOptions) {\n if (options && options.enableTracing) {\n return new ConsoleLoggerService();\n } else {\n return new NoLoggerService();\n }\n}\nexport function makeMeTokenInjector() {\n return new InjectionToken('AWBOptions');\n}\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class WebBluetoothModule {\n static forRoot(options: AWBOptions = {}): ModuleWithProviders {\n return {\n ngModule: WebBluetoothModule,\n providers: [\n BluetoothCore,\n {\n provide: BrowserWebBluetooth,\n useFactory: browserWebBluetooth\n },\n {\n provide: makeMeTokenInjector,\n useValue: options\n },\n {\n provide: ConsoleLoggerService,\n useFactory: consoleLoggerServiceConfig,\n deps: [makeMeTokenInjector]\n }\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/app.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ble-root\n \n\n\n\n\n\n \n template\n \n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n \n import { Component } from '@angular/core';\n\n@Component({\n selector: 'ble-root',\n template: `\n \n `\n})\nexport class AppComponent {}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n Declarations\n\n Module\n\n Bootstrap\n\n Providers\n\n Exports\n\ncluster_AppModule\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_bootstrap\n\n\n\ncluster_AppModule_declarations\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nBatteryLevelComponent\n\nBatteryLevelComponent\n\nAppModule -->\n\nBatteryLevelComponent->AppModule\n\n\n\n\n\nDashboardComponent\n\nDashboardComponent\n\nAppModule -->\n\nDashboardComponent->AppModule\n\n\n\n\n\nHumidityComponent\n\nHumidityComponent\n\nAppModule -->\n\nHumidityComponent->AppModule\n\n\n\n\n\nStepCounterComponent\n\nStepCounterComponent\n\nAppModule -->\n\nStepCounterComponent->AppModule\n\n\n\n\n\nTemperatureComponent\n\nTemperatureComponent\n\nAppModule -->\n\nTemperatureComponent->AppModule\n\n\n\n\n\nAppComponent \n\nAppComponent \n\nAppComponent -->\n\nAppModule->AppComponent \n\n\n\n\n\nWebBluetoothModule\n\nWebBluetoothModule\n\nAppModule -->\n\nWebBluetoothModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n BatteryLevelComponent\n \n \n DashboardComponent\n \n \n HumidityComponent\n \n \n StepCounterComponent\n \n \n TemperatureComponent\n \n \n \n \n Imports\n \n \n WebBluetoothModule\n \n \n \n \n Bootstrap\n \n \n AppComponent\n \n \n \n \n \n\n\n \n\n\n \n import { LayoutModule } from '@angular/cdk/layout';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatToolbarModule } from '@angular/material/toolbar';\n\nimport { WebBluetoothModule } from '@manekinekko/angular-web-bluetooth';\nimport { AppComponent } from './app.component';\nimport { BatteryLevelComponent } from './thingy52/battery-level.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { HumidityComponent } from './thingy52/humidity.component';\nimport { StepCounterComponent } from './thingy52/stepcounter.component';\nimport { TemperatureComponent } from './thingy52/temperature.component';\nimport { BrowserModule } from '@angular/platform-browser';\n\n@NgModule({\n declarations: [\n AppComponent,\n BatteryLevelComponent,\n TemperatureComponent,\n HumidityComponent,\n StepCounterComponent,\n DashboardComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n WebBluetoothModule.forRoot({\n enableTracing: true\n }),\n LayoutModule,\n MatToolbarModule,\n MatButtonModule,\n MatIconModule,\n MatListModule,\n MatExpansionModule,\n MatSnackBarModule,\n MatProgressSpinnerModule,\n MatGridListModule,\n MatCardModule,\n MatMenuModule\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AppPage.html":{"url":"classes/AppPage.html","title":"class - AppPage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AppPage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n e2e/src/app.po.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getTitleText\n \n \n navigateTo\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getTitleText\n \n \n \n \n \n \ngetTitleText()\n \n \n\n\n \n \n Defined in e2e/src/app.po.ts:8\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n navigateTo\n \n \n \n \n \n \nnavigateTo()\n \n \n\n\n \n \n Defined in e2e/src/app.po.ts:4\n \n \n\n\n \n \n\n \n Returns : Promise<>\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { browser, by, element } from 'protractor';\n\nexport class AppPage {\n navigateTo(): Promise {\n return browser.get(browser.baseUrl) as Promise;\n }\n\n getTitleText(): Promise {\n return element(by.css('app-root .content span')).getText() as Promise;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/BatteryLevelComponent.html":{"url":"components/BatteryLevelComponent.html","title":"component - BatteryLevelComponent","body":"\n \n\n\n\n\n\n Components\n \n BatteryLevelComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/battery-level.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-battery-level\n \n\n\n\n\n \n styles\n \n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n \n \n\n \n template\n {{ value || '000' }}%\n\n\nbattery_charging_full\n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n color\n \n \n Public\n console\n \n \n deviceSubscription\n \n \n mode\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n value\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n getDeviceStatus\n \n \n hasError\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar, console: ConsoleLoggerService)\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:85\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n console\n \n \n ConsoleLoggerService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:162\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getDeviceStatus\n \n \n \n \n \n \ngetDeviceStatus()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:116\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:168\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:172\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:99\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:131\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:144\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'primary'\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n console\n \n \n \n \n \n \n Type : ConsoleLoggerService\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n deviceSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n mode\n \n \n \n \n \n \n Type : ProgressSpinnerMode\n\n \n \n \n \n Default value : 'determinate'\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:80\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:79\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:83\n \n \n\n \n \n\n\n\n\n \n import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n BluetoothCore,\n BrowserWebBluetooth,\n ConsoleLoggerService,\n} from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { BleService } from '../ble.service';\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n];\n\n@Component({\n selector: 'ble-battery-level',\n template: `\n {{ value || '000' }}%\n \n \n battery_charging_full\n `,\n styles: [\n `\n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n `,\n ],\n providers: PROVIDERS,\n})\nexport class BatteryLevelComponent implements OnInit, OnDestroy {\n value = 0;\n mode: ProgressSpinnerMode = 'determinate';\n color = 'primary';\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n deviceSubscription: Subscription | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar,\n public console: ConsoleLoggerService\n ) {\n service.config({\n decoder: (value: DataView) => value.getInt8(0),\n service: 'battery_service',\n characteristic: 'battery_level',\n });\n }\n\n ngOnInit() {\n this.getDeviceStatus();\n\n this.streamSubscription = this.service.stream().subscribe(\n (\n value:\n | number\n | {\n [key: string]: number;\n }\n ) => {\n this.updateValue(value);\n },\n (error) => this.hasError(error)\n );\n }\n\n getDeviceStatus() {\n this.deviceSubscription = this.service.getDevice().subscribe((device) => {\n if (device) {\n this.color = 'warn';\n this.mode = 'indeterminate';\n this.value = 0;\n } else {\n // device not connected or disconnected\n this.value = 0;\n this.mode = 'determinate';\n this.color = 'primary';\n }\n }, this.hasError.bind(this));\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value().subscribe({\n next: (\n val:\n | number\n | {\n [key: string]: number;\n }\n ) => this.updateValue(val),\n error: (err) => this.hasError(err),\n });\n }\n\n updateValue(\n value:\n | number\n | {\n [key: string]: number;\n }\n ) {\n\n if (typeof value === 'number') {\n this.value = value;\n } else {\n this.value = value[''];\n }\n\n this.console.log('Reading battery level %d', value);\n this.mode = 'determinate';\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.deviceSubscription!.unsubscribe();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription?.unsubscribe();\n this.deviceSubscription?.unsubscribe();\n this.streamSubscription?.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n \n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ value || \\'000\\' }}%battery_charging_full'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'BatteryLevelComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BleService.html":{"url":"injectables/BleService.html","title":"injectable - BleService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BleService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n src/app/ble.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _config\n \n \n Public\n ble\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n config\n \n \n disconnectDevice\n \n \n getDevice\n \n \n stream\n \n \n value\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ble: BluetoothCore)\n \n \n \n \n Defined in src/app/ble.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ble\n \n \n BluetoothCore\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \nconfig(options: ServiceOptions)\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n ServiceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n disconnectDevice\n \n \n \n \n \n \ndisconnectDevice()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:47\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getDevice\n \n \n \n \n \n \ngetDevice()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:25\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n stream\n \n \n \n \n \n \nstream()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:29\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \nvalue()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:36\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _config\n \n \n \n \n \n \n Type : ServiceOptions\n\n \n \n \n \n Default value : {} as any\n \n \n \n \n Defined in src/app/ble.service.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n ble\n \n \n \n \n \n \n Type : BluetoothCore\n\n \n \n \n \n Defined in src/app/ble.service.ts:19\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\nimport { map, tap } from 'rxjs/operators';\n\ntype ServiceOptions = {\n characteristic: string;\n service: string,\n decoder(value: DataView): number\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BleService {\n\n // tslint:disable-next-line: variable-name\n private _config: ServiceOptions = {} as any;\n\n constructor(public ble: BluetoothCore) {}\n\n config(options: ServiceOptions) {\n this._config = options;\n }\n\n getDevice() {\n return this.ble.getDevice$();\n }\n\n stream() {\n return this.ble.streamValues$().pipe(\n tap(value => console.log(value)),\n map(this._config.decoder)\n );\n }\n\n value() {\n return this.ble\n .value$({\n service: this._config.service,\n characteristic: this._config.characteristic\n })\n .pipe(\n map(this._config.decoder)\n );\n }\n\n disconnectDevice() {\n this.ble.disconnectDevice();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BrowserWebBluetooth.html":{"url":"injectables/BrowserWebBluetooth.html","title":"injectable - BrowserWebBluetooth","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BrowserWebBluetooth\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n ble\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n requestDevice\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:5\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n requestDevice\n \n \n \n \n \n \nrequestDevice(options: RequestDeviceOptions)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RequestDeviceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n ble\n \n \n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:5\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BrowserWebBluetooth {\n private ble;\n\n constructor() {\n this.ble = navigator.bluetooth;\n if (!this.ble) {\n throw new Error('Your browser does not support Smart Bluetooth. See http://caniuse.com/#search=Bluetooth for more details.');\n }\n }\n\n requestDevice(options: RequestDeviceOptions): Promise {\n return this.ble.requestDevice(options);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsoleLoggerService.html":{"url":"injectables/ConsoleLoggerService.html","title":"injectable - ConsoleLoggerService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConsoleLoggerService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n error\n \n \n log\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DashboardComponent.html":{"url":"components/DashboardComponent.html","title":"component - DashboardComponent","body":"\n \n\n\n\n\n\n Components\n \n DashboardComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/dashboard/dashboard.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ble-dashboard\n \n\n\n\n \n styleUrls\n ./dashboard.component.css\n \n\n\n\n \n templateUrl\n ./dashboard.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in src/app/dashboard/dashboard.component.ts:8\n \n \n\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n import { Component } from '@angular/core';\n\n@Component({\n selector: 'ble-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.css'],\n})\nexport class DashboardComponent {\n\n constructor() {}\n}\n\n \n\n \n \n \n Angular Web BLE Demo\n\n\n\n \n\n \n\n \n \n \n \n Battery Level\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Humidity Level\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Temperature\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Stepper\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n\n \n\n \n \n ./dashboard.component.css\n \n section {\n padding: 40px;\n max-width: 700px;\n margin: 0 auto;\n}\n\n.mat-toolbar.mat-primary {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.grid-container {\n margin: 20px;\n}\n\n.dashboard-card {\n position: absolute;\n top: 15px;\n left: 15px;\n right: 15px;\n bottom: 15px;\n}\n\n.more-button {\n position: absolute;\n top: 5px;\n right: 10px;\n}\n\n.dashboard-card-content {\n text-align: center;\n}\n\n\nimg {\n width: 32px;\n margin: 0 10px;\n}\n\n.mat-icon {\n margin: 0 10px 0 0;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Angular Web BLE Demo Battery Level more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Humidity Level more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Temperature more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Stepper more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DashboardComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothDevice.html":{"url":"classes/FakeBluetoothDevice.html","title":"class - FakeBluetoothDevice","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothDevice\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n gatt\n \n \n Public\n id\n \n \n Private\n listeners\n \n \n Public\n name\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEventListener\n \n \n clear\n \n \n disconnect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, name: string)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n gatt\n \n \n \n \n \n \n Type : BluetoothRemoteGATTServer | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listeners\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n gattserverdisconnected: []\n }\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:14\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEventListener\n \n \n \n \n \n \naddEventListener(type: string, listener: EventListener)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n listener\n \n EventListener\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:29\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:24\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{"url":"classes/FakeBluetoothRemoteGATTCharacteristic.html","title":"class - FakeBluetoothRemoteGATTCharacteristic","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTCharacteristic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n initialValue\n \n \n Private\n listeners\n \n \n properties\n \n \n value\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEventListener\n \n \n changeValue\n \n \n clear\n \n \n readValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:78\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n \n BluetoothCharacteristicProperties\n \n \n \n No\n \n \n \n \n initialValue\n \n \n DataView\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n initialValue\n \n \n \n \n \n \n Type : DataView | undefined\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listeners\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n characteristicvaluechanged: []\n }\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n properties\n \n \n \n \n \n \n Type : BluetoothCharacteristicProperties\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : DataView | undefined\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:71\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEventListener\n \n \n \n \n \n \naddEventListener(type: string, listener: EventListener)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n listener\n \n EventListener\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n changeValue\n \n \n \n \n \n \nchangeValue(value: DataView)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n DataView\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:103\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n readValue\n \n \n \n \n \n \nreadValue()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:86\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTServer.html":{"url":"classes/FakeBluetoothRemoteGATTServer.html","title":"class - FakeBluetoothRemoteGATTServer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTServer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n connected\n \n \n Public\n device\n \n \n Public\n services\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n disconnect\n \n \n getPrimaryService\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(device: any, services: literal type)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n device\n \n \n any\n \n \n \n No\n \n \n \n \n services\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n connected\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n device\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n services\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:45\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:54\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getPrimaryService\n \n \n \n \n \n \ngetPrimaryService(service: BluetoothServiceUUID)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n BluetoothServiceUUID\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTService.html":{"url":"classes/FakeBluetoothRemoteGATTService.html","title":"class - FakeBluetoothRemoteGATTService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n characteristics\n \n \n Public\n device\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getCharacteristic\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(device: any, characteristics: any)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n device\n \n \n any\n \n \n \n No\n \n \n \n \n characteristics\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n characteristics\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n device\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:61\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getCharacteristic\n \n \n \n \n \n \ngetCharacteristic(characteristic: BluetoothCharacteristicUUID)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n characteristic\n \n BluetoothCharacteristicUUID\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HumidityComponent.html":{"url":"components/HumidityComponent.html","title":"component - HumidityComponent","body":"\n \n\n\n\n\n\n Components\n \n HumidityComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/humidity.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-humidity\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n\n \n template\n \n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n chart\n \n \n \n chartRef\n \n \n series\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n initChart\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:48\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:101\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initChart\n \n \n \n \n \n \ninitChart()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:71\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:112\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:61\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:81\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n chart\n \n \n \n \n \n \n Type : SmoothieChart | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n chartRef\n \n \n \n \n \n \n Type : ElementRef | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Decorators : \n \n \n @ViewChild('chart', {static: true})\n \n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n series\n \n \n \n \n \n \n Type : TimeSeries | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:40\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:46\n \n \n\n \n \n\n\n\n\n \n import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BluetoothCore, BrowserWebBluetooth, ConsoleLoggerService } from '@manekinekko/angular-web-bluetooth';\nimport { of, Subscription } from 'rxjs';\nimport { SmoothieChart, TimeSeries } from 'smoothie';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}];\n\n@Component({\n selector: 'ble-humidity',\n template: `\n \n `,\n styles: [`\n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }`],\n providers: PROVIDERS\n})\nexport class HumidityComponent implements OnInit, OnDestroy {\n series: TimeSeries | null = null;\n chart: SmoothieChart | null = null;\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n\n @ViewChild('chart', { static: true })\n chartRef: ElementRef | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar) {\n\n service.config({\n decoder: (value: DataView) => value.getInt8(0),\n service: 'ef680200-9b35-4933-9b10-52ffa9740042',\n characteristic: 'ef680203-9b35-4933-9b10-52ffa9740042'\n });\n }\n\n ngOnInit() {\n this.initChart();\n\n this.streamSubscription = this.service.stream()\n .subscribe({\n next: (val: number | { [key: string]: number; }) => this.updateValue(val),\n error: (err) => this.hasError(err)\n });\n }\n\n initChart() {\n this.series = new window.TimeSeries() as TimeSeries;\n const canvas = this.chartRef!.nativeElement;\n // tslint:disable-next-line: max-line-length\n this.chart = new window.SmoothieChart({ interpolation: 'step', grid: { fillStyle: '#ffffff', strokeStyle: 'rgba(119,119,119,0.18)', borderVisible: false }, labels: { fillStyle: '#000000', fontSize: 17 }, tooltip: true });\n this.chart!.addTimeSeries(this.series, { lineWidth: 1, strokeStyle: '#ff0000', fillStyle: 'rgba(255,161,161,0.30)' });\n this.chart!.streamTo(canvas);\n this.chart!.stop();\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value()\n .subscribe(\n () => null,\n () => of(this.hasError.bind(this)),\n );\n }\n\n\n updateValue(value: number | { [key: string]: number; }) {\n console.log('Reading humidity %d', value);\n\n if (typeof value === 'number') {\n this.series!.append(Date.now(), value);\n this.chart!.start();\n }\n\n }\n\n\n disconnect() {\n this.service.disconnectDevice();\n this.series!.clear();\n this.chart!.stop();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HumidityComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Logger.html":{"url":"interfaces/Logger.html","title":"interface - Logger","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Logger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n log\n \n \n \n \n warn\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NoLoggerService.html":{"url":"injectables/NoLoggerService.html","title":"injectable - NoLoggerService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NoLoggerService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n error\n \n \n log\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ServerWebBluetooth.html":{"url":"injectables/ServerWebBluetooth.html","title":"injectable - ServerWebBluetooth","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ServerWebBluetooth\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n instance\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n instance\n \n \n \n \n \n \n \n instance()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts:5\n \n \n\n\n \n \n\n \n Returns : {}\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ServerWebBluetooth {\n static instance() {\n // mocked object for now\n return {};\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StepCounterComponent.html":{"url":"components/StepCounterComponent.html","title":"component - StepCounterComponent","body":"\n \n\n\n\n\n\n Components\n \n StepCounterComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/stepcounter.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-stepcounter\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }\n \n\n \n template\n {{ value || \"000\" }}\ndirections_walk\n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n value\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:55\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:90\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:99\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:72\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:80\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number)\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:49\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:53\n \n \n\n \n \n\n\n\n\n \n import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BluetoothCore, BrowserWebBluetooth, ConsoleLoggerService } from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}];\n\n@Component({\n selector: 'ble-stepcounter',\n template: `\n {{ value || \"000\" }}\n directions_walk\n `,\n styles: [`\n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }`],\n providers: PROVIDERS\n})\nexport class StepCounterComponent implements OnInit, OnDestroy {\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n value = 0;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar) {\n\n service.config({\n decoder: (value: DataView) => {\n const count = value.getUint32(0, true);\n const time = value.getUint32(4, true);\n return count;\n },\n service: 'ef680400-9b35-4933-9b10-52ffa9740042',\n characteristic: 'ef680405-9b35-4933-9b10-52ffa9740042'\n });\n }\n\n ngOnInit() {\n this.streamSubscription = this.service.stream()\n .subscribe({\n next: (val: number) => this.updateValue(val),\n error: (err) => this.hasError(err)\n });\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value()\n .subscribe(() => null, error => this.hasError.bind(this));\n }\n\n updateValue(value: number) {\n console.log('Reading step counter %d', value);\n this.value = value;\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n\n\n \n\n\n \n \n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ value || \"000\" }}directions_walk'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StepCounterComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TemperatureComponent.html":{"url":"components/TemperatureComponent.html","title":"component - TemperatureComponent","body":"\n \n\n\n\n\n\n Components\n \n TemperatureComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/temperature.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-temperature\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n \n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n chart\n \n \n \n chartRef\n \n \n series\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n initChart\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:62\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:126\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initChart\n \n \n \n \n \n \ninitChart()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:85\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:137\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:76\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:110\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:117\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n chart\n \n \n \n \n \n \n Type : SmoothieChart | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n chartRef\n \n \n \n \n \n \n Type : ElementRef | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Decorators : \n \n \n @ViewChild('chart', {static: true})\n \n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n series\n \n \n \n \n \n \n Type : TimeSeries | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:54\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:60\n \n \n\n \n \n\n\n\n\n \n import {\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n BluetoothCore,\n BrowserWebBluetooth,\n ConsoleLoggerService,\n} from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { SmoothieChart, TimeSeries } from 'smoothie';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n];\n\n@Component({\n selector: 'ble-temperature',\n template: ` `,\n styles: [\n `\n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n `,\n ],\n providers: PROVIDERS,\n})\nexport class TemperatureComponent implements OnInit, OnDestroy {\n series: TimeSeries | null = null;\n chart: SmoothieChart | null = null;\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n\n @ViewChild('chart', { static: true })\n chartRef: ElementRef | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(public service: BleService, public snackBar: MatSnackBar) {\n service.config({\n characteristic: 'ef680201-9b35-4933-9b10-52ffa9740042',\n service: 'ef680200-9b35-4933-9b10-52ffa9740042',\n decoder: (value: DataView) => {\n const integer = value.getInt8(0);\n const decimal = value.getUint8(1);\n return integer + decimal / 100;\n },\n });\n }\n\n ngOnInit() {\n this.initChart();\n\n this.streamSubscription = this.service.stream().subscribe({\n next: (val: number | { [key: string]: number; }) => this.updateValue(val),\n error: (err) => this.hasError(err),\n });\n }\n\n initChart() {\n this.series = new window.TimeSeries() as TimeSeries;\n const canvas = this.chartRef!.nativeElement;\n this.chart = new window.SmoothieChart({\n interpolation: 'step',\n grid: {\n fillStyle: '#ffffff',\n strokeStyle: 'rgba(119,119,119,0.18)',\n borderVisible: false,\n },\n labels: {\n fillStyle: '#000000',\n fontSize: 17,\n },\n tooltip: true,\n });\n this.chart!.addTimeSeries(this.series, {\n lineWidth: 1,\n strokeStyle: '#ff0000',\n fillStyle: 'rgba(255,161,161,0.30)',\n });\n this.chart!.streamTo(canvas);\n this.chart!.stop();\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value().subscribe(\n () => null,\n (error) => this.hasError.bind(this)\n );\n }\n\n updateValue(value: number | { [key: string]: number; }) {\n console.log('Reading temperature %d', value);\n\n if (typeof value === 'number') {\n this.series!.append(Date.now(), value);\n this.chart!.start();\n }\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.series!.clear();\n this.chart!.stop();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TemperatureComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/WebBluetoothModule.html":{"url":"modules/WebBluetoothModule.html","title":"module - WebBluetoothModule","body":"\n \n\n\n\n\n Modules\n WebBluetoothModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AWBOptions)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n options\n \n AWBOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : ModuleWithProviders\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { NgModule, ModuleWithProviders, InjectionToken, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BluetoothCore } from './bluetooth.service';\nimport { BrowserWebBluetooth } from './platform/browser';\n\nimport { ConsoleLoggerService, NoLoggerService } from './logger.service';\n\nexport interface AWBOptions {\n enableTracing?: boolean;\n}\n\nexport function browserWebBluetooth() {\n return new BrowserWebBluetooth();\n}\n\nexport function consoleLoggerServiceConfig(options: AWBOptions) {\n if (options && options.enableTracing) {\n return new ConsoleLoggerService();\n } else {\n return new NoLoggerService();\n }\n}\nexport function makeMeTokenInjector() {\n return new InjectionToken('AWBOptions');\n}\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class WebBluetoothModule {\n static forRoot(options: AWBOptions = {}): ModuleWithProviders {\n return {\n ngModule: WebBluetoothModule,\n providers: [\n BluetoothCore,\n {\n provide: BrowserWebBluetooth,\n useFactory: browserWebBluetooth\n },\n {\n provide: makeMeTokenInjector,\n useValue: options\n },\n {\n provide: ConsoleLoggerService,\n useFactory: consoleLoggerServiceConfig,\n deps: [makeMeTokenInjector]\n }\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n e2e/src/app.po.ts\n \n class\n AppPage\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n interface\n AWBOptions\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n browserWebBluetooth\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n consoleLoggerServiceConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n makeMeTokenInjector\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n injectable\n BluetoothCore\n \n 67 %\n (21/31)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n type alias\n ReadValueOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n variable\n TI_SENSORAG_SERVICES\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n variable\n TiTag\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n injectable\n ConsoleLoggerService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n injectable\n NoLoggerService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n interface\n Logger\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts\n \n injectable\n BrowserWebBluetooth\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts\n \n injectable\n ServerWebBluetooth\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothDevice\n \n 0 %\n (0/9)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTCharacteristic\n \n 0 %\n (0/10)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTServer\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTService\n \n 0 %\n (0/5)\n \n \n \n \n \n src/app/app.component.ts\n \n component\n AppComponent\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/ble.service.ts\n \n injectable\n BleService\n \n 0 %\n (0/9)\n \n \n \n \n \n src/app/ble.service.ts\n \n type alias\n ServiceOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/dashboard/dashboard.component.ts\n \n component\n DashboardComponent\n \n 0 %\n (0/2)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n component\n BatteryLevelComponent\n \n 0 %\n (0/18)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n component\n HumidityComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n component\n StepCounterComponent\n \n 0 %\n (0/13)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n component\n TemperatureComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/environments/environment.prod.ts\n \n variable\n environment\n \n 0 %\n (0/1)\n \n \n \n \n \n src/environments/environment.ts\n \n variable\n environment\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular/animations : ^17.1.3\n \n @angular/cdk : ^17.1.2\n \n @angular/common : ^17.1.3\n \n @angular/compiler : ^17.1.3\n \n @angular/core : ^17.1.3\n \n @angular/forms : ^17.1.3\n \n @angular/material : ^17.1.2\n \n @angular/platform-browser : ^17.1.3\n \n @angular/platform-browser-dynamic : ^17.1.3\n \n @angular/router : ^17.1.3\n \n @types/web-bluetooth : 0.0.6\n \n rxjs : ~7.8.0\n \n smoothie : ^1.35.0\n \n ts-jest : ^29.0.5\n \n tslib : ^2.3.0\n \n zone.js : ~0.14.3\n \n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n browserWebBluetooth (projects/.../bluetooth.module.ts)\n \n \n consoleLoggerServiceConfig (projects/.../bluetooth.module.ts)\n \n \n makeMeTokenInjector (projects/.../bluetooth.module.ts)\n \n \n \n \n \n \n\n\n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n \n \n \n \n \n \n browserWebBluetooth\n \n \n \n \n \n \nbrowserWebBluetooth()\n \n \n\n\n\n\n \n \n \n \n \n \n \n \n consoleLoggerServiceConfig\n \n \n \n \n \n \nconsoleLoggerServiceConfig(options: AWBOptions)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AWBOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n makeMeTokenInjector\n \n \n \n \n \n \nmakeMeTokenInjector()\n \n \n\n\n\n\n \n \n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\n\n \n\nThe missing Web Bluetooth module for Angular\n\n\nInstall\nExample :npm install -S @manekinekko/angular-web-bluetooth @types/web-bluetooth\nNote: Make also sure the @types/web-bluetooth is installed correctly in your node_modules.\n\nGetting started\n1) import the WebBluetoothModule module\nExample :import { NgModule } from '@angular/core';\nimport { WebBluetoothModule } from '@manekinekko/angular-web-bluetooth';\n\n@NgModule({\n imports: [\n //...,\n WebBluetoothModule.forRoot({\n enableTracing: true // or false, this will enable logs in the browser's console\n })\n ]\n //...\n})\nexport class AppModule {}2.a) use it in your service/component (the easiest way)\nHere is an annotated example using the BluetoothCore service:\nExample :import { Injectable } from '@angular/core';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BatteryLevelService {\n\n constructor(public readonly ble: BluetoothCore) {}\n\n getDevice() {\n // call this method to get the connected device\n return this.ble.getDevice$();\n }\n\n stream() {\n // call this method to get a stream of values emitted by the device for a given characteristic\n return this.ble.streamValues$().pipe(\n map((value: DataView) => value.getInt8(0))\n );\n }\n\n disconnectDevice() {\n // call this method to disconnect from the device. This method will also stop clear all subscribed notifications\n this.ble.disconnectDevice();\n }\n\n value() {\n console.log('Getting Battery level...');\n\n return this.ble\n .value$({\n service: 'battery_service',\n characteristic: 'battery_level'\n });\n }\n\n}2.b) use it in your service/component (the advanced way)\nHere is an annotated example using the BluetoothCore service:\nExample :import { Injectable } from '@angular/core';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BatteryLevelService {\n static GATT_CHARACTERISTIC_BATTERY_LEVEL = 'battery_level';\n static GATT_PRIMARY_SERVICE = 'battery_service';\n\n constructor(public ble: BluetoothCore) {}\n\n getDevice() {\n // call this method to get the connected device\n return this.ble.getDevice$();\n }\n\n stream() {\n // call this method to get a stream of values emitted by the device\n return this.ble.streamValues$().pipe(map((value: DataView) => value.getUint8(0)));\n }\n\n disconnectDevice() {\n this.ble.disconnectDevice();\n }\n\n /**\n * Get Battery Level GATT Characteristic value.\n * This logic is specific to this service, this is why we can't abstract it elsewhere.\n * The developer is free to provide any service, and characteristics they want.\n *\n * @return Emites the value of the requested service read from the device\n */\n value() {\n console.log('Getting Battery level...');\n\n return this.ble\n\n // 1) call the discover method will trigger the discovery process (by the browser)\n .discover$({\n acceptAllDevices: true,\n optionalServices: [BatteryLevelService.GATT_PRIMARY_SERVICE]\n })\n .pipe(\n\n // 2) get that service\n mergeMap((gatt: BluetoothRemoteGATTServer) => {\n return this.ble.getPrimaryService$(gatt, BatteryLevelService.GATT_PRIMARY_SERVICE);\n }),\n\n // 3) get a specific characteristic on that service\n mergeMap((primaryService: BluetoothRemoteGATTService) => {\n return this.ble.getCharacteristic$(primaryService, BatteryLevelService.GATT_CHARACTERISTIC_BATTERY_LEVEL);\n }),\n\n // 4) ask for the value of that characteristic (will return a DataView)\n mergeMap((characteristic: BluetoothRemoteGATTCharacteristic) => {\n return this.ble.readValue$(characteristic);\n }),\n\n // 5) on that DataView, get the right value\n map((value: DataView) => value.getUint8(0))\n )\n }\n}API documentation\nThe API documentation can be found here: https://manekinekko.github.io/angular-web-bluetooth/\nNeed a starter?\n\n\nThis project serves also as a starter. Run the following command:\nExample :npm startBlog post\nCheckout my full blog post on dev.to about how to use this package in your app.\nHave a PR?\nAll contributions are welcome. Here are few open issues that I need help with ;)\nLicense\nThe MIT License (MIT) Copyright (c) 2017 - Wassim CHEGHAM\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nThe MIT License (MIT) Copyright (c) 2017 - Wassim CHEGHAM\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n WebBluetoothModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n Declarations\n\n Module\n\n Bootstrap\n\n Providers\n\n Exports\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_bootstrap\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nBatteryLevelComponent\n\nBatteryLevelComponent\n\nAppModule -->\n\nBatteryLevelComponent->AppModule\n\n\n\n\n\nDashboardComponent\n\nDashboardComponent\n\nAppModule -->\n\nDashboardComponent->AppModule\n\n\n\n\n\nHumidityComponent\n\nHumidityComponent\n\nAppModule -->\n\nHumidityComponent->AppModule\n\n\n\n\n\nStepCounterComponent\n\nStepCounterComponent\n\nAppModule -->\n\nStepCounterComponent->AppModule\n\n\n\n\n\nTemperatureComponent\n\nTemperatureComponent\n\nAppModule -->\n\nTemperatureComponent->AppModule\n\n\n\n\n\nAppComponent \n\nAppComponent \n\nAppComponent -->\n\nAppModule->AppComponent \n\n\n\n\n\nWebBluetoothModule\n\nWebBluetoothModule\n\nAppModule -->\n\nWebBluetoothModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 2 Modules\n \n \n \n \n \n \n \n \n 6 Components\n \n \n \n \n \n \n \n 6 Injectables\n \n \n \n \n \n \n \n 5 Classes\n \n \n \n \n \n \n \n 2 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"properties.html":{"url":"properties.html","title":"package-properties - properties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Properties\n \n \n \n Version : 17.1.0\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n ReadValueOptions (projects/.../bluetooth.service.ts)\n \n \n ServiceOptions (src/.../ble.service.ts)\n \n \n \n \n \n \n\n\n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n \n \n \n \n \n ReadValueOptions\n \n \n \n \n literal type\n\n \n \n \n \n src/app/ble.service.ts\n \n \n \n \n \n \n ServiceOptions\n \n \n \n \n literal type\n\n \n \n \n \n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n bleCore (src/.../battery-level.component.ts)\n \n \n bleCore (src/.../humidity.component.ts)\n \n \n bleCore (src/.../stepcounter.component.ts)\n \n \n bleCore (src/.../temperature.component.ts)\n \n \n bleService (src/.../battery-level.component.ts)\n \n \n bleService (src/.../humidity.component.ts)\n \n \n bleService (src/.../stepcounter.component.ts)\n \n \n bleService (src/.../temperature.component.ts)\n \n \n environment (src/.../environment.prod.ts)\n \n \n environment (src/.../environment.ts)\n \n \n PROVIDERS (src/.../battery-level.component.ts)\n \n \n PROVIDERS (src/.../humidity.component.ts)\n \n \n PROVIDERS (src/.../stepcounter.component.ts)\n \n \n PROVIDERS (src/.../temperature.component.ts)\n \n \n TI_SENSORAG_SERVICES (projects/.../ti-sensortag2.ts)\n \n \n TiTag (projects/.../ti-sensortag2.ts)\n \n \n \n \n \n \n\n\n src/app/thingy52/battery-level.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n]\n \n \n\n\n \n \n\n src/app/thingy52/humidity.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}]\n \n \n\n\n \n \n\n src/app/thingy52/stepcounter.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}]\n \n \n\n\n \n \n\n src/app/thingy52/temperature.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n]\n \n \n\n\n \n \n\n src/environments/environment.prod.ts\n \n \n \n \n \n \n \n environment\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n production: true\n}\n \n \n\n\n \n \n\n src/environments/environment.ts\n \n \n \n \n \n \n \n environment\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n production: false\n}\n \n \n\n\n \n \n\n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n \n \n \n \n \n \n TI_SENSORAG_SERVICES\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : Object.keys(TiTag).map((key: string) => (TiTag as any)[key].SERVICE)\n \n \n\n\n \n \n \n \n \n \n \n \n TiTag\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n\n DEVICE_INFORMATION : {\n SERVICE : 'f000180a-0451-4000-b000-000000000000',\n SYSTEM_ID : 'f0002a23-0451-4000-b000-000000000000',\n MODEL_NUMBER : 'f0002a24-0451-4000-b000-000000000000',\n SERIAL_NUMBER : 'f0002a25-0451-4000-b000-000000000000',\n FIRMWARE_REV : 'f0002a26-0451-4000-b000-000000000000',\n HARDWARE_REV : 'f0002a27-0451-4000-b000-000000000000',\n SOFTWARE_REV : 'f0002a28-0451-4000-b000-000000000000',\n MANIFACTURER : 'f0002a29-0451-4000-b000-000000000000',\n IEEE11073 : 'f0002a2a-0451-4000-b000-000000000000',\n PNP_ID : 'f0002a50-0451-4000-b000-000000000000'\n },\n\n BATTERY : {\n SERVICE : 'f000180f-0451-4000-b000-000000000000',\n LEVEL : 'f0002a19-0451-4000-b000-000000000000'\n },\n\n TEMPERATURE : {\n SERVICE : 'f000aa00-0451-4000-b000-000000000000',\n DATA : 'f000aa01-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa02-0451-4000-b000-000000000000',\n PERIOD : 'f000aa03-0451-4000-b000-000000000000'\n },\n\n HUMIDITY : {\n SERVICE : 'f000aa20-0451-4000-b000-000000000000',\n DATA : 'f000aa21-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa22-0451-4000-b000-000000000000',\n PERIOD : 'f000aa23-0451-4000-b000-000000000000'\n },\n\n BAROMETER : {\n SERVICE : 'f000aa40-0451-4000-b000-000000000000',\n DATA : 'f000aa41-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa42-0451-4000-b000-000000000000',\n PERIOD : 'f000aa44-0451-4000-b000-000000000000'\n },\n\n // service not available in model CC2650\n // ACCELEROMETER : {\n // SERVICE : 'f000aa10-0451-4000-b000-000000000000',\n // DATA : 'f000aa11-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa12-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa13-0451-4000-b000-000000000000'\n // },\n\n // service not available in model CC2650\n // MAGNETOMETER : {\n // SERVICE : 'f000aa30-0451-4000-b000-000000000000',\n // DATA : 'f000aa31-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa32-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa33-0451-4000-b000-000000000000'\n // },\n\n // service not available in model CC2650\n // GYROSCOPE : {\n // SERVICE : 'f000aa50-0451-4000-b000-000000000000',\n // DATA : 'f000aa51-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa52-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa53-0451-4000-b000-000000000000'\n // },\n\n MOVEMENT : {\n SERVICE : 'f000aa80-0451-4000-b000-000000000000',\n DATA : 'f000aa81-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa82-0451-4000-b000-000000000000',\n PERIOD : 'f000aa83-0451-4000-b000-000000000000'\n },\n\n LIGHT : {\n SERVICE : 'f000aa70-0451-4000-b000-000000000000',\n DATA : 'f000aa71-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa72-0451-4000-b000-000000000000',\n PERIOD : 'f000aa73-0451-4000-b000-000000000000'\n },\n\n KEYPRESS : {\n SERVICE : 'f000ffe0-0451-4000-b000-000000000000',\n STATE : 'f000ffe1-0451-4000-b000-000000000000'\n },\n\n __REGISTER__ : {\n SERVICE : 'f000ac00-0451-4000-b000-000000000000',\n DATA : 'f000ac01-0451-4000-b000-000000000000',\n ADDRESS : 'f000ac02-0451-4000-b000-000000000000',\n DEVICE_ID : 'f000ac03-0451-4000-b000-000000000000'\n },\n\n CONTROL : {\n SERVICE : 'f000ccc0-0451-4000-b000-000000000000',\n CURRENT_USED_PARAMETERS : 'f000ccc1-0451-4000-b000-000000000000',\n REQUEST_NEW_PARAMETERS : 'f000ccc2-0451-4000-b000-000000000000',\n DISCONNECT_REQUEST : 'f000ccc3-0451-4000-b000-000000000000'\n },\n\n OAD : {\n SERVICE : 'f000ffc0-0451-4000-b000-000000000000',\n IMAGE_NOTIFY : 'f000ffc1-0451-4000-b000-000000000000',\n IMAGE_BLOCK_REQUEST : 'f000ffc2-0451-4000-b000-000000000000',\n IMAGE_COUNT : 'f000ffc3-0451-4000-b000-000000000000',\n IMAGE_STATUS : 'f000ffc4-0451-4000-b000-000000000000'\n },\n\n IO : {\n SERVICE : 'f000aa64-0451-4000-b000-000000000000',\n DATA : 'f000aa65-0451-4000-b000-000000000000',\n CONFIG : 'f000aa66-0451-4000-b000-000000000000'\n }\n}\n \n \n\n\n \n \n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}}
+ "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AWBOptions.html",[0,1.352,1,1.806]],["body/interfaces/AWBOptions.html",[0,1.57,1,3.162,2,2.647,3,0.502,4,0.502,5,0.444,6,0.841,7,0.336,8,2.342,9,0.444,10,1.3,11,1.092,12,3.529,13,2.704,14,0.563,15,0.035,16,1.082,17,3.341,18,3.938,19,3.055,20,0.694,21,3.938,22,2.647,23,1.693,24,3.055,25,1.877,26,3.055,27,1.572,28,2.22,29,3.055,30,0.692,31,3.776,32,1.312,33,2.163,34,2.647,35,2.705,36,3.055,37,3.341,38,3.055,39,2.342,40,0.145,41,2.22,42,1.896,43,3.055,44,1.314,45,2.24,46,2.22,47,3.055,48,2.342,49,1.722,50,0.025,51,0.025]],["title/components/AppComponent.html",[52,0.868,53,1.131]],["body/components/AppComponent.html",[3,0.564,4,0.564,5,0.499,15,0.034,16,0.78,20,0.78,30,0.499,40,0.164,50,0.027,51,0.027,52,1.519,53,2.066,54,2.39,55,2.132,56,2.132,57,3.436,58,2.132,59,3.193,60,2.417,61,2.39,62,2.632,63,2.132,64,1.24,65,1.766,66,2.632,67,2.39,68,2.132,69,2.981,70,2.132,71,0.963,72,2.132,73,1.478,74,1.766,75,2.132,76,1.478,77,2.132,78,1.478,79,2.132,80,1.478,81,2.132,82,1.478,83,1.937,84,2.132,85,2.132]],["title/modules/AppModule.html",[86,1.806,87,1.806]],["body/modules/AppModule.html",[3,0.422,4,0.422,5,0.374,7,0.283,12,1.972,15,0.035,16,1.192,17,2.693,20,0.584,30,0.374,39,2.693,40,0.122,41,2.537,44,1.106,50,0.023,51,0.023,53,2.173,65,1.322,73,1.998,76,1.998,78,1.998,80,1.998,82,1.998,86,1.767,87,3.587,88,1.767,89,1.972,90,4.001,91,4.001,92,2.572,93,2.572,94,2.572,95,2.572,96,2.572,97,3.513,98,2.572,99,1.972,100,3.094,101,4.226,102,3.094,103,4.226,104,3.094,105,4.226,106,3.513,107,3.094,108,4.226,109,3.094,110,4.226,111,3.094,112,4.226,113,3.094,114,3.094,115,4.226,116,3.094,117,4.226,118,3.094,119,4.226,120,3.094,121,4.226,122,2.572,123,2.572,124,4.226,125,1.767,126,1.767,127,4.226,128,3.094,129,1.45,130,1.208,131,3.094,132,3.094,133,3.094,134,3.094,135,3.094,136,3.094,137,3.094,138,4.226,139,1.596,140,2.572,141,1.106]],["title/classes/AppPage.html",[40,0.125,142,2.279]],["body/classes/AppPage.html",[3,0.602,4,0.602,5,0.533,9,0.533,15,0.034,16,0.832,30,0.533,32,1.214,40,0.174,50,0.028,51,0.028,61,2.065,67,2.065,139,2.274,142,3.821,143,2.274,144,3.664,145,1.105,146,5.907,147,5.907,148,1.002,149,4.408,150,1.105,151,5.104,152,4.408,153,4.408,154,4.408,155,4.408,156,3.175,157,4.408]],["title/components/BatteryLevelComponent.html",[52,0.868,73,1.131]],["body/components/BatteryLevelComponent.html",[3,0.219,4,0.219,5,0.194,7,0.147,9,0.194,10,0.711,11,0.677,14,0.833,15,0.035,16,0.825,20,0.303,23,1.333,25,1.065,27,1.378,30,0.393,32,0.368,33,1.011,40,0.064,44,1.462,45,1.106,46,1.213,49,1.213,50,0.014,51,0.014,52,0.893,53,0.574,54,1.213,55,0.829,56,0.829,58,0.829,59,2.466,60,1.867,62,1.335,63,0.829,64,0.482,65,0.686,66,1.335,67,1.213,68,0.829,69,1.923,70,0.829,71,0.772,72,0.829,73,1.333,74,1.593,75,0.829,76,0.574,77,0.829,78,0.574,79,0.829,80,0.574,81,0.829,82,0.574,83,0.753,84,0.829,85,0.829,122,1.336,123,3.1,125,0.917,126,0.917,129,0.753,130,0.627,145,0.539,148,1.071,150,0.957,156,2.342,158,1.857,159,4.117,160,1.157,161,1.213,162,2.072,163,2.072,164,2.072,165,2.072,166,2.785,167,4.37,168,3.252,169,3.555,170,3.252,171,3.252,172,3.148,173,3.148,174,2.703,175,3.633,176,3.633,177,2.703,178,3.148,179,3.148,180,3.148,181,3.252,182,2.342,183,2.703,184,2.072,185,3.252,186,3.252,187,3.148,188,3.252,189,3.252,190,1.857,191,2.703,192,2.342,193,2.703,194,3.252,195,1.726,196,2.703,197,3.252,198,3.252,199,1.928,200,3.399,201,3.252,202,3.252,203,1.431,204,2.606,205,2.072,206,2.072,207,1.333,208,3.729,209,1.65,210,2.376,211,2.376,212,2.376,213,2.072,214,1.65,215,1.597,216,0.848,217,1.024,218,2.043,219,2.606,220,1.606,221,0.744,222,1.606,223,1.505,224,1.606,225,1.65,226,1.262,227,1.606,228,1.524,229,1.606,230,1.606,231,1.606,232,1.024,233,2.894,234,1.213,235,1.606,236,1.562,237,1.677,238,1.606,239,1.606,240,2.929,241,2.255,242,1.606,243,3.252,244,3.729,245,1.606,246,1.606,247,1.606,248,1.606,249,2.376,250,1.606,251,1.606,252,0.829,253,1.606,254,0.917,255,1.024,256,1.389,257,1.335,258,1.478,259,1.478,260,0.917,261,0.917,262,0.917,263,0.917,264,1.024,265,0.917,266,1.024,267,1.024,268,1.024,269,1.024,270,0.574,271,1.024,272,1.336,273,0.753,274,1.336,275,1.606,276,1.024,277,1.336,278,1.524,279,1.606,280,1.606,281,1.606,282,1.606,283,2.589,284,1.024,285,3.252,286,1.606,287,1.923,288,0.829,289,1.606,290,1.157,291,1.024,292,1.336,293,0.917,294,1.024,295,1.024,296,1.024,297,1.024,298,1.157,299,1.606,300,1.024,301,1.024,302,1.606,303,1.024,304,1.024,305,1.024,306,1.606,307,1.606,308,1.606]],["title/injectables/BleService.html",[218,1.352,309,0.868]],["body/injectables/BleService.html",[3,0.459,4,0.459,5,0.406,7,0.308,9,0.406,10,1.227,11,0.931,14,0.853,15,0.035,16,0.948,20,0.635,23,1.991,30,0.406,32,1.149,35,2.552,40,0.133,50,0.024,51,0.024,60,2.089,61,1.576,71,0.948,129,1.576,130,1.313,145,0.931,148,1.12,150,1.16,195,1.717,199,1.745,203,1.463,216,1.101,218,1.91,221,1.023,223,1.463,226,1.227,233,1.92,236,1.202,252,2.76,270,1.202,273,2.094,293,1.92,309,1.227,310,1.735,311,2.422,312,2.59,313,5.02,314,3.716,315,4.448,316,4.448,317,3.363,318,4.47,319,4.47,320,4.124,321,3.363,322,3.363,323,3.363,324,3.363,325,3.363,326,3.363,327,2.796,328,3.363,329,2.796,330,3.363,331,1.92,332,2.796,333,2.796,334,2.796,335,1.576,336,3.363,337,2.796,338,2.796,339,3.363,340,3.363,341,4.47,342,2.422,343,3.363,344,3.363,345,2.796,346,2.796]],["title/injectables/BrowserWebBluetooth.html",[25,1.036,309,0.868]],["body/injectables/BrowserWebBluetooth.html",[3,0.559,4,0.559,5,0.495,6,1.318,7,0.527,9,0.495,10,1.393,11,0.853,14,0.627,15,0.034,16,0.773,20,0.773,25,1.661,30,0.495,32,0.938,33,1.6,35,2.339,40,0.162,50,0.027,51,0.027,60,2.153,71,0.773,130,1.6,139,2.113,145,1.057,148,1.041,150,0.853,151,4.218,216,1.805,221,0.938,309,1.393,310,2.113,312,2.843,342,3.654,347,3.406,348,5.074,349,5.074,350,5.074,351,5.512,352,4.097,353,4.097,354,4.097,355,4.097,356,3.406,357,4.097,358,4.097,359,4.097,360,3.406,361,4.097,362,4.097]],["title/injectables/ConsoleLoggerService.html",[27,0.949,309,0.868]],["body/injectables/ConsoleLoggerService.html",[0,1.622,3,0.518,4,0.518,5,0.459,6,1.283,7,0.513,9,0.459,11,1.108,14,0.815,15,0.035,16,0.717,20,0.717,27,1.45,28,1.778,30,0.643,40,0.191,50,0.026,51,0.026,61,2.266,71,1.005,145,1.007,148,1.005,150,1.108,161,2.266,221,1.218,223,1.938,226,1.461,228,2.266,284,3.082,309,1.461,310,1.958,331,2.761,363,2.419,364,3.483,365,3.833,366,3.795,367,4.262,368,3.833,369,3.795,370,3.833,371,3.795,372,3.039,373,2.734,374,2.734,375,2.734,376,2.734,377,2.734,378,2.734]],["title/components/DashboardComponent.html",[52,0.868,76,1.131]],["body/components/DashboardComponent.html",[3,0.405,4,0.405,5,0.358,7,0.375,9,0.358,15,0.035,16,0.56,20,0.56,30,0.358,40,0.117,50,0.022,51,0.022,52,1.292,53,1.06,54,1.923,55,1.53,56,1.53,58,1.53,59,2.973,60,2.313,62,1.53,63,1.53,64,0.889,65,1.267,66,2.117,67,1.923,68,1.53,69,2.62,70,1.53,71,0.775,72,1.53,73,1.06,74,2.011,75,1.53,76,1.816,77,1.53,78,1.06,79,1.53,80,1.06,81,1.53,82,1.06,83,2.205,84,1.53,85,1.53,148,0.56,156,2.136,158,1.693,164,3.237,169,2.136,172,2.136,173,2.136,178,3.39,179,2.956,180,3.39,182,2.956,187,2.956,190,1.693,191,2.465,192,2.136,193,2.465,207,2.061,216,1.541,237,1.53,249,3.515,360,2.465,379,2.465,380,5.08,381,4.104,382,4.707,383,4.104,384,4.104,385,2.966,386,3.412,387,4.104,388,5.764,389,5.764,390,3.291,391,5.764,392,5.764,393,2.956,394,4.104,395,2.966,396,2.966,397,2.966,398,2.465,399,2.966,400,3.658,401,2.966,402,2.966,403,2.966,404,2.966,405,1.89,406,2.136,407,2.966,408,2.966,409,4.104,410,5.08,411,3.412,412,2.966,413,4.707,414,2.966,415,2.966]],["title/classes/FakeBluetoothDevice.html",[40,0.125,416,1.632]],["body/classes/FakeBluetoothDevice.html",[3,0.352,4,0.352,5,0.311,6,1.296,7,0.518,9,0.311,10,1.309,11,0.773,13,1.328,14,0.851,15,0.035,30,0.576,32,1.092,40,0.189,50,0.02,51,0.02,64,1.114,71,1.025,141,0.921,143,1.328,145,0.773,148,1.05,150,0.907,195,1.43,199,2.121,203,0.843,207,1.808,215,1.451,216,0.843,221,0.85,223,1.427,226,1.654,234,1.207,236,1.328,237,1.328,241,2.038,256,1.587,270,1.705,278,2.042,287,2.248,288,1.328,312,2.609,335,2.042,390,1.47,416,1.916,417,1.47,418,2.488,419,3.04,420,3.04,421,3.088,422,2.888,423,2.575,424,2.575,425,2.121,426,2.575,427,3.715,428,2.777,429,2.575,430,2.777,431,3.358,432,3.358,433,2.575,434,2.575,435,2.575,436,3.04,437,2.367,438,2.367,439,2.367,440,1.641,441,2.367,442,1.916,443,1.641,444,1.641,445,2.367,446,1.328,447,1.641,448,1.641,449,2.367,450,1.641,451,1.641,452,1.641,453,1.641,454,1.641,455,1.328,456,1.47,457,1.641,458,1.641,459,1.641,460,1.641,461,1.328,462,2.367,463,2.367,464,1.47,465,3.04,466,2.367,467,1.641,468,1.641,469,2.367,470,1.641,471,1.641,472,1.641,473,1.641]],["title/classes/FakeBluetoothRemoteGATTCharacteristic.html",[40,0.125,461,1.632]],["body/classes/FakeBluetoothRemoteGATTCharacteristic.html",[3,0.344,4,0.344,5,0.304,6,1.31,7,0.523,9,0.304,10,1.481,11,0.896,13,1.299,14,0.862,15,0.035,30,0.57,32,1.081,40,0.187,50,0.02,51,0.02,64,1.096,71,0.891,141,0.901,143,1.299,145,0.761,148,1.064,150,0.983,195,1.568,199,1.681,203,0.825,207,1.307,215,1.428,216,0.825,221,0.985,223,1.409,226,1.546,234,1.18,236,0.901,237,1.299,241,1.562,256,1.562,270,2.045,278,2.016,287,2.22,288,1.299,312,2.783,335,2.016,390,1.438,416,1.299,417,1.438,418,1.438,419,1.605,420,3.009,421,3.039,422,2.863,425,1.438,428,2.33,430,2.742,431,3.332,432,3.332,436,3.009,437,2.33,438,2.33,439,2.33,440,1.605,441,2.33,442,1.886,443,1.605,444,1.605,445,2.33,446,1.299,447,1.605,448,1.605,449,2.33,450,1.605,451,1.605,452,1.605,453,1.605,454,1.605,455,1.299,456,1.438,457,1.605,458,1.605,459,1.605,460,1.605,461,1.886,462,3.009,463,3.195,464,2.457,465,3.522,466,2.742,467,2.33,468,1.605,469,2.33,470,3.009,471,1.605,472,2.33,473,1.605,474,3.656,475,2.519,476,2.519,477,2.519,478,2.519,479,2.519,480,2.519,481,2.519,482,2.519,483,2.519,484,2.519]],["title/classes/FakeBluetoothRemoteGATTServer.html",[40,0.125,446,1.632]],["body/classes/FakeBluetoothRemoteGATTServer.html",[3,0.367,4,0.367,5,0.325,6,1.287,7,0.514,9,0.325,10,1.335,11,0.797,13,1.386,14,0.842,15,0.035,30,0.588,32,1.113,40,0.192,50,0.021,51,0.021,64,1.338,71,0.842,141,0.96,143,1.386,145,0.797,148,1.038,150,0.929,195,1.338,199,2.148,203,1.254,207,1.838,215,2.008,216,0.88,221,0.876,223,0.88,226,1.51,234,2.091,236,0.96,237,1.386,241,1.636,256,1.636,270,1.739,278,2.091,287,2.302,288,2.302,312,2.302,335,2.091,390,2.777,416,1.386,417,1.534,418,1.534,419,1.712,420,2.44,422,2.186,425,1.534,428,2.44,430,2.44,431,3.099,432,3.099,436,3.099,437,2.44,438,2.44,439,2.44,440,1.712,441,2.44,442,1.975,443,1.712,444,1.712,445,2.44,446,1.975,447,3.276,448,1.712,449,2.44,450,1.712,451,2.44,452,2.843,453,1.712,454,1.712,455,1.386,456,1.534,457,1.712,458,1.712,459,1.712,460,1.712,461,1.386,462,2.44,463,2.44,464,1.534,465,3.099,466,2.44,467,1.712,468,1.712,469,2.44,470,1.712,471,1.712,472,1.712,473,1.712,485,3.829,486,2.234,487,3.829,488,3.829,489,2.687,490,2.687,491,2.687]],["title/classes/FakeBluetoothRemoteGATTService.html",[40,0.125,455,1.632]],["body/classes/FakeBluetoothRemoteGATTService.html",[3,0.386,4,0.386,5,0.342,6,1.2,7,0.479,9,0.342,10,1.366,11,0.827,13,1.46,14,0.762,15,0.035,30,0.601,32,1.139,40,0.197,50,0.021,51,0.021,64,1.191,71,0.867,141,1.012,143,1.46,145,0.827,148,0.94,150,0.589,195,1.191,199,2.18,203,0.927,207,1.42,215,2.047,216,0.927,221,0.909,226,1.532,237,1.46,241,1.697,256,1.697,270,1.779,273,1.326,278,2.151,287,2.368,288,1.46,312,2.368,335,2.151,390,1.616,416,1.46,417,1.616,418,1.616,419,1.803,420,2.532,422,2.268,425,1.616,428,2.532,430,2.532,431,3.172,432,3.172,436,3.172,437,2.532,438,2.532,439,2.532,440,1.803,441,2.532,442,2.049,443,1.803,444,1.803,445,2.532,446,1.46,447,1.803,448,1.803,449,2.532,450,1.803,451,1.803,452,1.803,453,1.803,454,1.803,455,2.049,456,2.993,457,1.803,458,2.532,459,2.925,460,1.803,461,1.46,462,2.532,463,2.532,464,1.616,465,3.172,466,2.532,467,1.803,468,1.803,469,2.532,470,1.803,471,1.803,472,1.803,473,1.803,486,2.353,492,3.973,493,2.83,494,3.973,495,2.83]],["title/components/HumidityComponent.html",[52,0.868,78,1.131]],["body/components/HumidityComponent.html",[3,0.26,4,0.26,5,0.23,7,0.174,9,0.23,10,0.812,11,0.756,14,0.844,15,0.035,16,0.888,20,0.359,23,1.465,25,1.19,27,1.09,30,0.439,32,0.435,33,1.601,40,0.075,42,1.527,44,1.587,45,1.265,46,1.387,49,1.387,50,0.016,51,0.016,52,0.997,53,0.68,54,1.387,55,0.981,56,0.981,58,0.981,59,2.618,60,1.982,62,1.527,63,0.981,64,0.888,65,0.813,66,1.527,67,1.387,68,0.981,69,2.114,70,0.981,71,0.838,72,0.981,73,0.68,74,0.813,75,0.981,76,0.68,77,0.981,78,1.465,79,0.981,80,0.68,81,0.981,82,0.68,83,0.892,84,0.981,85,0.981,125,1.086,126,1.086,129,0.892,130,0.743,141,1.299,145,0.616,148,1.088,150,1.022,158,2.074,161,1.387,162,2.315,163,2.315,165,2.315,166,2.315,184,2.315,190,2.074,195,1.598,199,1.836,203,1.54,204,2.83,205,2.315,206,2.315,207,1.465,209,1.886,210,2.612,211,2.612,212,2.612,213,1.886,214,1.886,215,1.419,216,0.969,217,1.212,218,2.168,219,2.83,221,0.831,223,1.607,225,1.886,226,1.219,228,1.387,232,1.886,233,2.803,234,1.387,236,1.587,240,2.83,241,2.544,252,0.981,254,1.086,255,1.212,256,1.751,257,1.527,258,1.69,259,1.69,260,1.086,261,1.086,262,1.086,263,1.086,264,1.212,265,1.086,266,1.212,267,1.212,268,1.212,269,1.212,270,0.68,271,1.212,273,0.892,276,1.212,278,1.387,291,1.212,293,1.69,294,1.212,295,1.212,296,1.212,297,1.212,298,1.37,300,1.212,301,1.212,303,1.886,304,1.212,305,1.212,332,1.582,333,2.461,393,2.617,398,1.582,400,2.617,405,1.212,406,1.37,496,1.37,497,3.408,498,3.02,499,3.02,500,3.02,501,3.02,502,3.408,503,1.903,504,1.903,505,1.903,506,1.903,507,1.903,508,1.903,509,1.903,510,1.903,511,3.02,512,1.903,513,3.02,514,1.582,515,2.461,516,1.903,517,3.408,518,1.903,519,1.903,520,1.903,521,1.903,522,1.903,523,1.903,524,1.582,525,1.37,526,1.582,527,2.132,528,2.132,529,2.132,530,2.132,531,1.903,532,1.582,533,1.582,534,2.461,535,1.582,536,1.582,537,1.582,538,1.903,539,1.582,540,1.582,541,1.582,542,1.37,543,3.02,544,1.582,545,2.461,546,1.582,547,1.582,548,1.582,549,1.582,550,1.582,551,1.582,552,1.582,553,1.582,554,1.582,555,1.582,556,1.582,557,1.582,558,2.461,559,1.582,560,1.903,561,1.37,562,1.582,563,1.582,564,1.582,565,1.37]],["title/interfaces/Logger.html",[0,1.352,372,1.806]],["body/interfaces/Logger.html",[0,1.602,2,2.701,3,0.512,4,0.512,5,0.453,6,1.277,7,0.51,9,0.453,11,1.102,14,0.81,15,0.035,16,0.708,20,0.708,27,1.124,28,1.757,30,0.639,40,0.19,50,0.026,51,0.026,61,2.248,71,0.999,145,0.999,148,0.999,150,1.102,161,2.248,221,1.211,223,1.931,226,1.684,228,2.248,284,3.058,309,1.453,331,2.74,363,2.389,364,3.456,365,3.456,367,4.249,368,3.456,370,3.456,372,3.186,373,3.456,374,3.456,375,3.456,376,2.701,377,2.701,378,2.701,566,3.75,567,3.75,568,3.75]],["title/injectables/NoLoggerService.html",[28,1.482,309,0.868]],["body/injectables/NoLoggerService.html",[0,1.622,3,0.518,4,0.518,5,0.459,6,1.283,7,0.513,9,0.459,11,1.108,14,0.815,15,0.035,16,0.717,20,0.717,27,1.138,28,2.266,30,0.643,40,0.191,50,0.026,51,0.026,61,2.266,71,1.005,145,1.007,148,1.005,150,1.108,161,2.266,221,1.218,223,1.938,226,1.461,228,2.266,284,3.082,309,1.461,310,1.958,331,2.761,363,2.419,364,3.483,365,3.833,367,4.262,368,3.833,370,3.833,372,3.039,373,2.734,374,2.734,375,2.734,376,2.734,377,2.734,378,2.734,569,3.795,570,3.795,571,3.795]],["title/injectables/ServerWebBluetooth.html",[309,0.868,572,2.279]],["body/injectables/ServerWebBluetooth.html",[3,0.615,4,0.615,5,0.544,6,1.23,7,0.492,9,0.544,15,0.034,16,0.85,20,0.85,30,0.544,32,1.031,40,0.178,42,2.963,50,0.029,51,0.029,145,1.119,148,0.85,150,0.938,265,3.397,309,1.475,310,2.323,572,3.871,573,3.744,574,4.504,575,4.504,576,3.744,577,4.504]],["title/components/StepCounterComponent.html",[52,0.868,80,1.131]],["body/components/StepCounterComponent.html",[3,0.274,4,0.274,5,0.243,7,0.184,9,0.243,10,0.847,11,0.783,14,0.791,15,0.035,16,0.859,20,0.379,23,1.508,25,1.23,27,1.127,30,0.454,32,0.706,33,1.205,40,0.079,44,1.627,45,1.318,46,1.446,49,1.446,50,0.017,51,0.017,52,1.032,53,0.718,54,1.446,55,1.035,56,1.035,58,1.035,59,2.664,60,2.017,62,1.591,63,1.035,64,0.602,65,0.858,66,1.591,67,1.446,68,1.035,69,2.176,70,1.035,71,0.859,72,1.035,73,0.718,74,0.858,75,1.035,76,0.718,77,1.035,78,0.718,79,1.035,80,1.508,81,1.035,82,0.718,83,0.941,84,1.035,85,1.035,125,1.146,126,1.146,129,0.941,130,0.784,141,1.103,145,0.642,148,1.068,150,1.001,158,2.146,161,1.446,162,2.395,163,2.395,165,2.395,166,3.062,169,2.707,172,2.707,173,2.707,174,3.124,175,3.995,176,3.995,177,3.124,178,2.707,179,2.707,180,2.707,182,3.461,183,3.124,184,3.062,187,2.707,190,2.146,192,2.707,195,1.696,196,3.124,199,1.877,203,1.573,204,2.901,205,2.395,206,2.395,207,1.508,209,1.966,210,2.688,211,2.688,212,2.688,213,1.966,214,1.966,215,1.468,216,1.01,217,1.279,218,2.207,219,2.901,221,0.86,223,1.573,225,1.966,226,1.032,228,1.761,232,1.966,233,2.599,236,1.343,240,2.901,241,2.263,249,1.966,252,1.035,254,1.146,255,1.279,256,1.945,257,1.591,258,1.762,259,1.762,260,1.146,261,1.146,262,1.146,263,1.146,264,1.279,265,1.146,266,1.279,267,1.279,268,1.279,269,1.279,270,0.718,273,0.941,276,1.279,287,1.035,290,1.446,291,1.279,293,1.146,294,1.279,295,1.279,296,1.279,297,1.279,300,1.279,301,1.279,303,1.966,304,1.279,305,1.279,527,2.222,528,2.222,529,2.222,530,2.222,533,1.669,534,2.565,542,1.446,559,1.669,561,1.446,565,1.446,578,1.446,579,3.085,580,3.758,581,3.758,582,3.758,583,3.995,584,3.758,585,3.758,586,2.007,587,2.007,588,2.007,589,2.007,590,2.007,591,2.007,592,2.007,593,2.007,594,2.007,595,2.007,596,2.007,597,2.007,598,2.007,599,3.085,600,2.007,601,2.007,602,2.007,603,2.007,604,2.007,605,2.007]],["title/components/TemperatureComponent.html",[52,0.868,82,1.131]],["body/components/TemperatureComponent.html",[3,0.257,4,0.257,5,0.228,7,0.172,9,0.228,10,0.806,11,0.752,14,0.842,15,0.035,16,0.884,20,0.356,23,1.457,25,1.182,27,1.082,30,0.436,32,0.672,33,1.592,40,0.075,42,1.515,44,1.58,45,1.255,46,1.376,49,1.376,50,0.016,51,0.016,52,0.991,53,0.673,54,1.376,55,0.971,56,0.971,58,0.971,59,2.609,60,1.975,62,1.515,63,0.971,64,0.881,65,0.805,66,1.515,67,1.376,68,0.971,69,2.103,70,0.971,71,0.834,72,0.971,73,0.673,74,0.805,75,0.971,76,0.673,77,0.971,78,0.673,79,0.971,80,0.673,81,0.971,82,1.457,83,1.91,84,0.971,85,0.971,125,1.075,126,1.075,129,0.882,130,0.735,141,1.29,145,0.611,148,1.086,150,1.018,158,2.061,161,1.376,162,2.3,163,2.3,165,2.3,166,2.3,184,2.3,190,2.061,195,1.594,199,1.726,203,1.533,204,2.816,205,2.3,206,2.3,207,1.457,209,1.871,210,2.598,211,2.598,212,2.598,213,1.871,214,1.871,215,1.41,216,0.617,217,1.2,218,2.161,219,2.816,221,0.826,223,1.601,225,1.871,226,1.213,228,1.691,232,1.871,233,2.792,234,1.376,236,1.58,240,2.816,241,2.54,252,0.971,254,1.075,255,1.2,256,2,257,1.515,258,1.677,259,1.677,260,1.075,261,1.075,262,1.075,263,1.075,264,1.2,265,1.075,266,1.2,267,1.2,268,1.2,269,1.2,270,0.673,271,1.2,273,0.882,276,1.2,277,1.566,278,1.376,290,1.356,291,1.2,292,1.566,293,1.075,294,1.2,295,1.2,296,1.2,297,1.2,298,1.356,300,1.2,301,1.2,303,1.871,304,1.2,305,1.2,335,0.882,400,2.6,405,1.2,406,1.356,497,3.389,498,3.001,499,3.001,500,3.001,501,3.001,502,3.389,511,3.001,513,3.001,514,1.566,515,2.441,517,3.389,524,1.566,525,1.356,526,1.566,527,2.115,528,2.115,529,2.115,530,2.115,532,1.566,535,1.566,536,1.566,537,1.566,539,1.566,540,1.566,541,1.566,542,1.356,543,3.001,544,1.566,545,2.441,546,1.566,547,1.566,548,1.566,549,1.566,550,1.566,551,1.566,552,1.566,553,1.566,554,1.566,555,1.566,556,1.566,557,1.566,558,2.441,561,1.356,562,1.566,563,1.566,564,1.566,565,1.356,583,1.566,606,1.356,607,1.883,608,1.883,609,1.883,610,1.883,611,1.883,612,1.883,613,1.883,614,1.883,615,1.883,616,1.883,617,1.883,618,2.937,619,1.883,620,1.883,621,1.883,622,1.883,623,2.937,624,2.937,625,1.883]],["title/modules/WebBluetoothModule.html",[41,1.482,86,1.806]],["body/modules/WebBluetoothModule.html",[0,1.54,1,3.252,3,0.492,4,0.492,5,0.435,6,1.071,7,0.428,8,2.297,11,0.974,12,2.297,13,1.859,14,0.552,15,0.035,16,1.075,17,3.31,18,4.318,19,2.996,20,0.68,21,3.889,22,2.596,23,1.672,24,2.996,25,1.865,26,2.996,27,1.558,28,2.192,29,2.996,30,0.688,31,3.741,32,1.304,33,2.147,34,2.596,35,2.965,36,2.996,37,3.31,38,2.996,39,2.297,40,0.143,41,2.434,42,2.413,43,3.889,44,1.288,45,2.219,46,2.192,47,2.996,48,2.297,49,1.689,50,0.025,51,0.025,71,0.68,88,2.058,145,0.75,148,0.68,150,0.75,195,1.081,221,0.825,236,1.288,626,3.604,627,3.604]],["title/coverage.html",[628,3.567]],["body/coverage.html",[0,1.692,1,1.609,5,0.34,6,1.412,7,0.564,8,3.166,14,0.701,15,0.035,23,1.007,25,1.297,27,0.845,28,1.32,31,3.298,33,1.1,37,1.795,40,0.207,44,1.776,48,1.795,50,0.021,51,0.021,52,1.49,53,1.007,57,2.342,73,1.007,76,1.007,78,1.007,80,1.007,82,1.007,142,2.029,144,2.342,159,3.578,160,3.578,218,2.236,249,4.102,257,2.562,309,1.49,311,2.852,320,2.029,334,5.104,347,2.342,363,2.918,372,1.609,379,2.342,416,1.453,417,2.836,446,1.453,455,1.453,461,1.453,496,3.578,572,2.029,573,2.342,578,3.578,606,3.578,628,2.342,629,2.029,630,2.817,631,2.817,632,2.817,633,4.579,634,6.273,635,3.292,636,2.817,637,2.817,638,3.96,639,2.342,640,3.292,641,3.292,642,2.342,643,2.342,644,4.967,645,3.96,646,2.817,647,2.817,648,2.817,649,2.817,650,3.96,651,2.817,652,2.342,653,3.292,654,2.342,655,2.817,656,2.817]],["title/dependencies.html",[89,2.42,657,1.913]],["body/dependencies.html",[15,0.035,20,0.83,22,3.167,50,0.028,51,0.028,89,2.802,106,4.404,130,1.717,139,2.733,254,2.511,525,3.167,658,4.397,659,6.26,660,4.397,661,5.298,662,4.397,663,4.397,664,4.397,665,4.397,666,4.397,667,3.656,668,4.397,669,4.397,670,4.397,671,4.397,672,4.397,673,4.397,674,4.397,675,4.397,676,4.397,677,4.397]],["title/miscellaneous/functions.html",[678,1.37,679,3.157]],["body/miscellaneous/functions.html",[1,3.151,6,1.078,7,0.431,8,3.001,9,0.569,11,0.981,14,0.721,15,0.031,25,1.917,34,3.392,35,2.689,37,3.73,48,3.517,50,0.03,51,0.03,71,0.889,221,1.078,678,2.429,679,3.915,680,5.853]],["title/index.html",[9,0.321,681,1.913,682,1.913]],["body/index.html",[7,0.455,12,1.4,15,0.035,16,1.026,17,2.106,20,0.75,23,1.779,30,0.48,32,1.287,39,1.4,40,0.157,41,1.549,42,1.705,45,0.939,50,0.018,51,0.018,60,1.291,61,1.549,64,0.659,74,1.697,86,1.887,87,1.255,99,1.4,129,2.07,130,2.075,139,1.133,140,1.827,141,1.181,164,2.531,195,1.549,200,1.827,203,1.74,207,0.786,215,1.944,252,1.705,262,1.255,263,1.255,270,1.693,271,1.4,272,2.747,273,2.22,274,2.747,288,1.705,309,1.213,315,2.747,316,3.673,327,2.747,329,2.747,331,1.887,335,1.549,337,2.747,338,1.827,342,2.38,345,1.827,346,2.747,386,1.827,405,2.106,411,1.827,418,1.255,422,1.255,425,1.255,442,1.133,456,1.255,464,1.255,629,2.861,657,1.583,667,2.747,681,1.583,682,1.583,683,2.197,684,3.305,685,5.164,686,3.305,687,2.197,688,2.197,689,2.197,690,2.197,691,2.197,692,2.197,693,2.197,694,2.197,695,2.197,696,3.938,697,3.305,698,2.197,699,3.305,700,4.418,701,3.305,702,3.305,703,3.305,704,4.977,705,5.164,706,3.305,707,3.305,708,2.197,709,3.305,710,2.197,711,2.197,712,2.197,713,3.305,714,2.197,715,2.197,716,2.197,717,2.197,718,2.197,719,2.197,720,3.305,721,2.197,722,3.305,723,2.197,724,2.197,725,2.197,726,2.197,727,2.747,728,2.197,729,2.197,730,2.197,731,2.197,732,3.305,733,2.197,734,2.197,735,2.197,736,2.197,737,2.197,738,3.305,739,1.827,740,2.197,741,2.197,742,2.197,743,2.197,744,2.197,745,2.197,746,2.197,747,2.197,748,2.197,749,2.197,750,2.197,751,2.197,752,1.827,753,3.305,754,2.197,755,2.197,756,3.305,757,3.305,758,2.197,759,2.197,760,2.197,761,2.747,762,2.197,763,2.197,764,3.305,765,2.197,766,2.197,767,2.197,768,2.197,769,2.197,770,2.197,771,2.197,772,2.197,773,2.197,774,2.197,775,2.197,776,2.197,777,2.38,778,2.747,779,3.302,780,1.827,781,1.827,782,1.827,783,1.827,784,2.747,785,1.827,786,1.827,787,1.827,788,1.827,789,1.827,790,2.747,791,4.519,792,1.827,793,1.827,794,1.827,795,3.302,796,1.827,797,2.747,798,1.827,799,1.827,800,1.827,801,1.827,802,1.827,803,1.827,804,1.827,805,1.827,806,1.827,807,2.747,808,1.827,809,1.827,810,1.827,811,1.827,812,1.827,813,1.827,814,2.747,815,2.747,816,1.827,817,1.827,818,1.827,819,1.827,820,1.827,821,1.827,822,1.827,823,1.827,824,1.827,825,1.827,826,1.827,827,1.827,828,1.827,829,1.827,830,1.827,831,1.827,832,1.827,833,1.827,834,1.827,835,1.827,836,1.827,837,1.827,838,1.827,839,1.827,840,1.827,841,1.827,842,1.827,843,1.827,844,1.827]],["title/license.html",[681,1.913,682,1.913,777,1.913]],["body/license.html",[15,0.027,50,0.027,51,0.027,99,2.56,442,2.072,629,2.893,696,4.167,727,3.339,761,3.339,777,2.893,778,4.167,779,4.542,780,3.339,781,3.339,782,3.339,783,3.339,784,4.167,785,3.339,786,3.339,787,3.339,788,3.339,789,3.339,790,4.167,791,5.161,792,3.339,793,3.339,794,3.339,795,4.542,796,3.339,797,4.167,798,3.339,799,3.339,800,3.339,801,3.339,802,3.339,803,3.339,804,3.339,805,3.339,806,3.339,807,4.167,808,3.339,809,3.339,810,3.339,811,3.339,812,3.339,813,3.339,814,4.167,815,4.167,816,3.339,817,3.339,818,3.339,819,3.339,820,3.339,821,3.339,822,3.339,823,3.339,824,3.339,825,3.339,826,3.339,827,3.339,828,3.339,829,3.339,830,3.339,831,3.339,832,3.339,833,3.339,834,3.339,835,3.339,836,3.339,837,3.339,838,3.339,839,3.339,840,3.339,841,3.339,842,3.339,843,3.339,844,3.339]],["title/modules.html",[88,2.45]],["body/modules.html",[15,0.03,41,2.3,50,0.03,51,0.03,87,2.803,88,2.803,139,2.532,356,4.081,845,4.909,846,5.653,847,4.909,848,4.081]],["title/overview.html",[849,3.567]],["body/overview.html",[2,3.01,15,0.034,41,2.606,44,1.494,50,0.028,51,0.028,53,2.195,54,1.959,65,1.786,73,1.988,76,1.988,78,1.988,80,1.988,82,1.988,86,2.387,87,3.676,88,2.387,89,2.664,90,3.475,91,3.475,92,3.475,93,3.475,94,3.475,95,3.475,96,3.475,97,4.27,98,3.475,99,2.664,143,2.156,310,2.156,739,4.27,752,3.475,849,3.475,850,5.137]],["title/properties.html",[10,1.042,657,1.913]],["body/properties.html",[10,1.369,15,0.032,50,0.031,51,0.031,851,4.988,852,4.988]],["title/miscellaneous/typealiases.html",[678,1.37,853,3.798]],["body/miscellaneous/typealiases.html",[6,1.1,7,0.44,9,0.581,14,0.904,15,0.03,50,0.03,51,0.03,234,2.617,311,3.462,320,4.022,635,3.996,639,4.643,678,2.48,854,4.807,855,4.807,856,4.807]],["title/miscellaneous/variables.html",[678,1.37,857,3.157]],["body/miscellaneous/variables.html",[6,0.362,7,0.145,9,0.191,14,0.728,15,0.035,23,1.879,25,1.557,27,1.426,33,1.857,44,1.7,45,2.032,46,2.228,49,2.228,50,0.014,51,0.014,64,0.475,74,0.676,83,0.742,141,0.566,159,1.14,160,2.663,164,1.009,195,1.664,203,1.852,218,2.371,226,0.702,236,1.984,257,2.712,258,2.715,259,2.715,260,2.111,261,2.111,314,1.316,393,1.14,496,1.14,576,2.677,578,1.14,606,1.14,640,1.316,641,2.677,642,2.127,643,2.677,652,1.316,653,3.074,654,1.316,678,0.817,848,2.677,857,1.316,858,3.22,859,3.22,860,3.22,861,3.22,862,1.583,863,1.583,864,2.558,865,2.558,866,1.583,867,1.583,868,1.583,869,1.583,870,6.335,871,6.335,872,6.335,873,6.335,874,1.583,875,1.583,876,1.583,877,1.583,878,1.583,879,1.583,880,1.583,881,1.583,882,1.583,883,1.583,884,1.583,885,1.583,886,1.583,887,1.583,888,1.583,889,1.583,890,1.583,891,1.583,892,1.583,893,1.583,894,1.583,895,5.044,896,1.583,897,4.756,898,1.583,899,4.756,900,1.583,901,1.583,902,1.583,903,1.583,904,1.583,905,1.583,906,1.583,907,1.583,908,1.583,909,1.583,910,3.22,911,3.22,912,1.583,913,1.583,914,1.583,915,1.583,916,1.583,917,1.583,918,1.583,919,1.583,920,1.583,921,1.583,922,1.583,923,1.583,924,1.583,925,1.583,926,1.583,927,1.583,928,1.583,929,1.583,930,1.583,931,1.583,932,1.583,933,1.583,934,1.583,935,1.583,936,1.583,937,1.583,938,1.583,939,1.583,940,1.583,941,1.583,942,1.583,943,1.583,944,1.583,945,1.583,946,1.583,947,1.583,948,1.583,949,1.583,950,1.583,951,1.583,952,1.583,953,1.583,954,1.583,955,1.583,956,1.583,957,1.583,958,1.583,959,1.583,960,1.583,961,1.583,962,1.583,963,1.583,964,1.583,965,1.583,966,1.583,967,1.583,968,1.583,969,1.583]]],"invertedIndex":[["",{"_index":15,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":249,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{},"coverage.html":{}}}],["0.0.6",{"_index":668,"title":{},"body":{"dependencies.html":{}}}],["0.15.1",{"_index":677,"title":{},"body":{"dependencies.html":{}}}],["0/1",{"_index":634,"title":{},"body":{"coverage.html":{}}}],["0/10",{"_index":646,"title":{},"body":{"coverage.html":{}}}],["0/13",{"_index":651,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":650,"title":{},"body":{"coverage.html":{}}}],["0/18",{"_index":649,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":633,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":632,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":644,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":648,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":647,"title":{},"body":{"coverage.html":{}}}],["0/9",{"_index":645,"title":{},"body":{"coverage.html":{}}}],["000",{"_index":196,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["000000",{"_index":549,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["000000000000",{"_index":873,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0451",{"_index":870,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1",{"_index":405,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["1.35.0",{"_index":670,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":583,"title":{},"body":{"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["10px",{"_index":413,"title":{},"body":{"components/DashboardComponent.html":{}}}],["112px",{"_index":580,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["11em",{"_index":582,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["120px",{"_index":183,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["15px",{"_index":410,"title":{},"body":{"components/DashboardComponent.html":{}}}],["16px",{"_index":498,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["17",{"_index":551,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["2",{"_index":739,"title":{},"body":{"index.html":{},"overview.html":{}}}],["2.3.0",{"_index":675,"title":{},"body":{"dependencies.html":{}}}],["2.a",{"_index":695,"title":{},"body":{"index.html":{}}}],["2.b",{"_index":714,"title":{},"body":{"index.html":{}}}],["20.0.0",{"_index":852,"title":{},"body":{"properties.html":{}}}],["20.0.4",{"_index":661,"title":{},"body":{"dependencies.html":{}}}],["20.0.5",{"_index":659,"title":{},"body":{"dependencies.html":{}}}],["2017",{"_index":781,"title":{},"body":{"index.html":{},"license.html":{}}}],["20px",{"_index":408,"title":{},"body":{"components/DashboardComponent.html":{}}}],["21/31",{"_index":637,"title":{},"body":{"coverage.html":{}}}],["214px",{"_index":581,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["222px",{"_index":181,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["24px",{"_index":186,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["255px",{"_index":194,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["29.0.5",{"_index":673,"title":{},"body":{"dependencies.html":{}}}],["3",{"_index":742,"title":{},"body":{"index.html":{}}}],["32px",{"_index":415,"title":{},"body":{"components/DashboardComponent.html":{}}}],["4",{"_index":747,"title":{},"body":{"index.html":{}}}],["4000",{"_index":871,"title":{},"body":{"miscellaneous/variables.html":{}}}],["40px",{"_index":397,"title":{},"body":{"components/DashboardComponent.html":{}}}],["4933",{"_index":528,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["5",{"_index":752,"title":{},"body":{"index.html":{},"overview.html":{}}}],["52ffa9740042",{"_index":530,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["5em",{"_index":177,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["5px",{"_index":191,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["6",{"_index":850,"title":{},"body":{"overview.html":{}}}],["67",{"_index":636,"title":{},"body":{"coverage.html":{}}}],["7.8.0",{"_index":669,"title":{},"body":{"dependencies.html":{}}}],["700px",{"_index":399,"title":{},"body":{"components/DashboardComponent.html":{}}}],["90px",{"_index":189,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["9b10",{"_index":529,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["9b35",{"_index":527,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["__register__",{"_index":941,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_config",{"_index":313,"title":{},"body":{"injectables/BleService.html":{}}}],["above",{"_index":813,"title":{},"body":{"index.html":{},"license.html":{}}}],["absolute",{"_index":179,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["abstract",{"_index":724,"title":{},"body":{"index.html":{}}}],["accelerometer",{"_index":912,"title":{},"body":{"miscellaneous/variables.html":{}}}],["acceptalldevices",{"_index":736,"title":{},"body":{"index.html":{}}}],["accessors",{"_index":214,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["action",{"_index":838,"title":{},"body":{"index.html":{},"license.html":{}}}],["actual_component",{"_index":85,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["addeventlistener",{"_index":421,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["addeventlistener(type",{"_index":430,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["address",{"_index":944,"title":{},"body":{"miscellaneous/variables.html":{}}}],["advanced",{"_index":715,"title":{},"body":{"index.html":{}}}],["alias",{"_index":638,"title":{},"body":{"coverage.html":{}}}],["aliases",{"_index":854,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":173,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["and/or",{"_index":805,"title":{},"body":{"index.html":{},"license.html":{}}}],["angular",{"_index":386,"title":{},"body":{"components/DashboardComponent.html":{},"index.html":{}}}],["angular/animations",{"_index":658,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":660,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/layout",{"_index":102,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/common",{"_index":22,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"dependencies.html":{}}}],["angular/compiler",{"_index":662,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":20,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"dependencies.html":{},"index.html":{}}}],["angular/forms",{"_index":663,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":664,"title":{},"body":{"dependencies.html":{}}}],["angular/material/button",{"_index":104,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/card",{"_index":109,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/expansion",{"_index":111,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/grid",{"_index":113,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/icon",{"_index":116,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/list",{"_index":118,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/menu",{"_index":120,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/material/progress",{"_index":122,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{}}}],["angular/material/snack",{"_index":125,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["angular/material/toolbar",{"_index":128,"title":{},"body":{"modules/AppModule.html":{}}}],["angular/platform",{"_index":106,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":666,"title":{},"body":{"dependencies.html":{}}}],["annotated",{"_index":701,"title":{},"body":{"index.html":{}}}],["any)[key].service",{"_index":867,"title":{},"body":{"miscellaneous/variables.html":{}}}],["api",{"_index":753,"title":{},"body":{"index.html":{}}}],["app",{"_index":769,"title":{},"body":{"index.html":{}}}],["app.component",{"_index":131,"title":{},"body":{"modules/AppModule.html":{}}}],["appcomponent",{"_index":53,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appmodule",{"_index":87,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"index.html":{},"modules.html":{},"overview.html":{}}}],["apppage",{"_index":142,"title":{"classes/AppPage.html":{}},"body":{"classes/AppPage.html":{},"coverage.html":{}}}],["args",{"_index":367,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["arising",{"_index":842,"title":{},"body":{"index.html":{},"license.html":{}}}],["ask",{"_index":748,"title":{},"body":{"index.html":{}}}],["associated",{"_index":792,"title":{},"body":{"index.html":{},"license.html":{}}}],["authors",{"_index":831,"title":{},"body":{"index.html":{},"license.html":{}}}],["auto",{"_index":401,"title":{},"body":{"components/DashboardComponent.html":{}}}],["available",{"_index":848,"title":{},"body":{"modules.html":{},"miscellaneous/variables.html":{}}}],["awboptions",{"_index":1,"title":{"interfaces/AWBOptions.html":{}},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["b",{"_index":258,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["b000",{"_index":872,"title":{},"body":{"miscellaneous/variables.html":{}}}],["bar",{"_index":126,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["barometer",{"_index":905,"title":{},"body":{"miscellaneous/variables.html":{}}}],["battery",{"_index":74,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["battery_charging_full",{"_index":197,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["battery_level",{"_index":274,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["battery_service",{"_index":272,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["batterylevelcomponent",{"_index":73,"title":{"components/BatteryLevelComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["batterylevelservice",{"_index":703,"title":{},"body":{"index.html":{}}}],["batterylevelservice.gatt_characteristic_battery_level",{"_index":746,"title":{},"body":{"index.html":{}}}],["batterylevelservice.gatt_primary_service",{"_index":738,"title":{},"body":{"index.html":{}}}],["ble",{"_index":60,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["ble.service",{"_index":255,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["blecore",{"_index":257,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["bleservice",{"_index":218,"title":{"injectables/BleService.html":{}},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["bleservice(b",{"_index":261,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["block",{"_index":184,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["blog",{"_index":767,"title":{},"body":{"index.html":{}}}],["bluetooth",{"_index":130,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{},"index.html":{}}}],["bluetooth.service",{"_index":24,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["bluetooth/src/lib/bluetooth.module.ts",{"_index":8,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["bluetooth/src/lib/bluetooth.module.ts:32",{"_index":627,"title":{},"body":{"modules/WebBluetoothModule.html":{}}}],["bluetooth/src/lib/bluetooth.service.ts",{"_index":635,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["bluetooth/src/lib/lang/uuids/ti",{"_index":640,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["bluetooth/src/lib/logger.service.ts",{"_index":363,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"coverage.html":{}}}],["bluetooth/src/lib/logger.service.ts:13",{"_index":369,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:16",{"_index":366,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:19",{"_index":371,"title":{},"body":{"injectables/ConsoleLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:28",{"_index":570,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:29",{"_index":569,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:30",{"_index":571,"title":{},"body":{"injectables/NoLoggerService.html":{}}}],["bluetooth/src/lib/logger.service.ts:4",{"_index":567,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/logger.service.ts:5",{"_index":566,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/logger.service.ts:6",{"_index":568,"title":{},"body":{"interfaces/Logger.html":{}}}],["bluetooth/src/lib/platform/browser.ts",{"_index":347,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"coverage.html":{}}}],["bluetooth/src/lib/platform/browser.ts:14",{"_index":352,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["bluetooth/src/lib/platform/browser.ts:5",{"_index":349,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["bluetooth/src/lib/platform/server.ts",{"_index":573,"title":{},"body":{"injectables/ServerWebBluetooth.html":{},"coverage.html":{}}}],["bluetooth/src/lib/platform/server.ts:5",{"_index":574,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["bluetooth/src/lib/test.utils.ts",{"_index":417,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["bluetooth/src/lib/test.utils.ts:103",{"_index":483,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:12",{"_index":424,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:14",{"_index":427,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:17",{"_index":433,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:24",{"_index":435,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:29",{"_index":434,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:39",{"_index":487,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:41",{"_index":488,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:45",{"_index":489,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:50",{"_index":491,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:54",{"_index":490,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["bluetooth/src/lib/test.utils.ts:60",{"_index":493,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:61",{"_index":494,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:65",{"_index":495,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetooth/src/lib/test.utils.ts:7",{"_index":426,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:71",{"_index":480,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:72",{"_index":479,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:73",{"_index":477,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:74",{"_index":478,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:78",{"_index":475,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:8",{"_index":429,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["bluetooth/src/lib/test.utils.ts:86",{"_index":484,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:90",{"_index":481,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth/src/lib/test.utils.ts:97",{"_index":482,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["bluetooth_disabled",{"_index":391,"title":{},"body":{"components/DashboardComponent.html":{}}}],["bluetooth_searching",{"_index":389,"title":{},"body":{"components/DashboardComponent.html":{}}}],["bluetoothcharacteristicproperties",{"_index":463,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetoothcharacteristicuuid",{"_index":459,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["bluetoothcore",{"_index":23,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["bluetoothcore(b",{"_index":260,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["bluetoothremotegattcharacteristic",{"_index":750,"title":{},"body":{"index.html":{}}}],["bluetoothremotegattserver",{"_index":425,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["bluetoothremotegattservice",{"_index":744,"title":{},"body":{"index.html":{}}}],["bluetoothserviceuuid",{"_index":452,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["boolean",{"_index":13,"title":{},"body":{"interfaces/AWBOptions.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"modules/WebBluetoothModule.html":{}}}],["bootstrap",{"_index":91,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["bordervisible",{"_index":547,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["bottom",{"_index":193,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["browse",{"_index":846,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":139,"title":{},"body":{"modules/AppModule.html":{},"classes/AppPage.html":{},"injectables/BrowserWebBluetooth.html":{},"dependencies.html":{},"index.html":{},"modules.html":{}}}],["browser's",{"_index":694,"title":{},"body":{"index.html":{}}}],["browser.get(browser.baseurl",{"_index":154,"title":{},"body":{"classes/AppPage.html":{}}}],["browser/animations",{"_index":107,"title":{},"body":{"modules/AppModule.html":{}}}],["browseranimationsmodule",{"_index":105,"title":{},"body":{"modules/AppModule.html":{}}}],["browsermodule",{"_index":138,"title":{},"body":{"modules/AppModule.html":{}}}],["browserwebbluetooth",{"_index":25,"title":{"injectables/BrowserWebBluetooth.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["button",{"_index":412,"title":{},"body":{"components/DashboardComponent.html":{}}}],["c",{"_index":780,"title":{},"body":{"index.html":{},"license.html":{}}}],["call",{"_index":704,"title":{},"body":{"index.html":{}}}],["can't",{"_index":723,"title":{},"body":{"index.html":{}}}],["canvas",{"_index":497,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["card",{"_index":409,"title":{},"body":{"components/DashboardComponent.html":{}}}],["cc2650",{"_index":911,"title":{},"body":{"miscellaneous/variables.html":{}}}],["center",{"_index":169,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["changevalue",{"_index":474,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["changevalue(value",{"_index":472,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["characteristic",{"_index":273,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["characteristics",{"_index":456,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["characteristicvaluechanged",{"_index":466,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["charge",{"_index":787,"title":{},"body":{"index.html":{},"license.html":{}}}],["chart",{"_index":499,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["chartref",{"_index":500,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["checkout",{"_index":765,"title":{},"body":{"index.html":{}}}],["chegham",{"_index":783,"title":{},"body":{"index.html":{},"license.html":{}}}],["claim",{"_index":834,"title":{},"body":{"index.html":{},"license.html":{}}}],["class",{"_index":40,"title":{"classes/AppPage.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"index.html":{}}}],["classes",{"_index":143,"title":{},"body":{"classes/AppPage.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"overview.html":{}}}],["clear",{"_index":422,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["close",{"_index":305,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["cluster_appmodule",{"_index":93,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_bootstrap",{"_index":96,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":94,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":95,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["color",{"_index":198,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["command",{"_index":762,"title":{},"body":{"index.html":{}}}],["commonmodule",{"_index":21,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["component",{"_index":52,"title":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{}}}],["component_template",{"_index":70,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["components",{"_index":54,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"overview.html":{}}}],["conditions",{"_index":812,"title":{},"body":{"index.html":{},"license.html":{}}}],["config",{"_index":314,"title":{},"body":{"injectables/BleService.html":{},"miscellaneous/variables.html":{}}}],["config(options",{"_index":319,"title":{},"body":{"injectables/BleService.html":{}}}],["configuration",{"_index":897,"title":{},"body":{"miscellaneous/variables.html":{}}}],["connect",{"_index":390,"title":{},"body":{"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["connected",{"_index":288,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["connection",{"_index":843,"title":{},"body":{"index.html":{},"license.html":{}}}],["console",{"_index":200,"title":{},"body":{"components/BatteryLevelComponent.html":{},"index.html":{}}}],["console.error.apply(console",{"_index":377,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["console.log('getting",{"_index":713,"title":{},"body":{"index.html":{}}}],["console.log('reading",{"_index":561,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["console.log(value",{"_index":340,"title":{},"body":{"injectables/BleService.html":{}}}],["console.log.apply(console",{"_index":376,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["console.warn.apply(console",{"_index":378,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["consoleloggerservice",{"_index":27,"title":{"injectables/ConsoleLoggerService.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["consoleloggerserviceconfig",{"_index":48,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["consoleloggerserviceconfig(options",{"_index":34,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["const",{"_index":256,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["constructor",{"_index":216,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["constructor(ble",{"_index":317,"title":{},"body":{"injectables/BleService.html":{}}}],["constructor(device",{"_index":486,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["constructor(id",{"_index":423,"title":{},"body":{"classes/FakeBluetoothDevice.html":{}}}],["constructor(properties",{"_index":467,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["constructor(public",{"_index":335,"title":{},"body":{"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["constructor(service",{"_index":217,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["container",{"_index":407,"title":{},"body":{"components/DashboardComponent.html":{}}}],["content",{"_index":156,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{}}}],["contract",{"_index":839,"title":{},"body":{"index.html":{},"license.html":{}}}],["contributions",{"_index":771,"title":{},"body":{"index.html":{}}}],["control",{"_index":948,"title":{},"body":{"miscellaneous/variables.html":{}}}],["copies",{"_index":807,"title":{},"body":{"index.html":{},"license.html":{}}}],["copy",{"_index":790,"title":{},"body":{"index.html":{},"license.html":{}}}],["copyright",{"_index":779,"title":{},"body":{"index.html":{},"license.html":{}}}],["correctly",{"_index":690,"title":{},"body":{"index.html":{}}}],["count",{"_index":599,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["counter",{"_index":605,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["coverage",{"_index":628,"title":{"coverage.html":{}},"body":{"coverage.html":{}}}],["current_used_parameters",{"_index":950,"title":{},"body":{"miscellaneous/variables.html":{}}}],["d",{"_index":300,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["damages",{"_index":835,"title":{},"body":{"index.html":{},"license.html":{}}}],["dashboard",{"_index":380,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard'},{'name",{"_index":77,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["dashboard.component.css",{"_index":382,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard.component.html",{"_index":384,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dashboard/dashboard.component",{"_index":134,"title":{},"body":{"modules/AppModule.html":{}}}],["dashboardcomponent",{"_index":76,"title":{"components/DashboardComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["data",{"_index":895,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dataview",{"_index":270,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["deal",{"_index":794,"title":{},"body":{"index.html":{},"license.html":{}}}],["dealings",{"_index":844,"title":{},"body":{"index.html":{},"license.html":{}}}],["decimal",{"_index":624,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["declarations",{"_index":90,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["decoder",{"_index":269,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["decoder(value",{"_index":330,"title":{},"body":{"injectables/BleService.html":{}}}],["decorators",{"_index":514,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["default",{"_index":236,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":148,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["demo",{"_index":387,"title":{},"body":{"components/DashboardComponent.html":{}}}],["dependencies",{"_index":89,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"dependencies.html":{},"overview.html":{}}}],["deps",{"_index":49,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["details",{"_index":361,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["determinate",{"_index":244,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["dev.to",{"_index":768,"title":{},"body":{"index.html":{}}}],["developer",{"_index":726,"title":{},"body":{"index.html":{}}}],["device",{"_index":215,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["device.gatt",{"_index":448,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["device.name",{"_index":392,"title":{},"body":{"components/DashboardComponent.html":{}}}],["device_id",{"_index":946,"title":{},"body":{"miscellaneous/variables.html":{}}}],["device_information",{"_index":868,"title":{},"body":{"miscellaneous/variables.html":{}}}],["devicesubscription",{"_index":201,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["direction",{"_index":170,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["directions_walk",{"_index":585,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["directive",{"_index":68,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["directives",{"_index":84,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["disconnect",{"_index":207,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["disconnect_request",{"_index":954,"title":{},"body":{"miscellaneous/variables.html":{}}}],["disconnectdevice",{"_index":315,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["disconnected",{"_index":289,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["discover",{"_index":732,"title":{},"body":{"index.html":{}}}],["discovery",{"_index":734,"title":{},"body":{"index.html":{}}}],["display",{"_index":166,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["distribute",{"_index":803,"title":{},"body":{"index.html":{},"license.html":{}}}],["documentation",{"_index":629,"title":{},"body":{"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":55,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["dynamic",{"_index":665,"title":{},"body":{"dependencies.html":{}}}],["e2e/src/app.po.ts",{"_index":144,"title":{},"body":{"classes/AppPage.html":{},"coverage.html":{}}}],["e2e/src/app.po.ts:4",{"_index":152,"title":{},"body":{"classes/AppPage.html":{}}}],["e2e/src/app.po.ts:8",{"_index":149,"title":{},"body":{"classes/AppPage.html":{}}}],["each",{"_index":266,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["easiest",{"_index":698,"title":{},"body":{"index.html":{}}}],["ef680200",{"_index":526,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["ef680201",{"_index":622,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["ef680203",{"_index":531,"title":{},"body":{"components/HumidityComponent.html":{}}}],["ef680400",{"_index":603,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["ef680405",{"_index":604,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["element",{"_index":67,"title":{},"body":{"components/AppComponent.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["element(by.css('app",{"_index":155,"title":{},"body":{"classes/AppPage.html":{}}}],["elementref",{"_index":513,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["elsewhere",{"_index":725,"title":{},"body":{"index.html":{}}}],["emites",{"_index":729,"title":{},"body":{"index.html":{}}}],["emitted",{"_index":707,"title":{},"body":{"index.html":{}}}],["enable",{"_index":692,"title":{},"body":{"index.html":{}}}],["enabletracing",{"_index":12,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["environment",{"_index":653,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["err",{"_index":296,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["error",{"_index":228,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["error('your",{"_index":355,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["error(...args",{"_index":365,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["error(args",{"_index":374,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["event",{"_index":442,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{},"license.html":{}}}],["eventlistener",{"_index":432,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["example",{"_index":685,"title":{},"body":{"index.html":{}}}],["export",{"_index":30,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["exports",{"_index":92,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["express",{"_index":822,"title":{},"body":{"index.html":{},"license.html":{}}}],["f000180a",{"_index":869,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000180f",{"_index":892,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a19",{"_index":893,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a23",{"_index":875,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a24",{"_index":877,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a25",{"_index":879,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a26",{"_index":881,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a27",{"_index":883,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a28",{"_index":885,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a29",{"_index":887,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a2a",{"_index":889,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f0002a50",{"_index":891,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa00",{"_index":894,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa01",{"_index":896,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa02",{"_index":898,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa03",{"_index":900,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa10",{"_index":913,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa11",{"_index":914,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa12",{"_index":915,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa13",{"_index":916,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa20",{"_index":901,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa21",{"_index":902,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa22",{"_index":903,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa23",{"_index":904,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa30",{"_index":918,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa31",{"_index":919,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa32",{"_index":920,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa33",{"_index":921,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa40",{"_index":906,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa41",{"_index":907,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa42",{"_index":908,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa44",{"_index":909,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa50",{"_index":923,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa51",{"_index":924,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa52",{"_index":925,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa53",{"_index":926,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa64",{"_index":967,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa65",{"_index":968,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa66",{"_index":969,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa70",{"_index":933,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa71",{"_index":934,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa72",{"_index":935,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa73",{"_index":936,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa80",{"_index":928,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa81",{"_index":929,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa82",{"_index":930,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000aa83",{"_index":931,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac00",{"_index":942,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac01",{"_index":943,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac02",{"_index":945,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ac03",{"_index":947,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc0",{"_index":949,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc1",{"_index":951,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc2",{"_index":953,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ccc3",{"_index":955,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc0",{"_index":957,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc1",{"_index":959,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc2",{"_index":961,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc3",{"_index":963,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffc4",{"_index":965,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffe0",{"_index":938,"title":{},"body":{"miscellaneous/variables.html":{}}}],["f000ffe1",{"_index":940,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fakebluetoothdevice",{"_index":416,"title":{"classes/FakeBluetoothDevice.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattcharacteristic",{"_index":461,"title":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattserver",{"_index":446,"title":{"classes/FakeBluetoothRemoteGATTServer.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["fakebluetoothremotegattservice",{"_index":455,"title":{"classes/FakeBluetoothRemoteGATTService.html":{}},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"coverage.html":{}}}],["false",{"_index":64,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["few",{"_index":773,"title":{},"body":{"index.html":{}}}],["ff0000",{"_index":555,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["ffffff",{"_index":544,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["files",{"_index":793,"title":{},"body":{"index.html":{},"license.html":{}}}],["fillstyle",{"_index":543,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["firmware_rev",{"_index":880,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fitness",{"_index":827,"title":{},"body":{"index.html":{},"license.html":{}}}],["flex",{"_index":167,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["following",{"_index":761,"title":{},"body":{"index.html":{},"license.html":{}}}],["font",{"_index":175,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["fontsize",{"_index":550,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["forroot",{"_index":626,"title":{},"body":{"modules/WebBluetoothModule.html":{}}}],["forroot(options",{"_index":43,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["found",{"_index":754,"title":{},"body":{"index.html":{}}}],["free",{"_index":727,"title":{},"body":{"index.html":{},"license.html":{}}}],["full",{"_index":766,"title":{},"body":{"index.html":{}}}],["function",{"_index":31,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["functions",{"_index":679,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["furnished",{"_index":810,"title":{},"body":{"index.html":{},"license.html":{}}}],["gatt",{"_index":418,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["gatt_characteristic_battery_level",{"_index":717,"title":{},"body":{"index.html":{}}}],["gatt_primary_service",{"_index":718,"title":{},"body":{"index.html":{}}}],["gattserverdisconnected",{"_index":428,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getcharacteristic",{"_index":492,"title":{},"body":{"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getcharacteristic(characteristic",{"_index":458,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getdevice",{"_index":252,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["getdevicestatus",{"_index":208,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["getprimaryservice",{"_index":485,"title":{},"body":{"classes/FakeBluetoothRemoteGATTServer.html":{}}}],["getprimaryservice(service",{"_index":451,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["getting",{"_index":681,"title":{"index.html":{},"license.html":{}},"body":{"index.html":{}}}],["gettitletext",{"_index":146,"title":{},"body":{"classes/AppPage.html":{}}}],["given",{"_index":708,"title":{},"body":{"index.html":{}}}],["granted",{"_index":786,"title":{},"body":{"index.html":{},"license.html":{}}}],["graph",{"_index":847,"title":{},"body":{"modules.html":{}}}],["grid",{"_index":406,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["gyroscope",{"_index":922,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hardware_rev",{"_index":882,"title":{},"body":{"miscellaneous/variables.html":{}}}],["haserror",{"_index":209,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["haserror(error",{"_index":225,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["height",{"_index":584,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["help",{"_index":776,"title":{},"body":{"index.html":{}}}],["here",{"_index":700,"title":{},"body":{"index.html":{}}}],["hereby",{"_index":785,"title":{},"body":{"index.html":{},"license.html":{}}}],["holders",{"_index":832,"title":{},"body":{"index.html":{},"license.html":{}}}],["host",{"_index":165,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["html",{"_index":66,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["http://caniuse.com/#search=bluetooth",{"_index":359,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["https://manekinekko.github.io/angular",{"_index":755,"title":{},"body":{"index.html":{}}}],["humidity",{"_index":393,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"miscellaneous/variables.html":{}}}],["humidity'},{'name",{"_index":79,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["humiditycomponent",{"_index":78,"title":{"components/HumidityComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["icon",{"_index":192,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["id",{"_index":419,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["identifier",{"_index":630,"title":{},"body":{"coverage.html":{}}}],["ieee11073",{"_index":888,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_block_request",{"_index":960,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_count",{"_index":962,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_notify",{"_index":958,"title":{},"body":{"miscellaneous/variables.html":{}}}],["image_status",{"_index":964,"title":{},"body":{"miscellaneous/variables.html":{}}}],["img",{"_index":414,"title":{},"body":{"components/DashboardComponent.html":{}}}],["implements",{"_index":161,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["implied",{"_index":823,"title":{},"body":{"index.html":{},"license.html":{}}}],["import",{"_index":16,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["imports",{"_index":39,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["included",{"_index":816,"title":{},"body":{"index.html":{},"license.html":{}}}],["including",{"_index":797,"title":{},"body":{"index.html":{},"license.html":{}}}],["indeterminate",{"_index":286,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["index",{"_index":9,"title":{"index.html":{}},"body":{"interfaces/AWBOptions.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["initchart",{"_index":502,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["initialvalue",{"_index":465,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["injectable",{"_index":309,"title":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{}},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"coverage.html":{},"index.html":{}}}],["injectables",{"_index":310,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"overview.html":{}}}],["injectiontoken",{"_index":19,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["injectiontoken('awboptions",{"_index":38,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["install",{"_index":684,"title":{},"body":{"index.html":{}}}],["installed",{"_index":689,"title":{},"body":{"index.html":{}}}],["instance",{"_index":265,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["integer",{"_index":623,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AWBOptions.html":{},"interfaces/Logger.html":{}},"body":{"interfaces/AWBOptions.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AWBOptions.html":{},"interfaces/Logger.html":{},"overview.html":{}}}],["interpolation",{"_index":541,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["io",{"_index":966,"title":{},"body":{"miscellaneous/variables.html":{}}}],["issues",{"_index":775,"title":{},"body":{"index.html":{}}}],["jest",{"_index":672,"title":{},"body":{"dependencies.html":{}}}],["justify",{"_index":168,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["key",{"_index":278,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["keypress",{"_index":937,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kind",{"_index":821,"title":{},"body":{"index.html":{},"license.html":{}}}],["l",{"_index":259,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["labels",{"_index":548,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["layoutmodule",{"_index":101,"title":{},"body":{"modules/AppModule.html":{}}}],["left",{"_index":190,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["legend",{"_index":65,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"overview.html":{}}}],["length",{"_index":538,"title":{},"body":{"components/HumidityComponent.html":{}}}],["level",{"_index":164,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["level'},{'name",{"_index":75,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["level.component",{"_index":133,"title":{},"body":{"modules/AppModule.html":{}}}],["level.component.ts",{"_index":160,"title":{},"body":{"components/BatteryLevelComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["level.component.ts:100",{"_index":230,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:117",{"_index":224,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:132",{"_index":231,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:145",{"_index":235,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:163",{"_index":222,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:169",{"_index":227,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:173",{"_index":229,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:77",{"_index":250,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:78",{"_index":245,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:79",{"_index":238,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:80",{"_index":251,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:81",{"_index":248,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:82",{"_index":242,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:84",{"_index":253,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:86",{"_index":220,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:89",{"_index":246,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:90",{"_index":247,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["level.component.ts:91",{"_index":239,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["liability",{"_index":836,"title":{},"body":{"index.html":{},"license.html":{}}}],["liable",{"_index":833,"title":{},"body":{"index.html":{},"license.html":{}}}],["license",{"_index":777,"title":{"license.html":{}},"body":{"index.html":{},"license.html":{}}}],["light",{"_index":932,"title":{},"body":{"miscellaneous/variables.html":{}}}],["limitation",{"_index":798,"title":{},"body":{"index.html":{},"license.html":{}}}],["limited",{"_index":824,"title":{},"body":{"index.html":{},"license.html":{}}}],["line",{"_index":333,"title":{},"body":{"injectables/BleService.html":{},"components/HumidityComponent.html":{}}}],["linewidth",{"_index":554,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["list",{"_index":114,"title":{},"body":{"modules/AppModule.html":{}}}],["listener",{"_index":431,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["listener(mockedevent",{"_index":441,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["listeners",{"_index":420,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["literal",{"_index":234,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/typealiases.html":{}}}],["log",{"_index":364,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["log(...args",{"_index":368,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["log(args",{"_index":373,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["logger",{"_index":372,"title":{"interfaces/Logger.html":{}},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"coverage.html":{}}}],["logger.service",{"_index":29,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["logic",{"_index":721,"title":{},"body":{"index.html":{}}}],["logs",{"_index":693,"title":{},"body":{"index.html":{}}}],["magnetometer",{"_index":917,"title":{},"body":{"miscellaneous/variables.html":{}}}],["make",{"_index":262,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["makemetokeninjector",{"_index":37,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["manekinekko/angular",{"_index":129,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["manifacturer",{"_index":886,"title":{},"body":{"miscellaneous/variables.html":{}}}],["map",{"_index":327,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["map((value",{"_index":709,"title":{},"body":{"index.html":{}}}],["map(this._config.decoder",{"_index":341,"title":{},"body":{"injectables/BleService.html":{}}}],["margin",{"_index":400,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["mat",{"_index":187,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["matbuttonmodule",{"_index":103,"title":{},"body":{"modules/AppModule.html":{}}}],["matcardmodule",{"_index":108,"title":{},"body":{"modules/AppModule.html":{}}}],["matching",{"_index":51,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matexpansionmodule",{"_index":110,"title":{},"body":{"modules/AppModule.html":{}}}],["matgridlistmodule",{"_index":112,"title":{},"body":{"modules/AppModule.html":{}}}],["maticonmodule",{"_index":115,"title":{},"body":{"modules/AppModule.html":{}}}],["matlistmodule",{"_index":117,"title":{},"body":{"modules/AppModule.html":{}}}],["matmenumodule",{"_index":119,"title":{},"body":{"modules/AppModule.html":{}}}],["matprogressspinnermodule",{"_index":121,"title":{},"body":{"modules/AppModule.html":{}}}],["matsnackbar",{"_index":219,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["matsnackbarmodule",{"_index":124,"title":{},"body":{"modules/AppModule.html":{}}}],["mattoolbarmodule",{"_index":127,"title":{},"body":{"modules/AppModule.html":{}}}],["max",{"_index":398,"title":{},"body":{"components/DashboardComponent.html":{},"components/HumidityComponent.html":{}}}],["merchantability",{"_index":826,"title":{},"body":{"index.html":{},"license.html":{}}}],["merge",{"_index":801,"title":{},"body":{"index.html":{},"license.html":{}}}],["mergemap",{"_index":716,"title":{},"body":{"index.html":{}}}],["mergemap((characteristic",{"_index":749,"title":{},"body":{"index.html":{}}}],["mergemap((gatt",{"_index":740,"title":{},"body":{"index.html":{}}}],["mergemap((primaryservice",{"_index":743,"title":{},"body":{"index.html":{}}}],["metadata",{"_index":58,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["method",{"_index":705,"title":{},"body":{"index.html":{}}}],["methods",{"_index":145,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["miscellaneous",{"_index":678,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["missing",{"_index":683,"title":{},"body":{"index.html":{}}}],["mit",{"_index":778,"title":{},"body":{"index.html":{},"license.html":{}}}],["mocked",{"_index":575,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["mockedevent",{"_index":437,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["mode",{"_index":202,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["model",{"_index":910,"title":{},"body":{"miscellaneous/variables.html":{}}}],["model_number",{"_index":876,"title":{},"body":{"miscellaneous/variables.html":{}}}],["modify",{"_index":800,"title":{},"body":{"index.html":{},"license.html":{}}}],["module",{"_index":86,"title":{"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{}},"body":{"modules/AppModule.html":{},"index.html":{},"overview.html":{}}}],["modules",{"_index":88,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"modules.html":{},"overview.html":{}}}],["modulewithproviders",{"_index":18,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["more",{"_index":360,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"components/DashboardComponent.html":{}}}],["more_vert",{"_index":388,"title":{},"body":{"components/DashboardComponent.html":{}}}],["movement",{"_index":927,"title":{},"body":{"miscellaneous/variables.html":{}}}],["name",{"_index":71,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["navigateto",{"_index":147,"title":{},"body":{"classes/AppPage.html":{}}}],["navigator.bluetooth",{"_index":353,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["need",{"_index":756,"title":{},"body":{"index.html":{}}}],["new",{"_index":33,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BrowserWebBluetooth.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["next",{"_index":293,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["ngmodule",{"_index":17,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["ngondestroy",{"_index":210,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["ngoninit",{"_index":211,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["node_modules",{"_index":691,"title":{},"body":{"index.html":{}}}],["nologgerservice",{"_index":28,"title":{"injectables/NoLoggerService.html":{}},"body":{"interfaces/AWBOptions.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{}}}],["noninfringement",{"_index":830,"title":{},"body":{"index.html":{},"license.html":{}}}],["note",{"_index":688,"title":{},"body":{"index.html":{}}}],["notice",{"_index":814,"title":{},"body":{"index.html":{},"license.html":{}}}],["notifications",{"_index":712,"title":{},"body":{"index.html":{}}}],["now",{"_index":577,"title":{},"body":{"injectables/ServerWebBluetooth.html":{}}}],["npm",{"_index":686,"title":{},"body":{"index.html":{}}}],["null",{"_index":241,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["number",{"_index":233,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["oad",{"_index":956,"title":{},"body":{"miscellaneous/variables.html":{}}}],["object",{"_index":576,"title":{},"body":{"injectables/ServerWebBluetooth.html":{},"miscellaneous/variables.html":{}}}],["object.keys(titag).map((key",{"_index":866,"title":{},"body":{"miscellaneous/variables.html":{}}}],["obtaining",{"_index":789,"title":{},"body":{"index.html":{},"license.html":{}}}],["of(this.haserror.bind(this",{"_index":560,"title":{},"body":{"components/HumidityComponent.html":{}}}],["ondestroy",{"_index":163,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["oninit",{"_index":162,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["open",{"_index":774,"title":{},"body":{"index.html":{}}}],["optional",{"_index":11,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["optionalservices",{"_index":737,"title":{},"body":{"index.html":{}}}],["options",{"_index":35,"title":{},"body":{"interfaces/AWBOptions.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["options.enabletracing",{"_index":36,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["otherwise",{"_index":841,"title":{},"body":{"index.html":{},"license.html":{}}}],["out",{"_index":99,"title":{},"body":{"modules/AppModule.html":{},"index.html":{},"license.html":{},"overview.html":{}}}],["overview",{"_index":849,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["package",{"_index":657,"title":{"dependencies.html":{},"properties.html":{}},"body":{"index.html":{}}}],["padding",{"_index":396,"title":{},"body":{"components/DashboardComponent.html":{}}}],["parameters",{"_index":221,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/functions.html":{}}}],["particular",{"_index":828,"title":{},"body":{"index.html":{},"license.html":{}}}],["period",{"_index":899,"title":{},"body":{"miscellaneous/variables.html":{}}}],["permission",{"_index":784,"title":{},"body":{"index.html":{},"license.html":{}}}],["permit",{"_index":808,"title":{},"body":{"index.html":{},"license.html":{}}}],["person",{"_index":788,"title":{},"body":{"index.html":{},"license.html":{}}}],["persons",{"_index":809,"title":{},"body":{"index.html":{},"license.html":{}}}],["pipe",{"_index":345,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["platform/browser",{"_index":26,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["pnp_id",{"_index":890,"title":{},"body":{"miscellaneous/variables.html":{}}}],["portions",{"_index":818,"title":{},"body":{"index.html":{},"license.html":{}}}],["position",{"_index":178,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["post",{"_index":764,"title":{},"body":{"index.html":{}}}],["pr",{"_index":770,"title":{},"body":{"index.html":{}}}],["primary",{"_index":237,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["private",{"_index":312,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["process",{"_index":735,"title":{},"body":{"index.html":{}}}],["production",{"_index":865,"title":{},"body":{"miscellaneous/variables.html":{}}}],["progress",{"_index":188,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["progressspinnermode",{"_index":243,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["project",{"_index":758,"title":{},"body":{"index.html":{}}}],["projects/.../bluetooth.module.ts",{"_index":680,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../bluetooth.service.ts",{"_index":855,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../ti",{"_index":864,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/manekinekko/angular",{"_index":6,"title":{},"body":{"interfaces/AWBOptions.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":151,"title":{},"body":{"classes/AppPage.html":{},"injectables/BrowserWebBluetooth.html":{}}}],["promise.resolve(this",{"_index":450,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.characteristics[characteristic",{"_index":460,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.services[service].service",{"_index":453,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["promise.resolve(this.value",{"_index":471,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["properties",{"_index":10,"title":{"properties.html":{}},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"properties.html":{}}}],["protractor",{"_index":153,"title":{},"body":{"classes/AppPage.html":{}}}],["provide",{"_index":45,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["provided",{"_index":819,"title":{},"body":{"index.html":{},"license.html":{}}}],["providedin",{"_index":331,"title":{},"body":{"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"index.html":{}}}],["providers",{"_index":44,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["public",{"_index":199,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["publish",{"_index":802,"title":{},"body":{"index.html":{},"license.html":{}}}],["purpose",{"_index":829,"title":{},"body":{"index.html":{},"license.html":{}}}],["read",{"_index":731,"title":{},"body":{"index.html":{}}}],["readonly",{"_index":464,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"index.html":{}}}],["readvalue",{"_index":470,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["readvalueoptions",{"_index":639,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["request_new_parameters",{"_index":952,"title":{},"body":{"miscellaneous/variables.html":{}}}],["requestdevice",{"_index":348,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requestdevice(options",{"_index":350,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requestdeviceoptions",{"_index":351,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["requested",{"_index":730,"title":{},"body":{"index.html":{}}}],["requestvalue",{"_index":212,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["reset",{"_index":98,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["restriction",{"_index":796,"title":{},"body":{"index.html":{},"license.html":{}}}],["results",{"_index":50,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"properties.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":32,"title":{},"body":{"interfaces/AWBOptions.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["returns",{"_index":150,"title":{},"body":{"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["rgba(119,119,119,0.18",{"_index":546,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["rgba(255,161,161,0.30",{"_index":556,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["right",{"_index":411,"title":{},"body":{"components/DashboardComponent.html":{},"index.html":{}}}],["rights",{"_index":799,"title":{},"body":{"index.html":{},"license.html":{}}}],["root",{"_index":61,"title":{},"body":{"components/AppComponent.html":{},"classes/AppPage.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"index.html":{}}}],["root'},{'name",{"_index":72,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["row",{"_index":171,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["run",{"_index":760,"title":{},"body":{"index.html":{}}}],["rxjs",{"_index":254,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":329,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["s",{"_index":687,"title":{},"body":{"index.html":{}}}],["section",{"_index":395,"title":{},"body":{"components/DashboardComponent.html":{}}}],["see",{"_index":358,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["selector",{"_index":59,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["sell",{"_index":806,"title":{},"body":{"index.html":{},"license.html":{}}}],["sensortag2.ts",{"_index":641,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["serial_number",{"_index":878,"title":{},"body":{"miscellaneous/variables.html":{}}}],["series",{"_index":501,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["serverwebbluetooth",{"_index":572,"title":{"injectables/ServerWebBluetooth.html":{}},"body":{"injectables/ServerWebBluetooth.html":{},"coverage.html":{}}}],["serves",{"_index":759,"title":{},"body":{"index.html":{}}}],["service",{"_index":203,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["service.config",{"_index":268,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["service/component",{"_index":697,"title":{},"body":{"index.html":{}}}],["serviceoptions",{"_index":320,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["services",{"_index":447,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["shall",{"_index":815,"title":{},"body":{"index.html":{},"license.html":{}}}],["singleton",{"_index":264,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["size",{"_index":176,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["smart",{"_index":357,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["smoothie",{"_index":525,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"dependencies.html":{}}}],["smoothiechart",{"_index":511,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["snackbar",{"_index":204,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["software",{"_index":791,"title":{},"body":{"index.html":{},"license.html":{}}}],["software_rev",{"_index":884,"title":{},"body":{"miscellaneous/variables.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"classes/AppPage.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{}}}],["span",{"_index":174,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{}}}],["span')).gettext",{"_index":157,"title":{},"body":{"classes/AppPage.html":{}}}],["specific",{"_index":722,"title":{},"body":{"index.html":{}}}],["spinner",{"_index":123,"title":{},"body":{"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{}}}],["src/.../battery",{"_index":858,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../ble.service.ts",{"_index":856,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["src/.../environment.prod.ts",{"_index":862,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../environment.ts",{"_index":863,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../humidity.component.ts",{"_index":859,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../stepcounter.component.ts",{"_index":860,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/.../temperature.component.ts",{"_index":861,"title":{},"body":{"miscellaneous/variables.html":{}}}],["src/app/app.component.ts",{"_index":57,"title":{},"body":{"components/AppComponent.html":{},"coverage.html":{}}}],["src/app/app.module.ts",{"_index":100,"title":{},"body":{"modules/AppModule.html":{}}}],["src/app/ble.service.ts",{"_index":311,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["src/app/ble.service.ts:17",{"_index":318,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:19",{"_index":326,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:21",{"_index":321,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:25",{"_index":323,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:29",{"_index":324,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:36",{"_index":325,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/ble.service.ts:47",{"_index":322,"title":{},"body":{"injectables/BleService.html":{}}}],["src/app/dashboard/dashboard.component.ts",{"_index":379,"title":{},"body":{"components/DashboardComponent.html":{},"coverage.html":{}}}],["src/app/dashboard/dashboard.component.ts:9",{"_index":385,"title":{},"body":{"components/DashboardComponent.html":{}}}],["src/app/thingy52/battery",{"_index":159,"title":{},"body":{"components/BatteryLevelComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/humidity.component.ts",{"_index":496,"title":{},"body":{"components/HumidityComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/humidity.component.ts:102",{"_index":504,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:109",{"_index":505,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:113",{"_index":507,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:39",{"_index":518,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:40",{"_index":512,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:41",{"_index":522,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:42",{"_index":521,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:45",{"_index":516,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:47",{"_index":523,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:49",{"_index":503,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:52",{"_index":519,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:53",{"_index":520,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:62",{"_index":508,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:72",{"_index":506,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:82",{"_index":509,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/humidity.component.ts:91",{"_index":510,"title":{},"body":{"components/HumidityComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts",{"_index":578,"title":{},"body":{"components/StepCounterComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/stepcounter.component.ts:100",{"_index":589,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:50",{"_index":597,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:51",{"_index":595,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:52",{"_index":596,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:54",{"_index":598,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:56",{"_index":586,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:59",{"_index":593,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:60",{"_index":594,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:73",{"_index":590,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:81",{"_index":591,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:86",{"_index":592,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:91",{"_index":587,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/stepcounter.component.ts:96",{"_index":588,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["src/app/thingy52/temperature.component.ts",{"_index":606,"title":{},"body":{"components/TemperatureComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/app/thingy52/temperature.component.ts:111",{"_index":613,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:118",{"_index":614,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:127",{"_index":608,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:134",{"_index":609,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:138",{"_index":611,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:53",{"_index":617,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:54",{"_index":615,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:55",{"_index":620,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:56",{"_index":619,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:59",{"_index":616,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:61",{"_index":621,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:63",{"_index":607,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:65",{"_index":618,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:77",{"_index":612,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/app/thingy52/temperature.component.ts:86",{"_index":610,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["src/environments/environment.prod.ts",{"_index":652,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["src/environments/environment.ts",{"_index":654,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["standalone",{"_index":63,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["startblog",{"_index":763,"title":{},"body":{"index.html":{}}}],["started",{"_index":682,"title":{"index.html":{},"license.html":{}},"body":{"index.html":{}}}],["starter",{"_index":757,"title":{},"body":{"index.html":{}}}],["state",{"_index":939,"title":{},"body":{"miscellaneous/variables.html":{}}}],["statements",{"_index":631,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":42,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/HumidityComponent.html":{},"injectables/ServerWebBluetooth.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{}}}],["step",{"_index":542,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["stepcounter",{"_index":579,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["stepcounter'},{'name",{"_index":81,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["stepcountercomponent",{"_index":80,"title":{"components/StepCounterComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["stepper",{"_index":394,"title":{},"body":{"components/DashboardComponent.html":{}}}],["sticky",{"_index":403,"title":{},"body":{"components/DashboardComponent.html":{}}}],["stop",{"_index":710,"title":{},"body":{"index.html":{}}}],["stream",{"_index":316,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["streamsubscription",{"_index":205,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["string",{"_index":226,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["strokestyle",{"_index":545,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["styles",{"_index":158,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["styleurls",{"_index":381,"title":{},"body":{"components/DashboardComponent.html":{}}}],["subject",{"_index":811,"title":{},"body":{"index.html":{},"license.html":{}}}],["sublicense",{"_index":804,"title":{},"body":{"index.html":{},"license.html":{}}}],["subscribe",{"_index":534,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["subscribed",{"_index":711,"title":{},"body":{"index.html":{}}}],["subscription",{"_index":240,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["substantial",{"_index":817,"title":{},"body":{"index.html":{},"license.html":{}}}],["sup",{"_index":185,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["support",{"_index":356,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{},"modules.html":{}}}],["sure",{"_index":263,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["svg",{"_index":845,"title":{},"body":{"modules.html":{}}}],["system_id",{"_index":874,"title":{},"body":{"miscellaneous/variables.html":{}}}],["table",{"_index":656,"title":{},"body":{"coverage.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":655,"title":{},"body":{"coverage.html":{}}}],["tap",{"_index":328,"title":{},"body":{"injectables/BleService.html":{}}}],["tap(value",{"_index":339,"title":{},"body":{"injectables/BleService.html":{}}}],["target",{"_index":438,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["temperature",{"_index":83,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"miscellaneous/variables.html":{}}}],["temperaturecomponent",{"_index":82,"title":{"components/TemperatureComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"coverage.html":{},"overview.html":{}}}],["template",{"_index":62,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["templateurl",{"_index":383,"title":{},"body":{"components/DashboardComponent.html":{}}}],["text",{"_index":172,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["thingy52/battery",{"_index":132,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/humidity.component",{"_index":135,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/stepcounter.component",{"_index":136,"title":{},"body":{"modules/AppModule.html":{}}}],["thingy52/temperature.component",{"_index":137,"title":{},"body":{"modules/AppModule.html":{}}}],["this._config",{"_index":336,"title":{},"body":{"injectables/BleService.html":{}}}],["this._config.characteristic",{"_index":344,"title":{},"body":{"injectables/BleService.html":{}}}],["this._config.service",{"_index":343,"title":{},"body":{"injectables/BleService.html":{}}}],["this.ble",{"_index":342,"title":{},"body":{"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"index.html":{}}}],["this.ble.disconnectdevice",{"_index":346,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.getcharacteristic$(primaryservice",{"_index":745,"title":{},"body":{"index.html":{}}}],["this.ble.getdevice",{"_index":337,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.getprimaryservice$(gatt",{"_index":741,"title":{},"body":{"index.html":{}}}],["this.ble.readvalue$(characteristic",{"_index":751,"title":{},"body":{"index.html":{}}}],["this.ble.requestdevice(options",{"_index":362,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["this.ble.streamvalues$().pipe",{"_index":338,"title":{},"body":{"injectables/BleService.html":{},"index.html":{}}}],["this.ble.streamvalues$().pipe(map((value",{"_index":719,"title":{},"body":{"index.html":{}}}],["this.characteristics.service",{"_index":457,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.chart",{"_index":539,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.addtimeseries(this.series",{"_index":553,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.start",{"_index":563,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.stop",{"_index":558,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chart!.streamto(canvas",{"_index":557,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.chartref!.nativeelement",{"_index":537,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.color",{"_index":283,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.connected",{"_index":449,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.console.log('reading",{"_index":299,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.device.disconnect",{"_index":454,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.devicesubscription",{"_index":281,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.devicesubscription!.unsubscribe",{"_index":302,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.devicesubscription?.unsubscribe",{"_index":307,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.getdevicestatus",{"_index":275,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.haserror(err",{"_index":297,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.haserror(error",{"_index":280,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.haserror.bind(this",{"_index":290,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.id",{"_index":443,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.initchart",{"_index":532,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.initialvalue",{"_index":469,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners",{"_index":445,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners['characteristicvaluechanged'].foreach(listener",{"_index":473,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners['gattserverdisconnected'].foreach(listener",{"_index":440,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.listeners[type",{"_index":436,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.mode",{"_index":285,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.name",{"_index":444,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.properties",{"_index":468,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["this.series",{"_index":535,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.series!.append(date.now",{"_index":562,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.series!.clear",{"_index":564,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.disconnectdevice",{"_index":301,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.getdevice",{"_index":267,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.getdevice().subscribe((device",{"_index":282,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.service.stream",{"_index":533,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["this.service.stream().subscribe",{"_index":277,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.service.value",{"_index":559,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{}}}],["this.service.value().subscribe",{"_index":292,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.snackbar.open(error",{"_index":304,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription",{"_index":276,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription!.unsubscribe",{"_index":565,"title":{},"body":{"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.streamsubscription?.unsubscribe",{"_index":308,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.updatevalue(val",{"_index":295,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.updatevalue(value",{"_index":279,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["this.value",{"_index":287,"title":{},"body":{"components/BatteryLevelComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/StepCounterComponent.html":{}}}],["this.valuessubscription",{"_index":291,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.valuessubscription!.unsubscribe",{"_index":303,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["this.valuessubscription?.unsubscribe",{"_index":306,"title":{},"body":{"components/BatteryLevelComponent.html":{}}}],["throw",{"_index":354,"title":{},"body":{"injectables/BrowserWebBluetooth.html":{}}}],["ti_sensorag_services",{"_index":642,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["time",{"_index":601,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["timeseries",{"_index":517,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["titag",{"_index":643,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["toolbar.mat",{"_index":402,"title":{},"body":{"components/DashboardComponent.html":{}}}],["tooltip",{"_index":552,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["top",{"_index":180,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["tort",{"_index":840,"title":{},"body":{"index.html":{},"license.html":{}}}],["tree",{"_index":56,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["trigger",{"_index":733,"title":{},"body":{"index.html":{}}}],["true",{"_index":141,"title":{},"body":{"modules/AppModule.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ts",{"_index":671,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":674,"title":{},"body":{"dependencies.html":{}}}],["tslint:disable",{"_index":332,"title":{},"body":{"injectables/BleService.html":{},"components/HumidityComponent.html":{}}}],["type",{"_index":14,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":853,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":298,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["types/web",{"_index":667,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["undefined",{"_index":462,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["unknown",{"_index":439,"title":{},"body":{"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{}}}],["updatevalue",{"_index":213,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["updatevalue(value",{"_index":232,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["use",{"_index":696,"title":{},"body":{"index.html":{},"license.html":{}}}],["usefactory",{"_index":46,"title":{},"body":{"interfaces/AWBOptions.html":{},"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"miscellaneous/variables.html":{}}}],["usevalue",{"_index":47,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/WebBluetoothModule.html":{}}}],["using",{"_index":702,"title":{},"body":{"index.html":{}}}],["val",{"_index":294,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["value",{"_index":195,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["value.getint8(0",{"_index":271,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{},"index.html":{}}}],["value.getuint32(0",{"_index":600,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["value.getuint32(4",{"_index":602,"title":{},"body":{"components/StepCounterComponent.html":{}}}],["value.getuint8(0",{"_index":720,"title":{},"body":{"index.html":{}}}],["value.getuint8(1",{"_index":625,"title":{},"body":{"components/TemperatureComponent.html":{}}}],["values",{"_index":706,"title":{},"body":{"index.html":{}}}],["valuessubscription",{"_index":206,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["var",{"_index":69,"title":{},"body":{"components/AppComponent.html":{},"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/HumidityComponent.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["variable",{"_index":334,"title":{},"body":{"injectables/BleService.html":{},"coverage.html":{}}}],["variables",{"_index":857,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":851,"title":{},"body":{"properties.html":{}}}],["viewchild",{"_index":524,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["viewchild('chart",{"_index":515,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["void",{"_index":223,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/ConsoleLoggerService.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{}}}],["want",{"_index":728,"title":{},"body":{"index.html":{}}}],["warn",{"_index":284,"title":{},"body":{"components/BatteryLevelComponent.html":{},"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warn(...args",{"_index":370,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warn(args",{"_index":375,"title":{},"body":{"injectables/ConsoleLoggerService.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{}}}],["warranties",{"_index":825,"title":{},"body":{"index.html":{},"license.html":{}}}],["warranty",{"_index":820,"title":{},"body":{"index.html":{},"license.html":{}}}],["wassim",{"_index":782,"title":{},"body":{"index.html":{},"license.html":{}}}],["way",{"_index":699,"title":{},"body":{"index.html":{}}}],["web",{"_index":7,"title":{},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"components/BatteryLevelComponent.html":{},"injectables/BleService.html":{},"injectables/BrowserWebBluetooth.html":{},"injectables/ConsoleLoggerService.html":{},"components/DashboardComponent.html":{},"classes/FakeBluetoothDevice.html":{},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{},"classes/FakeBluetoothRemoteGATTServer.html":{},"classes/FakeBluetoothRemoteGATTService.html":{},"components/HumidityComponent.html":{},"interfaces/Logger.html":{},"injectables/NoLoggerService.html":{},"injectables/ServerWebBluetooth.html":{},"components/StepCounterComponent.html":{},"components/TemperatureComponent.html":{},"modules/WebBluetoothModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["webbluetoothmodule",{"_index":41,"title":{"modules/WebBluetoothModule.html":{}},"body":{"interfaces/AWBOptions.html":{},"modules/AppModule.html":{},"modules/WebBluetoothModule.html":{},"index.html":{},"modules.html":{},"overview.html":{}}}],["webbluetoothmodule.forroot",{"_index":140,"title":{},"body":{"modules/AppModule.html":{},"index.html":{}}}],["welcome",{"_index":772,"title":{},"body":{"index.html":{}}}],["whether",{"_index":837,"title":{},"body":{"index.html":{},"license.html":{}}}],["width",{"_index":182,"title":{},"body":{"components/BatteryLevelComponent.html":{},"components/DashboardComponent.html":{},"components/StepCounterComponent.html":{}}}],["window.smoothiechart",{"_index":540,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["window.timeseries",{"_index":536,"title":{},"body":{"components/HumidityComponent.html":{},"components/TemperatureComponent.html":{}}}],["without",{"_index":795,"title":{},"body":{"index.html":{},"license.html":{}}}],["yes",{"_index":476,"title":{},"body":{"classes/FakeBluetoothRemoteGATTCharacteristic.html":{}}}],["z",{"_index":404,"title":{},"body":{"components/DashboardComponent.html":{}}}],["zone.js",{"_index":676,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":97,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}]],"pipeline":["stemmer"]},
+ "store": {"interfaces/AWBOptions.html":{"url":"interfaces/AWBOptions.html","title":"interface - AWBOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AWBOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n enableTracing\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enableTracing\n \n \n \n \n \n \n \n \n enableTracing: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { NgModule, ModuleWithProviders, InjectionToken, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BluetoothCore } from './bluetooth.service';\nimport { BrowserWebBluetooth } from './platform/browser';\n\nimport { ConsoleLoggerService, NoLoggerService } from './logger.service';\n\nexport interface AWBOptions {\n enableTracing?: boolean;\n}\n\nexport function browserWebBluetooth() {\n return new BrowserWebBluetooth();\n}\n\nexport function consoleLoggerServiceConfig(options: AWBOptions) {\n if (options && options.enableTracing) {\n return new ConsoleLoggerService();\n } else {\n return new NoLoggerService();\n }\n}\nexport function makeMeTokenInjector() {\n return new InjectionToken('AWBOptions');\n}\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class WebBluetoothModule {\n static forRoot(options: AWBOptions = {}): ModuleWithProviders {\n return {\n ngModule: WebBluetoothModule,\n providers: [\n BluetoothCore,\n {\n provide: BrowserWebBluetooth,\n useFactory: browserWebBluetooth\n },\n {\n provide: makeMeTokenInjector,\n useValue: options\n },\n {\n provide: ConsoleLoggerService,\n useFactory: consoleLoggerServiceConfig,\n deps: [makeMeTokenInjector]\n }\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/app.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ble-root\n \n\n\n\n\n\n \n template\n \n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n \n import { Component } from '@angular/core';\n\n@Component({\n selector: 'ble-root',\n template: `\n \n `,\n standalone: false\n})\nexport class AppComponent {}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n Declarations\n\n Module\n\n Bootstrap\n\n Providers\n\n Exports\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_bootstrap\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nBatteryLevelComponent\n\nBatteryLevelComponent\n\nAppModule -->\n\nBatteryLevelComponent->AppModule\n\n\n\n\n\nDashboardComponent\n\nDashboardComponent\n\nAppModule -->\n\nDashboardComponent->AppModule\n\n\n\n\n\nHumidityComponent\n\nHumidityComponent\n\nAppModule -->\n\nHumidityComponent->AppModule\n\n\n\n\n\nStepCounterComponent\n\nStepCounterComponent\n\nAppModule -->\n\nStepCounterComponent->AppModule\n\n\n\n\n\nTemperatureComponent\n\nTemperatureComponent\n\nAppModule -->\n\nTemperatureComponent->AppModule\n\n\n\n\n\nAppComponent \n\nAppComponent \n\nAppComponent -->\n\nAppModule->AppComponent \n\n\n\n\n\nWebBluetoothModule\n\nWebBluetoothModule\n\nAppModule -->\n\nWebBluetoothModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n BatteryLevelComponent\n \n \n DashboardComponent\n \n \n HumidityComponent\n \n \n StepCounterComponent\n \n \n TemperatureComponent\n \n \n \n \n Imports\n \n \n WebBluetoothModule\n \n \n \n \n Bootstrap\n \n \n AppComponent\n \n \n \n \n \n\n\n \n\n\n \n import { LayoutModule } from '@angular/cdk/layout';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatToolbarModule } from '@angular/material/toolbar';\n\nimport { WebBluetoothModule } from '@manekinekko/angular-web-bluetooth';\nimport { AppComponent } from './app.component';\nimport { BatteryLevelComponent } from './thingy52/battery-level.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { HumidityComponent } from './thingy52/humidity.component';\nimport { StepCounterComponent } from './thingy52/stepcounter.component';\nimport { TemperatureComponent } from './thingy52/temperature.component';\nimport { BrowserModule } from '@angular/platform-browser';\n\n@NgModule({\n declarations: [\n AppComponent,\n BatteryLevelComponent,\n TemperatureComponent,\n HumidityComponent,\n StepCounterComponent,\n DashboardComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n WebBluetoothModule.forRoot({\n enableTracing: true\n }),\n LayoutModule,\n MatToolbarModule,\n MatButtonModule,\n MatIconModule,\n MatListModule,\n MatExpansionModule,\n MatSnackBarModule,\n MatProgressSpinnerModule,\n MatGridListModule,\n MatCardModule,\n MatMenuModule\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AppPage.html":{"url":"classes/AppPage.html","title":"class - AppPage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AppPage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n e2e/src/app.po.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getTitleText\n \n \n navigateTo\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getTitleText\n \n \n \n \n \n \ngetTitleText()\n \n \n\n\n \n \n Defined in e2e/src/app.po.ts:8\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n navigateTo\n \n \n \n \n \n \nnavigateTo()\n \n \n\n\n \n \n Defined in e2e/src/app.po.ts:4\n \n \n\n\n \n \n\n \n Returns : Promise<>\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { browser, by, element } from 'protractor';\n\nexport class AppPage {\n navigateTo(): Promise {\n return browser.get(browser.baseUrl) as Promise;\n }\n\n getTitleText(): Promise {\n return element(by.css('app-root .content span')).getText() as Promise;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/BatteryLevelComponent.html":{"url":"components/BatteryLevelComponent.html","title":"component - BatteryLevelComponent","body":"\n \n\n\n\n\n\n Components\n \n BatteryLevelComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/battery-level.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-battery-level\n \n\n\n\n\n \n styles\n \n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n \n \n\n \n template\n {{ value || '000' }}%\n\n\nbattery_charging_full\n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n color\n \n \n Public\n console\n \n \n deviceSubscription\n \n \n mode\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n value\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n getDeviceStatus\n \n \n hasError\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar, console: ConsoleLoggerService)\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:86\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n console\n \n \n ConsoleLoggerService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:163\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getDeviceStatus\n \n \n \n \n \n \ngetDeviceStatus()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:117\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:173\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:100\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:132\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/battery-level.component.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'primary'\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n console\n \n \n \n \n \n \n Type : ConsoleLoggerService\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n deviceSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:82\n \n \n\n\n \n \n \n \n \n \n \n \n mode\n \n \n \n \n \n \n Type : ProgressSpinnerMode\n\n \n \n \n \n Default value : 'determinate'\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:80\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/battery-level.component.ts:84\n \n \n\n \n \n\n\n\n\n \n import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n BluetoothCore,\n BrowserWebBluetooth,\n ConsoleLoggerService,\n} from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { BleService } from '../ble.service';\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n];\n\n@Component({\n selector: 'ble-battery-level',\n template: `\n {{ value || '000' }}%\n \n \n battery_charging_full\n `,\n styles: [\n `\n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n `,\n ],\n providers: PROVIDERS,\n standalone: false\n})\nexport class BatteryLevelComponent implements OnInit, OnDestroy {\n value = 0;\n mode: ProgressSpinnerMode = 'determinate';\n color = 'primary';\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n deviceSubscription: Subscription | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar,\n public console: ConsoleLoggerService\n ) {\n service.config({\n decoder: (value: DataView) => value.getInt8(0),\n service: 'battery_service',\n characteristic: 'battery_level',\n });\n }\n\n ngOnInit() {\n this.getDeviceStatus();\n\n this.streamSubscription = this.service.stream().subscribe(\n (\n value:\n | number\n | {\n [key: string]: number;\n }\n ) => {\n this.updateValue(value);\n },\n (error) => this.hasError(error)\n );\n }\n\n getDeviceStatus() {\n this.deviceSubscription = this.service.getDevice().subscribe((device) => {\n if (device) {\n this.color = 'warn';\n this.mode = 'indeterminate';\n this.value = 0;\n } else {\n // device not connected or disconnected\n this.value = 0;\n this.mode = 'determinate';\n this.color = 'primary';\n }\n }, this.hasError.bind(this));\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value().subscribe({\n next: (\n val:\n | number\n | {\n [key: string]: number;\n }\n ) => this.updateValue(val),\n error: (err) => this.hasError(err),\n });\n }\n\n updateValue(\n value:\n | number\n | {\n [key: string]: number;\n }\n ) {\n\n if (typeof value === 'number') {\n this.value = value;\n } else {\n this.value = value[''];\n }\n\n this.console.log('Reading battery level %d', value);\n this.mode = 'determinate';\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.deviceSubscription!.unsubscribe();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription?.unsubscribe();\n this.deviceSubscription?.unsubscribe();\n this.streamSubscription?.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: flex;\n justify-content: center;\n flex-direction: row;\n text-align: center;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 222px;\n width: 120px;\n display: block;\n text-align: center;\n }\n sup {\n font-size: 24px;\n }\n mat-progress-spinner {\n top: 90px;\n left: 5px;\n }\n mat-icon {\n position: absolute;\n bottom: 255px;\n }\n \n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ value || \\'000\\' }}%battery_charging_full'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'BatteryLevelComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BleService.html":{"url":"injectables/BleService.html","title":"injectable - BleService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BleService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n src/app/ble.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _config\n \n \n Public\n ble\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n config\n \n \n disconnectDevice\n \n \n getDevice\n \n \n stream\n \n \n value\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ble: BluetoothCore)\n \n \n \n \n Defined in src/app/ble.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ble\n \n \n BluetoothCore\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \nconfig(options: ServiceOptions)\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n ServiceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n disconnectDevice\n \n \n \n \n \n \ndisconnectDevice()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:47\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getDevice\n \n \n \n \n \n \ngetDevice()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:25\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n stream\n \n \n \n \n \n \nstream()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:29\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \nvalue()\n \n \n\n\n \n \n Defined in src/app/ble.service.ts:36\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _config\n \n \n \n \n \n \n Type : ServiceOptions\n\n \n \n \n \n Default value : {} as any\n \n \n \n \n Defined in src/app/ble.service.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n ble\n \n \n \n \n \n \n Type : BluetoothCore\n\n \n \n \n \n Defined in src/app/ble.service.ts:19\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\nimport { map, tap } from 'rxjs/operators';\n\ntype ServiceOptions = {\n characteristic: string;\n service: string,\n decoder(value: DataView): number\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BleService {\n\n // tslint:disable-next-line: variable-name\n private _config: ServiceOptions = {} as any;\n\n constructor(public ble: BluetoothCore) {}\n\n config(options: ServiceOptions) {\n this._config = options;\n }\n\n getDevice() {\n return this.ble.getDevice$();\n }\n\n stream() {\n return this.ble.streamValues$().pipe(\n tap(value => console.log(value)),\n map(this._config.decoder)\n );\n }\n\n value() {\n return this.ble\n .value$({\n service: this._config.service,\n characteristic: this._config.characteristic\n })\n .pipe(\n map(this._config.decoder)\n );\n }\n\n disconnectDevice() {\n this.ble.disconnectDevice();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BrowserWebBluetooth.html":{"url":"injectables/BrowserWebBluetooth.html","title":"injectable - BrowserWebBluetooth","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BrowserWebBluetooth\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n ble\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n requestDevice\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:5\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n requestDevice\n \n \n \n \n \n \nrequestDevice(options: RequestDeviceOptions)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RequestDeviceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n ble\n \n \n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts:5\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BrowserWebBluetooth {\n private ble;\n\n constructor() {\n this.ble = navigator.bluetooth;\n if (!this.ble) {\n throw new Error('Your browser does not support Smart Bluetooth. See http://caniuse.com/#search=Bluetooth for more details.');\n }\n }\n\n requestDevice(options: RequestDeviceOptions): Promise {\n return this.ble.requestDevice(options);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsoleLoggerService.html":{"url":"injectables/ConsoleLoggerService.html","title":"injectable - ConsoleLoggerService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConsoleLoggerService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n error\n \n \n log\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DashboardComponent.html":{"url":"components/DashboardComponent.html","title":"component - DashboardComponent","body":"\n \n\n\n\n\n\n Components\n \n DashboardComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/dashboard/dashboard.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ble-dashboard\n \n\n\n\n \n styleUrls\n ./dashboard.component.css\n \n\n\n\n \n templateUrl\n ./dashboard.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in src/app/dashboard/dashboard.component.ts:9\n \n \n\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n import { Component } from '@angular/core';\n\n@Component({\n selector: 'ble-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.css'],\n standalone: false\n})\nexport class DashboardComponent {\n\n constructor() {}\n}\n\n \n\n \n \n \n Angular Web BLE Demo\n\n\n\n \n\n \n\n \n \n \n \n Battery Level\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Humidity Level\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Temperature\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n Stepper\n \n more_vert\n \n \n \n bluetooth_searching\n Connect\n \n \n bluetooth_disabled\n Disconnect\n \n \n \n \n {{ device.name }}\n \n \n \n \n \n \n \n\n \n\n\n \n\n \n \n ./dashboard.component.css\n \n section {\n padding: 40px;\n max-width: 700px;\n margin: 0 auto;\n}\n\n.mat-toolbar.mat-primary {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.grid-container {\n margin: 20px;\n}\n\n.dashboard-card {\n position: absolute;\n top: 15px;\n left: 15px;\n right: 15px;\n bottom: 15px;\n}\n\n.more-button {\n position: absolute;\n top: 5px;\n right: 10px;\n}\n\n.dashboard-card-content {\n text-align: center;\n}\n\n\nimg {\n width: 32px;\n margin: 0 10px;\n}\n\n.mat-icon {\n margin: 0 10px 0 0;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Angular Web BLE Demo Battery Level more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Humidity Level more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Temperature more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} Stepper more_vert bluetooth_searching Connect bluetooth_disabled Disconnect {{ device.name }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DashboardComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothDevice.html":{"url":"classes/FakeBluetoothDevice.html","title":"class - FakeBluetoothDevice","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothDevice\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n gatt\n \n \n Public\n id\n \n \n Private\n listeners\n \n \n Public\n name\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEventListener\n \n \n clear\n \n \n disconnect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, name: string)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n gatt\n \n \n \n \n \n \n Type : BluetoothRemoteGATTServer | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listeners\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n gattserverdisconnected: []\n }\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:14\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEventListener\n \n \n \n \n \n \naddEventListener(type: string, listener: EventListener)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n listener\n \n EventListener\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:29\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:24\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTCharacteristic.html":{"url":"classes/FakeBluetoothRemoteGATTCharacteristic.html","title":"class - FakeBluetoothRemoteGATTCharacteristic","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTCharacteristic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n initialValue\n \n \n Private\n listeners\n \n \n properties\n \n \n value\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEventListener\n \n \n changeValue\n \n \n clear\n \n \n readValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:78\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n \n BluetoothCharacteristicProperties\n \n \n \n No\n \n \n \n \n initialValue\n \n \n DataView\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n initialValue\n \n \n \n \n \n \n Type : DataView | undefined\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listeners\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n characteristicvaluechanged: []\n }\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n properties\n \n \n \n \n \n \n Type : BluetoothCharacteristicProperties\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : DataView | undefined\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:71\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEventListener\n \n \n \n \n \n \naddEventListener(type: string, listener: EventListener)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n listener\n \n EventListener\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n changeValue\n \n \n \n \n \n \nchangeValue(value: DataView)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n DataView\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:103\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n readValue\n \n \n \n \n \n \nreadValue()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:86\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTServer.html":{"url":"classes/FakeBluetoothRemoteGATTServer.html","title":"class - FakeBluetoothRemoteGATTServer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTServer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n connected\n \n \n Public\n device\n \n \n Public\n services\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n disconnect\n \n \n getPrimaryService\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(device: any, services: literal type)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n device\n \n \n any\n \n \n \n No\n \n \n \n \n services\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n connected\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n device\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n services\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:45\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:54\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getPrimaryService\n \n \n \n \n \n \ngetPrimaryService(service: BluetoothServiceUUID)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n BluetoothServiceUUID\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FakeBluetoothRemoteGATTService.html":{"url":"classes/FakeBluetoothRemoteGATTService.html","title":"class - FakeBluetoothRemoteGATTService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FakeBluetoothRemoteGATTService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n characteristics\n \n \n Public\n device\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getCharacteristic\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(device: any, characteristics: any)\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n device\n \n \n any\n \n \n \n No\n \n \n \n \n characteristics\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n characteristics\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n device\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:61\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getCharacteristic\n \n \n \n \n \n \ngetCharacteristic(characteristic: BluetoothCharacteristicUUID)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n characteristic\n \n BluetoothCharacteristicUUID\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class FakeBluetoothDevice {\n gatt: BluetoothRemoteGATTServer | null = null;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n gattserverdisconnected: []\n };\n\n constructor(public id: string, public name: string) {\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n disconnect() {\n const mockedEvent = {target: this} as unknown;\n this.listeners['gattserverdisconnected'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.id = \"\";\n this.name = \"\";\n this.listeners = {\n gattserverdisconnected: []\n };\n }\n}\n\nexport class FakeBluetoothRemoteGATTServer {\n connected = false;\n\n constructor(public device: any, public services: { [key: string]: { service: any, primary: boolean } }) {\n device.gatt = this;\n }\n\n connect() {\n this.connected = true;\n return Promise.resolve(this);\n }\n\n getPrimaryService(service: BluetoothServiceUUID) {\n return Promise.resolve(this.services[service].service);\n }\n\n disconnect() {\n this.device.disconnect();\n this.connected = false;\n }\n}\n\nexport class FakeBluetoothRemoteGATTService {\n constructor(public device: any, public characteristics: any) {\n this.characteristics.service = this;\n }\n\n getCharacteristic(characteristic: BluetoothCharacteristicUUID) {\n return Promise.resolve(this.characteristics[characteristic]);\n }\n}\n\nexport class FakeBluetoothRemoteGATTCharacteristic {\n value: DataView | undefined;\n properties: BluetoothCharacteristicProperties;\n private readonly initialValue: DataView | undefined;\n private listeners: {\n [key: string]: EventListener[]\n } = {\n characteristicvaluechanged: []\n };\n\n constructor(properties: BluetoothCharacteristicProperties, initialValue?: DataView) {\n this.properties = properties;\n this.value = initialValue;\n this.initialValue = initialValue;\n }\n\n readValue() {\n return Promise.resolve(this.value);\n }\n\n addEventListener(type: string, listener: EventListener) {\n this.listeners[type] = [\n ...this.listeners[type],\n listener\n ];\n }\n\n changeValue(value: DataView) {\n this.value = value;\n const mockedEvent = {target: this} as unknown;\n this.listeners['characteristicvaluechanged'].forEach(listener => listener(mockedEvent as Event));\n }\n\n clear() {\n this.value = this.initialValue;\n this.listeners = {\n characteristicvaluechanged: []\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HumidityComponent.html":{"url":"components/HumidityComponent.html","title":"component - HumidityComponent","body":"\n \n\n\n\n\n\n Components\n \n HumidityComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/humidity.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-humidity\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n\n \n template\n \n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n chart\n \n \n \n chartRef\n \n \n series\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n initChart\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:49\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:102\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initChart\n \n \n \n \n \n \ninitChart()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:72\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:113\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:62\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:82\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/humidity.component.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n chart\n \n \n \n \n \n \n Type : SmoothieChart | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n chartRef\n \n \n \n \n \n \n Type : ElementRef | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Decorators : \n \n \n @ViewChild('chart', {static: true})\n \n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n series\n \n \n \n \n \n \n Type : TimeSeries | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:41\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/humidity.component.ts:47\n \n \n\n \n \n\n\n\n\n \n import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BluetoothCore, BrowserWebBluetooth, ConsoleLoggerService } from '@manekinekko/angular-web-bluetooth';\nimport { of, Subscription } from 'rxjs';\nimport { SmoothieChart, TimeSeries } from 'smoothie';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}];\n\n@Component({\n selector: 'ble-humidity',\n template: `\n \n `,\n styles: [`\n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }`],\n providers: PROVIDERS,\n standalone: false\n})\nexport class HumidityComponent implements OnInit, OnDestroy {\n series: TimeSeries | null = null;\n chart: SmoothieChart | null = null;\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n\n @ViewChild('chart', { static: true })\n chartRef: ElementRef | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar) {\n\n service.config({\n decoder: (value: DataView) => value.getInt8(0),\n service: 'ef680200-9b35-4933-9b10-52ffa9740042',\n characteristic: 'ef680203-9b35-4933-9b10-52ffa9740042'\n });\n }\n\n ngOnInit() {\n this.initChart();\n\n this.streamSubscription = this.service.stream()\n .subscribe({\n next: (val: number | { [key: string]: number; }) => this.updateValue(val),\n error: (err) => this.hasError(err)\n });\n }\n\n initChart() {\n this.series = new window.TimeSeries() as TimeSeries;\n const canvas = this.chartRef!.nativeElement;\n // tslint:disable-next-line: max-line-length\n this.chart = new window.SmoothieChart({ interpolation: 'step', grid: { fillStyle: '#ffffff', strokeStyle: 'rgba(119,119,119,0.18)', borderVisible: false }, labels: { fillStyle: '#000000', fontSize: 17 }, tooltip: true });\n this.chart!.addTimeSeries(this.series, { lineWidth: 1, strokeStyle: '#ff0000', fillStyle: 'rgba(255,161,161,0.30)' });\n this.chart!.streamTo(canvas);\n this.chart!.stop();\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value()\n .subscribe(\n () => null,\n () => of(this.hasError.bind(this)),\n );\n }\n\n\n updateValue(value: number | { [key: string]: number; }) {\n console.log('Reading humidity %d', value);\n\n if (typeof value === 'number') {\n this.series!.append(Date.now(), value);\n this.chart!.start();\n }\n\n }\n\n\n disconnect() {\n this.service.disconnectDevice();\n this.series!.clear();\n this.chart!.stop();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HumidityComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Logger.html":{"url":"interfaces/Logger.html","title":"interface - Logger","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Logger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n log\n \n \n \n \n warn\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(args: string[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NoLoggerService.html":{"url":"injectables/NoLoggerService.html","title":"injectable - NoLoggerService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NoLoggerService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n error\n \n \n log\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(...args: any[])\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n args\n \n any[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\nexport interface Logger {\n log(args: string[]): void;\n error(args: string[]): void;\n warn(args: string[]): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsoleLoggerService implements Logger {\n log(...args: any[]) {\n console.log.apply(console, args);\n }\n error(...args: any[]) {\n console.error.apply(console, args);\n }\n warn(...args: any[]) {\n console.warn.apply(console, args);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoLoggerService implements Logger {\n log(...args: any[]) {}\n error(...args: any[]) {}\n warn(...args: any[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ServerWebBluetooth.html":{"url":"injectables/ServerWebBluetooth.html","title":"injectable - ServerWebBluetooth","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ServerWebBluetooth\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n instance\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n instance\n \n \n \n \n \n \n \n instance()\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts:5\n \n \n\n\n \n \n\n \n Returns : {}\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ServerWebBluetooth {\n static instance() {\n // mocked object for now\n return {};\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StepCounterComponent.html":{"url":"components/StepCounterComponent.html","title":"component - StepCounterComponent","body":"\n \n\n\n\n\n\n Components\n \n StepCounterComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/stepcounter.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-stepcounter\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }\n \n\n \n template\n {{ value || \"000\" }}\ndirections_walk\n\n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n value\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:91\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:100\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:73\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:81\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number)\n \n \n\n\n \n \n Defined in src/app/thingy52/stepcounter.component.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:50\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/stepcounter.component.ts:54\n \n \n\n \n \n\n\n\n\n \n import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BluetoothCore, BrowserWebBluetooth, ConsoleLoggerService } from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}];\n\n@Component({\n selector: 'ble-stepcounter',\n template: `\n {{ value || \"000\" }}\n directions_walk\n `,\n styles: [`\n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }`],\n providers: PROVIDERS,\n standalone: false\n})\nexport class StepCounterComponent implements OnInit, OnDestroy {\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n value = 0;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(\n public service: BleService,\n public snackBar: MatSnackBar) {\n\n service.config({\n decoder: (value: DataView) => {\n const count = value.getUint32(0, true);\n const time = value.getUint32(4, true);\n return count;\n },\n service: 'ef680400-9b35-4933-9b10-52ffa9740042',\n characteristic: 'ef680405-9b35-4933-9b10-52ffa9740042'\n });\n }\n\n ngOnInit() {\n this.streamSubscription = this.service.stream()\n .subscribe({\n next: (val: number) => this.updateValue(val),\n error: (err) => this.hasError(err)\n });\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value()\n .subscribe(() => null, error => this.hasError.bind(this));\n }\n\n updateValue(value: number) {\n console.log('Reading step counter %d', value);\n this.value = value;\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n\n\n \n\n\n \n \n :host {\n display: block;\n }\n span {\n font-size: 5em;\n position: absolute;\n top: 112px;\n left: 214px;\n width: 120px;\n display: block;\n text-align: center;\n }\n mat-icon {\n font-size: 11em;\n width: 100%;\n height: 100%;\n }\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ value || \"000\" }}directions_walk'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StepCounterComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TemperatureComponent.html":{"url":"components/TemperatureComponent.html","title":"component - TemperatureComponent","body":"\n \n\n\n\n\n\n Components\n \n TemperatureComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n src/app/thingy52/temperature.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n \n providers\n \n PROVIDERS\n \n \n\n\n \n selector\n ble-temperature\n \n\n\n\n\n \n styles\n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n \n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n chart\n \n \n \n chartRef\n \n \n series\n \n \n Public\n service\n \n \n Public\n snackBar\n \n \n streamSubscription\n \n \n valuesSubscription\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n disconnect\n \n \n hasError\n \n \n initChart\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n requestValue\n \n \n updateValue\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: BleService, snackBar: MatSnackBar)\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:63\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n BleService\n \n \n \n No\n \n \n \n \n snackBar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n disconnect\n \n \n \n \n \n \ndisconnect()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:127\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n hasError\n \n \n \n \n \n \nhasError(error: string)\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:134\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initChart\n \n \n \n \n \n \ninitChart()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:86\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:138\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:77\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n requestValue\n \n \n \n \n \n \nrequestValue()\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:111\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateValue\n \n \n \n \n \n \nupdateValue(value: number | literal type)\n \n \n\n\n \n \n Defined in src/app/thingy52/temperature.component.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n number | literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n chart\n \n \n \n \n \n \n Type : SmoothieChart | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n chartRef\n \n \n \n \n \n \n Type : ElementRef | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Decorators : \n \n \n @ViewChild('chart', {static: true})\n \n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n series\n \n \n \n \n \n \n Type : TimeSeries | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n service\n \n \n \n \n \n \n Type : BleService\n\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n snackBar\n \n \n \n \n \n \n Type : MatSnackBar\n\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n streamSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n valuesSubscription\n \n \n \n \n \n \n Type : Subscription | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:55\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n device\n \n \n\n \n \n getdevice()\n \n \n \n \n Defined in src/app/thingy52/temperature.component.ts:61\n \n \n\n \n \n\n\n\n\n \n import {\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n BluetoothCore,\n BrowserWebBluetooth,\n ConsoleLoggerService,\n} from '@manekinekko/angular-web-bluetooth';\nimport { Subscription } from 'rxjs';\nimport { SmoothieChart, TimeSeries } from 'smoothie';\nimport { BleService } from '../ble.service';\n\nexport const bleCore = (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l);\nexport const bleService = (b: BluetoothCore) => new BleService(b);\n\n// make sure we get a singleton instance of each service\nconst PROVIDERS = [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n];\n\n@Component({\n selector: 'ble-temperature',\n template: ` `,\n styles: [\n `\n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n `,\n ],\n providers: PROVIDERS,\n standalone: false\n})\nexport class TemperatureComponent implements OnInit, OnDestroy {\n series: TimeSeries | null = null;\n chart: SmoothieChart | null = null;\n valuesSubscription: Subscription | null = null;\n streamSubscription: Subscription | null = null;\n\n @ViewChild('chart', { static: true })\n chartRef: ElementRef | null = null;\n\n get device() {\n return this.service.getDevice();\n }\n\n constructor(public service: BleService, public snackBar: MatSnackBar) {\n service.config({\n characteristic: 'ef680201-9b35-4933-9b10-52ffa9740042',\n service: 'ef680200-9b35-4933-9b10-52ffa9740042',\n decoder: (value: DataView) => {\n const integer = value.getInt8(0);\n const decimal = value.getUint8(1);\n return integer + decimal / 100;\n },\n });\n }\n\n ngOnInit() {\n this.initChart();\n\n this.streamSubscription = this.service.stream().subscribe({\n next: (val: number | { [key: string]: number; }) => this.updateValue(val),\n error: (err) => this.hasError(err),\n });\n }\n\n initChart() {\n this.series = new window.TimeSeries() as TimeSeries;\n const canvas = this.chartRef!.nativeElement;\n this.chart = new window.SmoothieChart({\n interpolation: 'step',\n grid: {\n fillStyle: '#ffffff',\n strokeStyle: 'rgba(119,119,119,0.18)',\n borderVisible: false,\n },\n labels: {\n fillStyle: '#000000',\n fontSize: 17,\n },\n tooltip: true,\n });\n this.chart!.addTimeSeries(this.series, {\n lineWidth: 1,\n strokeStyle: '#ff0000',\n fillStyle: 'rgba(255,161,161,0.30)',\n });\n this.chart!.streamTo(canvas);\n this.chart!.stop();\n }\n\n requestValue() {\n this.valuesSubscription = this.service.value().subscribe(\n () => null,\n (error) => this.hasError.bind(this)\n );\n }\n\n updateValue(value: number | { [key: string]: number; }) {\n console.log('Reading temperature %d', value);\n\n if (typeof value === 'number') {\n this.series!.append(Date.now(), value);\n this.chart!.start();\n }\n }\n\n disconnect() {\n this.service.disconnectDevice();\n this.series!.clear();\n this.chart!.stop();\n this.valuesSubscription!.unsubscribe();\n }\n\n hasError(error: string) {\n this.snackBar.open(error, 'Close');\n }\n\n ngOnDestroy() {\n this.valuesSubscription!.unsubscribe();\n this.streamSubscription!.unsubscribe();\n }\n}\n\n \n\n\n \n \n :host {\n display: block;\n }\n canvas {\n margin-left: -16px;\n }\n \n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ble-root'},{'name': 'BatteryLevelComponent', 'selector': 'ble-battery-level'},{'name': 'DashboardComponent', 'selector': 'ble-dashboard'},{'name': 'HumidityComponent', 'selector': 'ble-humidity'},{'name': 'StepCounterComponent', 'selector': 'ble-stepcounter'},{'name': 'TemperatureComponent', 'selector': 'ble-temperature'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TemperatureComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/WebBluetoothModule.html":{"url":"modules/WebBluetoothModule.html","title":"module - WebBluetoothModule","body":"\n \n\n\n\n\n Modules\n WebBluetoothModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AWBOptions)\n \n \n\n\n \n \n Defined in projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n options\n \n AWBOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : ModuleWithProviders\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { NgModule, ModuleWithProviders, InjectionToken, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BluetoothCore } from './bluetooth.service';\nimport { BrowserWebBluetooth } from './platform/browser';\n\nimport { ConsoleLoggerService, NoLoggerService } from './logger.service';\n\nexport interface AWBOptions {\n enableTracing?: boolean;\n}\n\nexport function browserWebBluetooth() {\n return new BrowserWebBluetooth();\n}\n\nexport function consoleLoggerServiceConfig(options: AWBOptions) {\n if (options && options.enableTracing) {\n return new ConsoleLoggerService();\n } else {\n return new NoLoggerService();\n }\n}\nexport function makeMeTokenInjector() {\n return new InjectionToken('AWBOptions');\n}\n\n@NgModule({\n imports: [CommonModule]\n})\nexport class WebBluetoothModule {\n static forRoot(options: AWBOptions = {}): ModuleWithProviders {\n return {\n ngModule: WebBluetoothModule,\n providers: [\n BluetoothCore,\n {\n provide: BrowserWebBluetooth,\n useFactory: browserWebBluetooth\n },\n {\n provide: makeMeTokenInjector,\n useValue: options\n },\n {\n provide: ConsoleLoggerService,\n useFactory: consoleLoggerServiceConfig,\n deps: [makeMeTokenInjector]\n }\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n e2e/src/app.po.ts\n \n class\n AppPage\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n interface\n AWBOptions\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n browserWebBluetooth\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n consoleLoggerServiceConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n function\n makeMeTokenInjector\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n injectable\n BluetoothCore\n \n 67 %\n (21/31)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n type alias\n ReadValueOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n variable\n TI_SENSORAG_SERVICES\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n variable\n TiTag\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n injectable\n ConsoleLoggerService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n injectable\n NoLoggerService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/logger.service.ts\n \n interface\n Logger\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/browser.ts\n \n injectable\n BrowserWebBluetooth\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/platform/server.ts\n \n injectable\n ServerWebBluetooth\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothDevice\n \n 0 %\n (0/9)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTCharacteristic\n \n 0 %\n (0/10)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTServer\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/manekinekko/angular-web-bluetooth/src/lib/test.utils.ts\n \n class\n FakeBluetoothRemoteGATTService\n \n 0 %\n (0/5)\n \n \n \n \n \n src/app/app.component.ts\n \n component\n AppComponent\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/ble.service.ts\n \n injectable\n BleService\n \n 0 %\n (0/9)\n \n \n \n \n \n src/app/ble.service.ts\n \n type alias\n ServiceOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/dashboard/dashboard.component.ts\n \n component\n DashboardComponent\n \n 0 %\n (0/2)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n component\n BatteryLevelComponent\n \n 0 %\n (0/18)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/battery-level.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n component\n HumidityComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/humidity.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n component\n StepCounterComponent\n \n 0 %\n (0/13)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/stepcounter.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n component\n TemperatureComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n bleCore\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n bleService\n \n 0 %\n (0/1)\n \n \n \n \n \n src/app/thingy52/temperature.component.ts\n \n variable\n PROVIDERS\n \n 0 %\n (0/1)\n \n \n \n \n \n src/environments/environment.prod.ts\n \n variable\n environment\n \n 0 %\n (0/1)\n \n \n \n \n \n src/environments/environment.ts\n \n variable\n environment\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular/animations : ^20.0.5\n \n @angular/cdk : ^20.0.4\n \n @angular/common : ^20.0.5\n \n @angular/compiler : ^20.0.5\n \n @angular/core : ^20.0.5\n \n @angular/forms : ^20.0.5\n \n @angular/material : ^20.0.4\n \n @angular/platform-browser : ^20.0.5\n \n @angular/platform-browser-dynamic : ^20.0.5\n \n @angular/router : ^20.0.5\n \n @types/web-bluetooth : 0.0.6\n \n rxjs : ~7.8.0\n \n smoothie : ^1.35.0\n \n ts-jest : ^29.0.5\n \n tslib : ^2.3.0\n \n zone.js : ~0.15.1\n \n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n browserWebBluetooth (projects/.../bluetooth.module.ts)\n \n \n consoleLoggerServiceConfig (projects/.../bluetooth.module.ts)\n \n \n makeMeTokenInjector (projects/.../bluetooth.module.ts)\n \n \n \n \n \n \n\n\n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.module.ts\n \n \n \n \n \n \n \n browserWebBluetooth\n \n \n \n \n \n \nbrowserWebBluetooth()\n \n \n\n\n\n\n \n \n \n \n \n \n \n \n consoleLoggerServiceConfig\n \n \n \n \n \n \nconsoleLoggerServiceConfig(options: AWBOptions)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AWBOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n makeMeTokenInjector\n \n \n \n \n \n \nmakeMeTokenInjector()\n \n \n\n\n\n\n \n \n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\n\n \n\nThe missing Web Bluetooth module for Angular\n\n\nInstall\nExample :npm install -S @manekinekko/angular-web-bluetooth @types/web-bluetooth\nNote: Make also sure the @types/web-bluetooth is installed correctly in your node_modules.\n\nGetting started\n1) import the WebBluetoothModule module\nExample :import { NgModule } from '@angular/core';\nimport { WebBluetoothModule } from '@manekinekko/angular-web-bluetooth';\n\n@NgModule({\n imports: [\n //...,\n WebBluetoothModule.forRoot({\n enableTracing: true // or false, this will enable logs in the browser's console\n })\n ]\n //...\n})\nexport class AppModule {}2.a) use it in your service/component (the easiest way)\nHere is an annotated example using the BluetoothCore service:\nExample :import { Injectable } from '@angular/core';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BatteryLevelService {\n\n constructor(public readonly ble: BluetoothCore) {}\n\n getDevice() {\n // call this method to get the connected device\n return this.ble.getDevice$();\n }\n\n stream() {\n // call this method to get a stream of values emitted by the device for a given characteristic\n return this.ble.streamValues$().pipe(\n map((value: DataView) => value.getInt8(0))\n );\n }\n\n disconnectDevice() {\n // call this method to disconnect from the device. This method will also stop clear all subscribed notifications\n this.ble.disconnectDevice();\n }\n\n value() {\n console.log('Getting Battery level...');\n\n return this.ble\n .value$({\n service: 'battery_service',\n characteristic: 'battery_level'\n });\n }\n\n}2.b) use it in your service/component (the advanced way)\nHere is an annotated example using the BluetoothCore service:\nExample :import { Injectable } from '@angular/core';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { BluetoothCore } from '@manekinekko/angular-web-bluetooth';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BatteryLevelService {\n static GATT_CHARACTERISTIC_BATTERY_LEVEL = 'battery_level';\n static GATT_PRIMARY_SERVICE = 'battery_service';\n\n constructor(public ble: BluetoothCore) {}\n\n getDevice() {\n // call this method to get the connected device\n return this.ble.getDevice$();\n }\n\n stream() {\n // call this method to get a stream of values emitted by the device\n return this.ble.streamValues$().pipe(map((value: DataView) => value.getUint8(0)));\n }\n\n disconnectDevice() {\n this.ble.disconnectDevice();\n }\n\n /**\n * Get Battery Level GATT Characteristic value.\n * This logic is specific to this service, this is why we can't abstract it elsewhere.\n * The developer is free to provide any service, and characteristics they want.\n *\n * @return Emites the value of the requested service read from the device\n */\n value() {\n console.log('Getting Battery level...');\n\n return this.ble\n\n // 1) call the discover method will trigger the discovery process (by the browser)\n .discover$({\n acceptAllDevices: true,\n optionalServices: [BatteryLevelService.GATT_PRIMARY_SERVICE]\n })\n .pipe(\n\n // 2) get that service\n mergeMap((gatt: BluetoothRemoteGATTServer) => {\n return this.ble.getPrimaryService$(gatt, BatteryLevelService.GATT_PRIMARY_SERVICE);\n }),\n\n // 3) get a specific characteristic on that service\n mergeMap((primaryService: BluetoothRemoteGATTService) => {\n return this.ble.getCharacteristic$(primaryService, BatteryLevelService.GATT_CHARACTERISTIC_BATTERY_LEVEL);\n }),\n\n // 4) ask for the value of that characteristic (will return a DataView)\n mergeMap((characteristic: BluetoothRemoteGATTCharacteristic) => {\n return this.ble.readValue$(characteristic);\n }),\n\n // 5) on that DataView, get the right value\n map((value: DataView) => value.getUint8(0))\n )\n }\n}API documentation\nThe API documentation can be found here: https://manekinekko.github.io/angular-web-bluetooth/\nNeed a starter?\n\n\nThis project serves also as a starter. Run the following command:\nExample :npm startBlog post\nCheckout my full blog post on dev.to about how to use this package in your app.\nHave a PR?\nAll contributions are welcome. Here are few open issues that I need help with ;)\nLicense\nThe MIT License (MIT) Copyright (c) 2017 - Wassim CHEGHAM\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nThe MIT License (MIT) Copyright (c) 2017 - Wassim CHEGHAM\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n WebBluetoothModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n Declarations\n\n Module\n\n Bootstrap\n\n Providers\n\n Exports\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_bootstrap\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nBatteryLevelComponent\n\nBatteryLevelComponent\n\nAppModule -->\n\nBatteryLevelComponent->AppModule\n\n\n\n\n\nDashboardComponent\n\nDashboardComponent\n\nAppModule -->\n\nDashboardComponent->AppModule\n\n\n\n\n\nHumidityComponent\n\nHumidityComponent\n\nAppModule -->\n\nHumidityComponent->AppModule\n\n\n\n\n\nStepCounterComponent\n\nStepCounterComponent\n\nAppModule -->\n\nStepCounterComponent->AppModule\n\n\n\n\n\nTemperatureComponent\n\nTemperatureComponent\n\nAppModule -->\n\nTemperatureComponent->AppModule\n\n\n\n\n\nAppComponent \n\nAppComponent \n\nAppComponent -->\n\nAppModule->AppComponent \n\n\n\n\n\nWebBluetoothModule\n\nWebBluetoothModule\n\nAppModule -->\n\nWebBluetoothModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 2 Modules\n \n \n \n \n \n \n \n \n 6 Components\n \n \n \n \n \n \n \n 6 Injectables\n \n \n \n \n \n \n \n 5 Classes\n \n \n \n \n \n \n \n 2 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"properties.html":{"url":"properties.html","title":"package-properties - properties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Properties\n \n \n \n Version : 20.0.0\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n ReadValueOptions (projects/.../bluetooth.service.ts)\n \n \n ServiceOptions (src/.../ble.service.ts)\n \n \n \n \n \n \n\n\n projects/manekinekko/angular-web-bluetooth/src/lib/bluetooth.service.ts\n \n \n \n \n \n \n ReadValueOptions\n \n \n \n \n literal type\n\n \n \n \n \n src/app/ble.service.ts\n \n \n \n \n \n \n ServiceOptions\n \n \n \n \n literal type\n\n \n \n \n \n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n bleCore (src/.../battery-level.component.ts)\n \n \n bleCore (src/.../humidity.component.ts)\n \n \n bleCore (src/.../stepcounter.component.ts)\n \n \n bleCore (src/.../temperature.component.ts)\n \n \n bleService (src/.../battery-level.component.ts)\n \n \n bleService (src/.../humidity.component.ts)\n \n \n bleService (src/.../stepcounter.component.ts)\n \n \n bleService (src/.../temperature.component.ts)\n \n \n environment (src/.../environment.prod.ts)\n \n \n environment (src/.../environment.ts)\n \n \n PROVIDERS (src/.../battery-level.component.ts)\n \n \n PROVIDERS (src/.../humidity.component.ts)\n \n \n PROVIDERS (src/.../stepcounter.component.ts)\n \n \n PROVIDERS (src/.../temperature.component.ts)\n \n \n TI_SENSORAG_SERVICES (projects/.../ti-sensortag2.ts)\n \n \n TiTag (projects/.../ti-sensortag2.ts)\n \n \n \n \n \n \n\n\n src/app/thingy52/battery-level.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n]\n \n \n\n\n \n \n\n src/app/thingy52/humidity.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}]\n \n \n\n\n \n \n\n src/app/thingy52/stepcounter.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) => new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [{\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService]\n}, {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore]\n}]\n \n \n\n\n \n \n\n src/app/thingy52/temperature.component.ts\n \n \n \n \n \n \n \n bleCore\n \n \n \n \n \n \n Default value : (b: BrowserWebBluetooth, l: ConsoleLoggerService) =>\n new BluetoothCore(b, l)\n \n \n\n\n \n \n \n \n \n \n \n \n bleService\n \n \n \n \n \n \n Default value : (b: BluetoothCore) => new BleService(b)\n \n \n\n\n \n \n \n \n \n \n \n \n PROVIDERS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n provide: BluetoothCore,\n useFactory: bleCore,\n deps: [BrowserWebBluetooth, ConsoleLoggerService],\n },\n {\n provide: BleService,\n useFactory: bleService,\n deps: [BluetoothCore],\n },\n]\n \n \n\n\n \n \n\n src/environments/environment.prod.ts\n \n \n \n \n \n \n \n environment\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n production: true\n}\n \n \n\n\n \n \n\n src/environments/environment.ts\n \n \n \n \n \n \n \n environment\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n production: false\n}\n \n \n\n\n \n \n\n projects/manekinekko/angular-web-bluetooth/src/lib/lang/uuids/ti-sensortag2.ts\n \n \n \n \n \n \n \n TI_SENSORAG_SERVICES\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : Object.keys(TiTag).map((key: string) => (TiTag as any)[key].SERVICE)\n \n \n\n\n \n \n \n \n \n \n \n \n TiTag\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n\n DEVICE_INFORMATION : {\n SERVICE : 'f000180a-0451-4000-b000-000000000000',\n SYSTEM_ID : 'f0002a23-0451-4000-b000-000000000000',\n MODEL_NUMBER : 'f0002a24-0451-4000-b000-000000000000',\n SERIAL_NUMBER : 'f0002a25-0451-4000-b000-000000000000',\n FIRMWARE_REV : 'f0002a26-0451-4000-b000-000000000000',\n HARDWARE_REV : 'f0002a27-0451-4000-b000-000000000000',\n SOFTWARE_REV : 'f0002a28-0451-4000-b000-000000000000',\n MANIFACTURER : 'f0002a29-0451-4000-b000-000000000000',\n IEEE11073 : 'f0002a2a-0451-4000-b000-000000000000',\n PNP_ID : 'f0002a50-0451-4000-b000-000000000000'\n },\n\n BATTERY : {\n SERVICE : 'f000180f-0451-4000-b000-000000000000',\n LEVEL : 'f0002a19-0451-4000-b000-000000000000'\n },\n\n TEMPERATURE : {\n SERVICE : 'f000aa00-0451-4000-b000-000000000000',\n DATA : 'f000aa01-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa02-0451-4000-b000-000000000000',\n PERIOD : 'f000aa03-0451-4000-b000-000000000000'\n },\n\n HUMIDITY : {\n SERVICE : 'f000aa20-0451-4000-b000-000000000000',\n DATA : 'f000aa21-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa22-0451-4000-b000-000000000000',\n PERIOD : 'f000aa23-0451-4000-b000-000000000000'\n },\n\n BAROMETER : {\n SERVICE : 'f000aa40-0451-4000-b000-000000000000',\n DATA : 'f000aa41-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa42-0451-4000-b000-000000000000',\n PERIOD : 'f000aa44-0451-4000-b000-000000000000'\n },\n\n // service not available in model CC2650\n // ACCELEROMETER : {\n // SERVICE : 'f000aa10-0451-4000-b000-000000000000',\n // DATA : 'f000aa11-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa12-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa13-0451-4000-b000-000000000000'\n // },\n\n // service not available in model CC2650\n // MAGNETOMETER : {\n // SERVICE : 'f000aa30-0451-4000-b000-000000000000',\n // DATA : 'f000aa31-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa32-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa33-0451-4000-b000-000000000000'\n // },\n\n // service not available in model CC2650\n // GYROSCOPE : {\n // SERVICE : 'f000aa50-0451-4000-b000-000000000000',\n // DATA : 'f000aa51-0451-4000-b000-000000000000',\n // CONFIGURATION : 'f000aa52-0451-4000-b000-000000000000',\n // PERIOD : 'f000aa53-0451-4000-b000-000000000000'\n // },\n\n MOVEMENT : {\n SERVICE : 'f000aa80-0451-4000-b000-000000000000',\n DATA : 'f000aa81-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa82-0451-4000-b000-000000000000',\n PERIOD : 'f000aa83-0451-4000-b000-000000000000'\n },\n\n LIGHT : {\n SERVICE : 'f000aa70-0451-4000-b000-000000000000',\n DATA : 'f000aa71-0451-4000-b000-000000000000',\n CONFIGURATION : 'f000aa72-0451-4000-b000-000000000000',\n PERIOD : 'f000aa73-0451-4000-b000-000000000000'\n },\n\n KEYPRESS : {\n SERVICE : 'f000ffe0-0451-4000-b000-000000000000',\n STATE : 'f000ffe1-0451-4000-b000-000000000000'\n },\n\n __REGISTER__ : {\n SERVICE : 'f000ac00-0451-4000-b000-000000000000',\n DATA : 'f000ac01-0451-4000-b000-000000000000',\n ADDRESS : 'f000ac02-0451-4000-b000-000000000000',\n DEVICE_ID : 'f000ac03-0451-4000-b000-000000000000'\n },\n\n CONTROL : {\n SERVICE : 'f000ccc0-0451-4000-b000-000000000000',\n CURRENT_USED_PARAMETERS : 'f000ccc1-0451-4000-b000-000000000000',\n REQUEST_NEW_PARAMETERS : 'f000ccc2-0451-4000-b000-000000000000',\n DISCONNECT_REQUEST : 'f000ccc3-0451-4000-b000-000000000000'\n },\n\n OAD : {\n SERVICE : 'f000ffc0-0451-4000-b000-000000000000',\n IMAGE_NOTIFY : 'f000ffc1-0451-4000-b000-000000000000',\n IMAGE_BLOCK_REQUEST : 'f000ffc2-0451-4000-b000-000000000000',\n IMAGE_COUNT : 'f000ffc3-0451-4000-b000-000000000000',\n IMAGE_STATUS : 'f000ffc4-0451-4000-b000-000000000000'\n },\n\n IO : {\n SERVICE : 'f000aa64-0451-4000-b000-000000000000',\n DATA : 'f000aa65-0451-4000-b000-000000000000',\n CONFIG : 'f000aa66-0451-4000-b000-000000000000'\n }\n}\n \n \n\n\n \n \n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}}
}
diff --git a/docs/modules/AppModule.html b/docs/modules/AppModule.html
index 0c20883..4c6e412 100644
--- a/docs/modules/AppModule.html
+++ b/docs/modules/AppModule.html
@@ -118,119 +118,119 @@
cluster_AppModule
+
+cluster_AppModule_declarations
+
+
cluster_AppModule_imports
-
+
cluster_AppModule_bootstrap
-
-
-
-cluster_AppModule_declarations
-
+
AppComponent
-
-AppComponent
+
+AppComponent
AppModule
-
-AppModule
+
+AppModule
AppComponent->AppModule
-
-
+
+
BatteryLevelComponent
-
-BatteryLevelComponent
+
+BatteryLevelComponent
BatteryLevelComponent->AppModule
-
-
+
+
DashboardComponent
-
-DashboardComponent
+
+DashboardComponent
DashboardComponent->AppModule
-
-
+
+
HumidityComponent
-
-HumidityComponent
+
+HumidityComponent
HumidityComponent->AppModule
-
-
+
+
StepCounterComponent
-
-StepCounterComponent
+
+StepCounterComponent
StepCounterComponent->AppModule
-
-
+
+
TemperatureComponent
-
-TemperatureComponent
+
+TemperatureComponent
TemperatureComponent->AppModule
-
-
+
+
AppComponent
-
-AppComponent
+
+AppComponent
AppModule->AppComponent
-
-
+
+
WebBluetoothModule
-
-WebBluetoothModule
+
+WebBluetoothModule
WebBluetoothModule->AppModule
-
-
+
+
diff --git a/docs/modules/AppModule/dependencies.svg b/docs/modules/AppModule/dependencies.svg
index dd21cb1..1bb8609 100644
--- a/docs/modules/AppModule/dependencies.svg
+++ b/docs/modules/AppModule/dependencies.svg
@@ -24,119 +24,119 @@
cluster_AppModule
+
+cluster_AppModule_declarations
+
+
cluster_AppModule_imports
-
+
cluster_AppModule_bootstrap
-
-
-
-cluster_AppModule_declarations
-
+
AppComponent
-
-AppComponent
+
+AppComponent
AppModule
-
-AppModule
+
+AppModule
AppComponent->AppModule
-
-
+
+
BatteryLevelComponent
-
-BatteryLevelComponent
+
+BatteryLevelComponent
BatteryLevelComponent->AppModule
-
-
+
+
DashboardComponent
-
-DashboardComponent
+
+DashboardComponent
DashboardComponent->AppModule
-
-
+
+
HumidityComponent
-
-HumidityComponent
+
+HumidityComponent
HumidityComponent->AppModule
-
-
+
+
StepCounterComponent
-
-StepCounterComponent
+
+StepCounterComponent
StepCounterComponent->AppModule
-
-
+
+
TemperatureComponent
-
-TemperatureComponent
+
+TemperatureComponent
TemperatureComponent->AppModule
-
-
+
+
AppComponent
-
-AppComponent
+
+AppComponent
AppModule->AppComponent
-
-
+
+
WebBluetoothModule
-
-WebBluetoothModule
+
+WebBluetoothModule
WebBluetoothModule->AppModule
-
-
+
+
diff --git a/docs/properties.html b/docs/properties.html
index 5a1aeff..cf2c53f 100644
--- a/docs/properties.html
+++ b/docs/properties.html
@@ -103,7 +103,7 @@
-
- Version : 17.1.0
+ Version : 20.0.0
diff --git a/package-lock.json b/package-lock.json
index cd21bc5..28fc0c5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,12 +9,12 @@
"version": "17.1.0",
"dependencies": {
"@angular/animations": "^20.0.5",
- "@angular/cdk": "^19.2.19",
+ "@angular/cdk": "^20.0.4",
"@angular/common": "^20.0.5",
"@angular/compiler": "^20.0.5",
"@angular/core": "^20.0.5",
"@angular/forms": "^20.0.5",
- "@angular/material": "^19.2.19",
+ "@angular/material": "^20.0.4",
"@angular/platform-browser": "^20.0.5",
"@angular/platform-browser-dynamic": "^20.0.5",
"@angular/router": "^20.0.5",
@@ -26,7 +26,7 @@
"zone.js": "~0.15.1"
},
"devDependencies": {
- "@angular-builders/jest": "^19.0.0",
+ "@angular-builders/jest": "^20.0.0",
"@angular-devkit/build-angular": "^20.0.4",
"@angular-devkit/core": "^20.0.4",
"@angular/cli": "^20.0.4",
@@ -72,260 +72,58 @@
}
},
"node_modules/@angular-builders/common": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-3.0.1.tgz",
- "integrity": "sha512-AIIqWtlr3sc2+CTEOqbDsrpVvkT6ijfYzvzPk1HLFrcP9Y2tYLXVFc+gGThlE+e1Om0pKminXcINEqm3J/yY5g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-4.0.0.tgz",
+ "integrity": "sha512-bepZI1KdXUVhDGqHOudZQJwucSbZWxfWzM+EHFXUoExUO0u7XEuHTF5bhtQZ+YU+ZK2Ayl26QbI/26Yj72vcFQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "^19.0.0",
+ "@angular-devkit/core": "^20.0.0",
"ts-node": "^10.0.0",
- "tsconfig-paths": "^4.1.0"
- },
- "engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
- }
- },
- "node_modules/@angular-builders/common/node_modules/@angular-devkit/core": {
- "version": "19.2.15",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz",
- "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "8.17.1",
- "ajv-formats": "3.0.1",
- "jsonc-parser": "3.3.1",
- "picomatch": "4.0.2",
- "rxjs": "7.8.1",
- "source-map": "0.7.4"
+ "tsconfig-paths": "^4.2.0"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- },
- "peerDependencies": {
- "chokidar": "^4.0.0"
- },
- "peerDependenciesMeta": {
- "chokidar": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-builders/common/node_modules/ajv-formats": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
- "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-builders/common/node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
}
},
"node_modules/@angular-builders/jest": {
- "version": "19.0.1",
- "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-19.0.1.tgz",
- "integrity": "sha512-mi4HMQkyb1Z+pPRIKt70Uk/EBoDUirPqhv3xlz1/WpPqpxXz8y+Y3ffutot4JJDmzJw2p4h3x2hh6D3Kbocraw==",
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-builders/jest/-/jest-20.0.0.tgz",
+ "integrity": "sha512-3rnobnIdErtjyM3yAAAOdod79lgbkf1QWMFHiRDHW4tw4f+DLFiM2HMFircCoO5WIe/ILEJE9GNxs/vvYa3gvw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-builders/common": "3.0.1",
- "@angular-devkit/architect": ">=0.1900.0 < 0.2000.0",
- "@angular-devkit/core": "^19.0.0",
- "jest-preset-angular": "14.5.4",
+ "@angular-builders/common": "4.0.0",
+ "@angular-devkit/architect": ">=0.2000.0 < 0.2100.0",
+ "@angular-devkit/core": "^20.0.0",
+ "jest-preset-angular": "14.6.0",
"lodash": "^4.17.15"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular-devkit/build-angular": "^19.0.0",
- "@angular/compiler-cli": "^19.0.0",
- "@angular/core": "^19.0.0",
- "@angular/platform-browser-dynamic": "^19.0.0",
+ "@angular-devkit/build-angular": "^20.0.0",
+ "@angular/compiler-cli": "^20.0.0",
+ "@angular/core": "^20.0.0",
+ "@angular/platform-browser-dynamic": "^20.0.0",
"jest": ">=29"
}
},
- "node_modules/@angular-builders/jest/node_modules/@angular-devkit/core": {
- "version": "19.2.15",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz",
- "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "8.17.1",
- "ajv-formats": "3.0.1",
- "jsonc-parser": "3.3.1",
- "picomatch": "4.0.2",
- "rxjs": "7.8.1",
- "source-map": "0.7.4"
- },
- "engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- },
- "peerDependencies": {
- "chokidar": "^4.0.0"
- },
- "peerDependenciesMeta": {
- "chokidar": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-builders/jest/node_modules/ajv-formats": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
- "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-builders/jest/node_modules/jest-preset-angular": {
- "version": "14.5.4",
- "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.5.4.tgz",
- "integrity": "sha512-vbil9qTrZljzVJNsDIxEhWVb4r6BQumXEgIHCAVkHJjpF1fYkIB4bczPAe58lBZH2gKeRHBSj8/IoGpGBI1qiQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bs-logger": "^0.2.6",
- "esbuild-wasm": ">=0.15.13",
- "jest-environment-jsdom": "^29.7.0",
- "jest-util": "^29.7.0",
- "pretty-format": "^29.7.0",
- "ts-jest": "^29.3.0"
- },
- "engines": {
- "node": "^14.15.0 || >=16.10.0"
- },
- "optionalDependencies": {
- "esbuild": ">=0.15.13"
- },
- "peerDependencies": {
- "@angular/compiler-cli": ">=15.0.0 <20.0.0",
- "@angular/core": ">=15.0.0 <20.0.0",
- "@angular/platform-browser-dynamic": ">=15.0.0 <20.0.0",
- "jest": "^29.0.0",
- "jsdom": ">=20.0.0",
- "typescript": ">=4.8"
- },
- "peerDependenciesMeta": {
- "jsdom": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-builders/jest/node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
"node_modules/@angular-devkit/architect": {
- "version": "0.1902.15",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.15.tgz",
- "integrity": "sha512-RbqhStc6ZoRv57ZqLB36VOkBkAdU3nNezCvIs0AJV5V4+vLPMrb0hpIB0sF+9yMlMjWsolnRsj0/Fil+zQG3bw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": "19.2.15",
- "rxjs": "7.8.1"
- },
- "engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
- "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": {
- "version": "19.2.15",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.15.tgz",
- "integrity": "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==",
+ "version": "0.2000.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz",
+ "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ajv": "8.17.1",
- "ajv-formats": "3.0.1",
- "jsonc-parser": "3.3.1",
- "picomatch": "4.0.2",
- "rxjs": "7.8.1",
- "source-map": "0.7.4"
+ "@angular-devkit/core": "20.0.4",
+ "rxjs": "7.8.2"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
- },
- "peerDependencies": {
- "chokidar": "^4.0.0"
- },
- "peerDependenciesMeta": {
- "chokidar": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-devkit/architect/node_modules/ajv-formats": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
- "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-devkit/architect/node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
}
},
"node_modules/@angular-devkit/build-angular": {
@@ -462,22 +260,6 @@
}
}
},
- "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": {
- "version": "0.2000.4",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz",
- "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": "20.0.4",
- "rxjs": "7.8.2"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
"node_modules/@angular-devkit/build-angular/node_modules/@babel/core": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz",
@@ -849,22 +631,6 @@
"webpack-dev-server": "^5.0.2"
}
},
- "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": {
- "version": "0.2000.4",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz",
- "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": "20.0.4",
- "rxjs": "7.8.2"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
"node_modules/@angular-devkit/core": {
"version": "20.0.4",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.0.4.tgz",
@@ -1251,22 +1017,6 @@
}
}
},
- "node_modules/@angular/build/node_modules/@angular-devkit/architect": {
- "version": "0.2000.4",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz",
- "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": "20.0.4",
- "rxjs": "7.8.2"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
"node_modules/@angular/build/node_modules/@babel/core": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz",
@@ -1373,17 +1123,17 @@
}
},
"node_modules/@angular/cdk": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.2.19.tgz",
- "integrity": "sha512-PCpJagurPBqciqcq4Z8+3OtKLb7rSl4w/qBJoIMua8CgnrjvA1i+SWawhdtfI1zlY8FSwhzLwXV0CmWWfFzQPg==",
+ "version": "20.0.4",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.0.4.tgz",
+ "integrity": "sha512-NCUuw0qQXwawLsT14JHApNB9or3XGs7D1pWXlOIix/fKqzHVfi4un9xHmpjH2Q1uCiwonuak7fDof8B+IXhbug==",
"license": "MIT",
"dependencies": {
"parse5": "^7.1.2",
"tslib": "^2.3.0"
},
"peerDependencies": {
- "@angular/common": "^19.0.0 || ^20.0.0",
- "@angular/core": "^19.0.0 || ^20.0.0",
+ "@angular/common": "^20.0.0 || ^21.0.0",
+ "@angular/core": "^20.0.0 || ^21.0.0",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -1420,22 +1170,6 @@
"yarn": ">= 1.13.0"
}
},
- "node_modules/@angular/cli/node_modules/@angular-devkit/architect": {
- "version": "0.2000.4",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2000.4.tgz",
- "integrity": "sha512-pg+EPv/j17ybCoYiKjeRCebkE5CeD009xC6XJfugBmui6CcCQ5UAN82ibBhL869PXR7xCboylcRxlFfcBmvCpA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": "20.0.4",
- "rxjs": "7.8.2"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
"node_modules/@angular/cli/node_modules/semver": {
"version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
@@ -1692,19 +1426,19 @@
}
},
"node_modules/@angular/material": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.2.19.tgz",
- "integrity": "sha512-auIE6JUzTIA3LyYklh9J/T7u64crmphxUBgAa0zcOMDog6SYfwbNe9YeLQqua5ek4OUAOdK/BHHfVl5W5iaUoQ==",
+ "version": "20.0.4",
+ "resolved": "https://registry.npmjs.org/@angular/material/-/material-20.0.4.tgz",
+ "integrity": "sha512-ET+znnyOVjBezHsjy7U42/88JPl9Mhumvf01gMBN8mNcaoSpeM4cc2uKBg30/3YzykKIsjXtvUJj/PaTujmJAQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
- "@angular/cdk": "19.2.19",
- "@angular/common": "^19.0.0 || ^20.0.0",
- "@angular/core": "^19.0.0 || ^20.0.0",
- "@angular/forms": "^19.0.0 || ^20.0.0",
- "@angular/platform-browser": "^19.0.0 || ^20.0.0",
+ "@angular/cdk": "20.0.4",
+ "@angular/common": "^20.0.0 || ^21.0.0",
+ "@angular/core": "^20.0.0 || ^21.0.0",
+ "@angular/forms": "^20.0.0 || ^21.0.0",
+ "@angular/platform-browser": "^20.0.0 || ^21.0.0",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
diff --git a/package.json b/package.json
index 21a10f6..1b93934 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "angular-web-bluetooth-starter",
- "version": "17.1.0",
+ "version": "20.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
@@ -22,12 +22,12 @@
"private": true,
"dependencies": {
"@angular/animations": "^20.0.5",
- "@angular/cdk": "^19.2.19",
+ "@angular/cdk": "^20.0.4",
"@angular/common": "^20.0.5",
"@angular/compiler": "^20.0.5",
"@angular/core": "^20.0.5",
"@angular/forms": "^20.0.5",
- "@angular/material": "^19.2.19",
+ "@angular/material": "^20.0.4",
"@angular/platform-browser": "^20.0.5",
"@angular/platform-browser-dynamic": "^20.0.5",
"@angular/router": "^20.0.5",
diff --git a/projects/manekinekko/angular-web-bluetooth/package.json b/projects/manekinekko/angular-web-bluetooth/package.json
index adfebd0..6993ebd 100644
--- a/projects/manekinekko/angular-web-bluetooth/package.json
+++ b/projects/manekinekko/angular-web-bluetooth/package.json
@@ -1,6 +1,6 @@
{
"name": "@manekinekko/angular-web-bluetooth",
- "version": "17.0.0",
+ "version": "20.0.0",
"license": "MIT",
"author": {
"name": "Wassim Chegham",
@@ -46,8 +46,8 @@
"sensortag"
],
"peerDependencies": {
- "@angular/common": "^17.1.0",
- "@angular/core": "^17.1.0"
+ "@angular/common": "^20.0.0",
+ "@angular/core": "^20.0.0"
},
"sideEffects": false
}
From 20d9ac5035406bf896cea58615a01903229e059d Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Jun 2025 08:11:27 +0000
Subject: [PATCH 08/10] Upgrade CI workflow to use Node.js 22 and update .nvmrc
Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com>
---
.github/workflows/angular.yml | 6 +++---
.nvmrc | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/angular.yml b/.github/workflows/angular.yml
index 432c0f8..cdb072d 100644
--- a/.github/workflows/angular.yml
+++ b/.github/workflows/angular.yml
@@ -16,13 +16,13 @@ jobs:
strategy:
matrix:
- node-version: [18.x]
+ node-version: [22.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v2
+ uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: npm ci --legacy-peer-deps
diff --git a/.nvmrc b/.nvmrc
index 3c03207..2bd5a0a 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18
+22
From ff5bb7987a79edab55b920d4ce6892c8f175423a Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Jun 2025 09:43:37 +0000
Subject: [PATCH 09/10] Fix Jest setup deprecation warning by using
setupZoneTestEnv function
Co-authored-by: manekinekko <1699357+manekinekko@users.noreply.github.com>
---
package-lock.json | 4 ++--
projects/manekinekko/angular-web-bluetooth/test-setup.ts | 4 +++-
test-setup.ts | 4 +++-
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 28fc0c5..374efbe 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "angular-web-bluetooth-starter",
- "version": "17.1.0",
+ "version": "20.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "angular-web-bluetooth-starter",
- "version": "17.1.0",
+ "version": "20.0.0",
"dependencies": {
"@angular/animations": "^20.0.5",
"@angular/cdk": "^20.0.4",
diff --git a/projects/manekinekko/angular-web-bluetooth/test-setup.ts b/projects/manekinekko/angular-web-bluetooth/test-setup.ts
index 1100b3e..58c511e 100644
--- a/projects/manekinekko/angular-web-bluetooth/test-setup.ts
+++ b/projects/manekinekko/angular-web-bluetooth/test-setup.ts
@@ -1 +1,3 @@
-import 'jest-preset-angular/setup-jest';
+import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
+
+setupZoneTestEnv();
diff --git a/test-setup.ts b/test-setup.ts
index 1100b3e..58c511e 100644
--- a/test-setup.ts
+++ b/test-setup.ts
@@ -1 +1,3 @@
-import 'jest-preset-angular/setup-jest';
+import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
+
+setupZoneTestEnv();
From f21aa23545fa18392bdbf99d620a49f34637a2a7 Mon Sep 17 00:00:00 2001
From: Wassim Chegham
Date: Fri, 27 Jun 2025 13:14:58 +0000
Subject: [PATCH 10/10] chore: Update snapshot styles in BatteryLevelComponent
---
.../thingy52/__snapshots__/battery-level.component.spec.ts.snap | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/app/thingy52/__snapshots__/battery-level.component.spec.ts.snap b/src/app/thingy52/__snapshots__/battery-level.component.spec.ts.snap
index 87b7a2f..543bdea 100644
--- a/src/app/thingy52/__snapshots__/battery-level.component.spec.ts.snap
+++ b/src/app/thingy52/__snapshots__/battery-level.component.spec.ts.snap
@@ -99,7 +99,7 @@ exports[`BatteryLevelComponent should display device connected state 1`] = `
mode="indeterminate"
role="progressbar"
strokewidth="2"
- style="width: 250px; height: 250px; --mdc-circular-progress-size: 250px; --mdc-circular-progress-active-indicator-width: 250px;"
+ style="width: 250px; height: 250px; --mat-progress-spinner-size: 250px; --mat-progress-spinner-active-indicator-width: 250px;"
tabindex="-1"
>