mirror of https://github.com/espruino/BangleApps
Add CoreTemp app
parent
ba78819410
commit
45194a5428
15
apps.json
15
apps.json
|
@ -4931,5 +4931,20 @@
|
||||||
{"name":"awairmonitor.app.js","url":"app.js"},
|
{"name":"awairmonitor.app.js","url":"app.js"},
|
||||||
{"name":"awairmonitor.img","url":"app-icon.js","evaluate":true}
|
{"name":"awairmonitor.img","url":"app-icon.js","evaluate":true}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "coretemp",
|
||||||
|
"name": "Core Temp Display",
|
||||||
|
"version": "0.01",
|
||||||
|
"description": "Display CoreTemp sensor data",
|
||||||
|
"icon": "coretemp.png",
|
||||||
|
"type": "app",
|
||||||
|
"tags": "health",
|
||||||
|
"supports": ["BANGLEJS","BANGLEJS2"],
|
||||||
|
"storage": [
|
||||||
|
{"name":"coretemp.boot.js","url":"boot.js"},
|
||||||
|
{"name":"coretemp.app.js","url":"coretemp.js"},
|
||||||
|
{"name":"coretemp.img","url":"coretemp-icon.js","evaluate":true}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
0.1: New app
|
|
@ -0,0 +1,23 @@
|
||||||
|
(function() {
|
||||||
|
var gatt;
|
||||||
|
|
||||||
|
//Would it be better to scan by uuid rather than name?
|
||||||
|
NRF.requestDevice({ timeout: 20000, filters: [{ name: 'CORE [a]' }] }).then(function(device) {
|
||||||
|
return device.gatt.connect();
|
||||||
|
}).then(function(g) {
|
||||||
|
gatt = g;
|
||||||
|
return gatt.getPrimaryService("1809");
|
||||||
|
}).then(function(service) {
|
||||||
|
return service.getCharacteristic("2A1C");
|
||||||
|
}).then(function(characteristic) {
|
||||||
|
characteristic.on('characteristicvaluechanged', function(event) {
|
||||||
|
var dv = event.target.value;
|
||||||
|
var core = (dv.buffer[2]*256+dv.buffer[1])/100;
|
||||||
|
Bangle.emit('Core',{
|
||||||
|
temp:core
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return characteristic.startNotifications();
|
||||||
|
}).then(function() {
|
||||||
|
});
|
||||||
|
})();
|
|
@ -0,0 +1 @@
|
||||||
|
require("heatshrink").decompress(atob("AAAAADgAAAAAADgAAAADxgDAAAH0zABgAAPAWAAwAB4AMDgYADAAIM4IAGABIYcAAIABIwMEAQABIwEEAwADIwAEBAA+IwEEDAB8IQMEGAHAIcYAGAAAIMQYGAQAMAAYEAwAGAAgAAwADABgIBgABgDEIBgAAP4wIDAAAPxgACAAAAOAACAAAAMDICAAAAADICAAAAADICAAAAADACAAAAADACAAAAYAICAAAAfgICAAAAf8IBAAAA/8IBgAABh8MAgAABgMMAAAABAEGAAAACAAGAGAAMAYDADAAIAQBAA4HIAgAAAACcAAAQAAAcBAAAAAAOHAAAAAAOGAAAAAAHwAABgAADAAAAgAACAAAAOAAMAAAAAAEAAAAAAH+AAA"));
|
|
@ -0,0 +1,19 @@
|
||||||
|
Bangle.setLCDPower(1);
|
||||||
|
Bangle.setLCDTimeout(0);
|
||||||
|
var btm = g.getHeight()-1;
|
||||||
|
|
||||||
|
function onCore(c) {
|
||||||
|
var px = g.getWidth()/2;
|
||||||
|
g.setFontAlign(0,0);
|
||||||
|
g.clearRect(0,24,g.getWidth(),80);
|
||||||
|
var str = c.temp + "C";
|
||||||
|
g.setFontVector(40).drawString(str,px,45);
|
||||||
|
}
|
||||||
|
Bangle.on('Core', onCore);
|
||||||
|
|
||||||
|
g.clear();
|
||||||
|
Bangle.loadWidgets();
|
||||||
|
Bangle.drawWidgets();
|
||||||
|
|
||||||
|
g.reset().setFont("6x8",2).setFontAlign(0,0);
|
||||||
|
g.drawString("Please wait...",g.getWidth()/2,g.getHeight()/2 - 16);
|
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
Loading…
Reference in New Issue