From ee5a5f9f6f374bdb1507662a6c5ec58aff5f91e3 Mon Sep 17 00:00:00 2001 From: Martin Donnelly Date: Tue, 31 May 2016 10:08:35 +0100 Subject: [PATCH] Pre redesign --- .../2.2.1/taskArtifacts/cache.properties.lock | Bin 17 -> 17 bytes .../2.2.1/taskArtifacts/fileHashes.bin | Bin 147035 -> 147035 bytes .../2.2.1/taskArtifacts/fileSnapshots.bin | Bin 8174255 -> 8339777 bytes .../2.2.1/taskArtifacts/taskArtifacts.bin | Bin 55150 -> 55150 bytes platforms/android/assets/www/index.html | 3 + platforms/android/assets/www/js/index.js | 86 ++++++++++++------ .../assets/www/js/standards/battery.js | 55 ++++++----- www/index.html | 3 + www/js/index.js | 76 ++++++++++++---- 9 files changed, 151 insertions(+), 72 deletions(-) diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock b/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock index 29c55c860cc6a1e90fb1276a89176611a4fd343e..d1aafe0baedc3b0b87def59386b5d618ca2b725e 100644 GIT binary patch literal 17 WcmZQx&{6#8*tO}73?RT{qX+;$NCi{? literal 17 WcmZQx&{6#8*tO}73?RT{@(2Jw`34OD diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin b/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin index d4ff90c1dabee212a316db9c63af5e3bbed4007d..cd8f206108f6af318a8d2a32fdd59d10dbad0a48 100644 GIT binary patch delta 15929 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 delta 2565 zcma*m3se(V8VB%9G9dy26Y^jJ0TL0UB0>rXh!5VPfQCX55aba9f&!w5AYc*O1|LXp zs)G*@acxz4Kuh7SxM0#1Ymrs3C~QkbR;AV#vaX(LyLP_}Vz;(?&dxc%o+o_YWX9a|8?VQ_qHQb|dk>Qvoe5>Jbn~m< ziRV~5NKQB1VRKgXWK;V%7jdTrH6OKX#cKtW7PqJD$Z6C%ax%vyi(Skly#CQIuZ~vTna@v#4)11iuBwyzv&4t^ z%P%M9AI*6>%7jEgJatzhBXqU%65`fkA26Yy`5{GG`%;$qNdm=iErvf$u&j=txU*?Y^0Pn za*I749pz2;6ilY7yhoMUoQiwU^e{f!XEbzr|HAXjprxolnJRgsmz&0Z}!qPyA?BG+Omwv$-MF7^Bwl*#WH!} z;{j@&R7RLtG&u8b{iI_;Q`56ly;MdGN(TvN@eu!foqz4bi7qvzvsF6JzSdh)7uMX& zguGJKWNA0=uPJi>TV_no3D2aa*!fU#c40)&#^TQ&^alAeCpLT9Q#E!<=jiQPCs|U= z#B6S=%Vd?91D{|Yrwgx6REa>;O*Z@8?8#~5k;-+$=wm9b5U=ksI}f6^H8{xzbA_I0f7b@aqCiq;pl4eAc)5IYkEt-k&*>_m>FGcl%ZfX5Et4o;4IXSs||1G)8hzVS_tIj#E> zX@_)2@eLhlXAy5b8$s`R7;RU=>vwwdmJCbxJE}8#JYaAc{H6gtw!QUy;se)#f#}i3 z(`+lI0gm?T#q@XS+^n)_;w||qa5P6?5 zMCKj099;gOVft|i&yr~oSI%`Drf;NkFOswND7$=Fg*{QJHJar$#!LYdp9G&4zZb=9 z4ZI#O1sDSpR8?+zBXHuWYlgox1yg|;Fh|2*T5M}V&zc2Ya-=l1I*ie}Wkr@~+**9i z82NuEI7iT4Jw<%PeLeVx?p@0K_5vZBItDu)9uk&iP#AvzQ<~F@%3Ye#AOGf z8wJ~FP_Pu(0y|(2WIzt40S7Q0I07dy12}`Xz)au*W&u|)8@K^?pa5?J58w&Bz#QNW ze1I>Q3;e)5Fdr-c3xPif0D&L~1cML|3KoGduox@>;UEG;f~8;?P=YA%4u}RZ;9U?4 zmV-DD4-&u%kO-2%N`!)w!#+Y!DpgyOn7u@g9CY8+mLqq;P=|}U21D*aGjnw zQiVnD6fVy;TJ=;%(eIUlgKnEe^;j zd=gZRY2o zV{0Cmq=O8w8f1bjum-FJ*&qkxf^{GdtOpxFKG+Bfz$Q=#iqHd-&D++#e(rue6+Z8yoQY;>}|lpxX0Tlr-U^w=YTC5jj-Jub(GMEi4*z2|0S Q&>NMP3X$@9aq{i|015~R2><{9 diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin b/platforms/android/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin index 3eaa6dd51ceb68b09a620f34c5f26cd9777d7ffc..a84d429bdf3ee59c6ca42a98f9913e0976b05fee 100644 GIT binary patch delta 418 zcmaF2j``g><_%Np1Sb8T++RGygX_++2v3K;OS?9et1=42#=khuttHi<;M(m(M(Vu^+#B z1D3t>znX8BTX2$bGiyt$fWV4VFXlKe4SFgw&Gr5gvsFtcH%{mk*lN>}pw(?zcye-< zr{$4=Ibgx75dqeht=KnQ;+OZaJ$`i-P;eqk$t|wt$%+lmlh@4>n|!vxX!Dn8pM?Yp zRx(sP(y3xCYJBn7D5>Mp=JQ)(SOtt#PH$b*ZaP&$q^dE;TdWWw+P5d<>U-gjUv!RK z+`sm#w-Hb@fmLOCf%w)l#taPHr-1kn2s3wY-?C%<%om*5-fK7(a=qHIXY#~wh0SsM zb}z3#uhB|ClnMX=Q5xP7lDFWkR=^ZbblOoH#MoL`*wdS5Nur2Sg4 VQM3kKi3$@-$UpXk&D_V51p(MG!lnQK delta 360 zcmaF2j``g><_%Np1ZIm*w3ys`G$mmt_o1ZUFFZDtt1=37rN>O4#<_$i_1(JKP!6xn zU_qw|Z<({>5*$`teRrJwR$1Goa!p2-TQ@fpZI)Ybl5sO@ORIoDb9SMZ#j1~H-a943 zk8Kpnp4>R0SK!ssrN=7MQfGU9`w{DR*;5NF81FBv7|*?2r!`wZKYV^*CQxu9%ZrOU zW=~dZh@U*KUT5={X`h7zR!&RcedUpLLivZ&)b0~P3pbzN62mHRIqdbk_?+_U4z}5| zoiCrzgou{DS|>B(Uf|lE1)8sT<5R+cq6w@jGZbevoH1r#;64S!hd`K_=U8OW&Gh+C z4t3s@nsY_IXV2t`;R=)E_PyR5xBEPkplU+@b<64(V&y9L&fO_CIff>E`_Sv|iU7$? e{7aqJvA+EtfGR!t!b%pFXGj0}Z{|LhEC>K%&8h1E diff --git a/platforms/android/assets/www/index.html b/platforms/android/assets/www/index.html index 058c17c..524d3c8 100644 --- a/platforms/android/assets/www/index.html +++ b/platforms/android/assets/www/index.html @@ -70,6 +70,9 @@ +
+
+ diff --git a/platforms/android/assets/www/js/index.js b/platforms/android/assets/www/js/index.js index df89e21..55f988f 100644 --- a/platforms/android/assets/www/js/index.js +++ b/platforms/android/assets/www/js/index.js @@ -110,24 +110,51 @@ var app = { default: console.log('Unknown manID: ', manID); } - return {company:company}; + return {company: company}; }, - makeHexBuffer : function(buffer) { + makeHexBuffer: function(buffer) { 'use strict'; var hexBuffer = buffer.map(function(i) { return ('00' + i.toString(16)).slice(-2) + ','; }); - return hexBuffer; + return hexBuffer; }, - makeChars : function(buffer) { + makeChars: function(buffer) { 'use strict'; var output = buffer.map(function(i) { - return String.fromCharCode(i); - }); + return String.fromCharCode(i); + }); return output; }, + buildNewDeviceResultPanel: function(device) { + 'use strict'; + var newPanel, newRow; + var newId = 'd-' + device.id.replace(/:/g, ''); + var title = device.hasOwnProperty('name') ? device.name : '*** Unknown'; + + newPanel = $('
',{id: newId,class: 'mui-panel deviceRow', style: 'min-height:75px;'}); + + + newRow = $('
',{class: 'mui-row'}); + + newRow.append($('
',{class: 'mui-col-xs-12 mui--text-title',text: device.id})); + + newPanel.append(newRow); + + + newRow = $('
',{class: 'mui-row'}); + newRow.append($('
',{class: 'mui-col-xs-3',text: 'Title:'})); + newRow.append($('
',{class: 'mui-col-xs-3',text: title})); + newRow.append($('
',{class: 'mui-col-xs-3',text: 'RSSI:'})); + newRow.append($('
',{class: 'mui-col-xs-3',text: device.rssi})); + + newPanel.append(newRow); + + return newPanel; + + }, doScan: function(mode) { 'use strict'; @@ -149,21 +176,14 @@ var app = { msgText = ''; console.log(JSON.stringify(device)); - newId = device.id.replace(/:/g, ''); + newId = 'd-' + device.id.replace(/:/g, ''); console.log(newId); this.list[newId] = device.id; - newTR = $('
'); - - newTR.append($(''); + newTR.append($('
').text(device.id)); - if (device.hasOwnProperty('advertising')) { advertBuffer = app.arrayBufferToIntArray(device.advertising); - /*var hexBuffer = advertBuffer.map(function(i) { - return ('00' + i.toString(16)).slice(-2) + ','; - });*/ hexBuffer = app.makeHexBuffer(advertBuffer); @@ -173,11 +193,6 @@ var app = { if (parsed.hasOwnProperty('9')) { - /*var name = parsed['9'].map(function(i) { - - return String.fromCharCode(i); - });*/ - var name = app.makeChars(parsed['9']); _device.name = name.join(''); @@ -202,20 +217,33 @@ var app = { } } - if (device.hasOwnProperty('name')) { - newTR.append($('').text(device.name + msgText)); - } else { - newTR.append($('').text('*** Unknown' + msgText)); - } + /* - newTR.append($('').text(device.rssi)); + NewTR = $('
').text(device.id)); + if (device.hasOwnProperty('name')) { + newTR.append($('').text(device.name + msgText)); + } else { + newTR.append($('').text('*** Unknown' + msgText)); + } - if ($('tr#' + newId).length > 0) { + newTR.append($('').text(device.rssi)); + + */ + + newTR = app.buildNewDeviceResultPanel(device); + /* If ($('tr#' + newId).length > 0) { $('tr#' + newId).replaceWith(newTR); } else { $('#tbody').append(newTR); } +*/ + if ($('div#' + newId).length > 0) { + $('div#' + newId).replaceWith(newTR); + } else { + $('#scanResults').append(newTR); + } //$('#output').append(JSON.stringify(device) + '
'); @@ -242,7 +270,7 @@ var app = { } if (mode === 2) { - if (app.stop == false) { + if (!app.stop) { setTimeout(function() { app.doScan(2); }.bind(this), 200); @@ -337,7 +365,7 @@ var app = { this.doScan(1); }.bind(this)); - $('#tbody').on('click', 'tr', function() { + $('#scanResults').on('click', 'div.mui-panel.deviceRow', function() { 'use strict'; var tID = $(this).context.id; @@ -401,7 +429,7 @@ var app = { case '180F': var batteryStat = new BATTERY(deviceId); batteryStat.startService(); - // batteryStat.readBatteryState(); + // BatteryStat.readBatteryState(); app.activeServices.push(batteryStat); break; diff --git a/platforms/android/assets/www/js/standards/battery.js b/platforms/android/assets/www/js/standards/battery.js index 8a17160..0b8ad9a 100644 --- a/platforms/android/assets/www/js/standards/battery.js +++ b/platforms/android/assets/www/js/standards/battery.js @@ -13,39 +13,48 @@ var BATTERY = function() { this.name = 'Battery'; this.capabilityID = '180F'; this.serviceDef = { - service: '180F', - level: '2A19' - }; + service: '180F', level: '2A19' + }; this.onBatteryLevelChange = function(data) { - console.log(data); - var a = new Uint8Array(data); - this.state = a[0]; - console.log('onBatteryLevelChange', this.state); - }; + console.log(data); + var a = new Uint8Array(data); + this.state = a[0]; + console.log('onBatteryLevelChange', this.state); + }; this.readBatteryState = function() { - console.log('readBatteryState'); - ble.read(this.deviceID, this.serviceDef.service, this.serviceDef.level, this.onReadBatteryLevel.bind(this), this.onError); - }; + console.log('readBatteryState'); + ble.read(this.deviceID, + this.serviceDef.service, + this.serviceDef.level, + this.onReadBatteryLevel.bind(this), + this.onError); + }; this.onReadBatteryLevel = function(data) { - console.log(data); - var a = new Uint8Array(data); - this.state = a[0]; - console.log('onReadBatteryLevel', this.state); - }; + console.log(data); + var a = new Uint8Array(data); + this.state = a[0]; + console.log('onReadBatteryLevel', this.state); + }; this.startService = function() { - 'use strict'; - if (this.deviceID !== null) { - console.log('Starting Battery Service'); - ble.startNotification(this.deviceID, this.serviceDef.service, this.serviceDef.level, this.onBatteryLevelChange.bind(this), this.onError); - } + 'use strict'; + if (this.deviceID !== null) { + console.log('Starting Battery Service on ', this.deviceID); + console.log(this.serviceDef); - this.insertFrame(); - }; + this.insertFrame(); + + ble.startNotification(this.deviceID, + this.serviceDef.service, + this.serviceDef.level, + this.onBatteryLevelChange.bind(this), + this.onError); + } + }; }; diff --git a/www/index.html b/www/index.html index 058c17c..524d3c8 100644 --- a/www/index.html +++ b/www/index.html @@ -70,6 +70,9 @@ +
+
+ diff --git a/www/js/index.js b/www/js/index.js index 99ff1d7..55f988f 100644 --- a/www/js/index.js +++ b/www/js/index.js @@ -110,24 +110,51 @@ var app = { default: console.log('Unknown manID: ', manID); } - return {company:company}; + return {company: company}; }, - makeHexBuffer : function(buffer) { + makeHexBuffer: function(buffer) { 'use strict'; var hexBuffer = buffer.map(function(i) { return ('00' + i.toString(16)).slice(-2) + ','; }); - return hexBuffer; + return hexBuffer; }, - makeChars : function(buffer) { + makeChars: function(buffer) { 'use strict'; var output = buffer.map(function(i) { - return String.fromCharCode(i); - }); + return String.fromCharCode(i); + }); return output; }, + buildNewDeviceResultPanel: function(device) { + 'use strict'; + var newPanel, newRow; + var newId = 'd-' + device.id.replace(/:/g, ''); + var title = device.hasOwnProperty('name') ? device.name : '*** Unknown'; + + newPanel = $('
',{id: newId,class: 'mui-panel deviceRow', style: 'min-height:75px;'}); + + + newRow = $('
',{class: 'mui-row'}); + + newRow.append($('
',{class: 'mui-col-xs-12 mui--text-title',text: device.id})); + + newPanel.append(newRow); + + + newRow = $('
',{class: 'mui-row'}); + newRow.append($('
',{class: 'mui-col-xs-3',text: 'Title:'})); + newRow.append($('
',{class: 'mui-col-xs-3',text: title})); + newRow.append($('
',{class: 'mui-col-xs-3',text: 'RSSI:'})); + newRow.append($('
',{class: 'mui-col-xs-3',text: device.rssi})); + + newPanel.append(newRow); + + return newPanel; + + }, doScan: function(mode) { 'use strict'; @@ -149,15 +176,11 @@ var app = { msgText = ''; console.log(JSON.stringify(device)); - newId = device.id.replace(/:/g, ''); + newId = 'd-' + device.id.replace(/:/g, ''); console.log(newId); this.list[newId] = device.id; - newTR = $('
'); - - newTR.append($(''); + newTR.append($('
').text(device.id)); - if (device.hasOwnProperty('advertising')) { advertBuffer = app.arrayBufferToIntArray(device.advertising); @@ -194,20 +217,33 @@ var app = { } } - if (device.hasOwnProperty('name')) { - newTR.append($('').text(device.name + msgText)); - } else { - newTR.append($('').text('*** Unknown' + msgText)); - } + /* - newTR.append($('').text(device.rssi)); + NewTR = $('
').text(device.id)); + if (device.hasOwnProperty('name')) { + newTR.append($('').text(device.name + msgText)); + } else { + newTR.append($('').text('*** Unknown' + msgText)); + } - if ($('tr#' + newId).length > 0) { + newTR.append($('').text(device.rssi)); + + */ + + newTR = app.buildNewDeviceResultPanel(device); + /* If ($('tr#' + newId).length > 0) { $('tr#' + newId).replaceWith(newTR); } else { $('#tbody').append(newTR); } +*/ + if ($('div#' + newId).length > 0) { + $('div#' + newId).replaceWith(newTR); + } else { + $('#scanResults').append(newTR); + } //$('#output').append(JSON.stringify(device) + '
'); @@ -329,7 +365,7 @@ var app = { this.doScan(1); }.bind(this)); - $('#tbody').on('click', 'tr', function() { + $('#scanResults').on('click', 'div.mui-panel.deviceRow', function() { 'use strict'; var tID = $(this).context.id; @@ -393,7 +429,7 @@ var app = { case '180F': var batteryStat = new BATTERY(deviceId); batteryStat.startService(); - // batteryStat.readBatteryState(); + // BatteryStat.readBatteryState(); app.activeServices.push(batteryStat); break;