mirror of https://github.com/espruino/BangleApps
42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
(() => {
|
|
function draw() {
|
|
g.reset();
|
|
g.drawImage(E.toArrayBuffer(atob("GBiEBAAAAAABEREQAAAAAAAAAAAKmZkgAAAAAAAAAAAKmZkgAAAAAAAAAAAKkzkgAAAAAAACIQAKkzkgABIgAAAZmSAKPykgApmRAAApmZoqMjkiqZmSAAKZmZmZ8zmpmZmZIAKZmZmZMzmZmZmZIAEpmZmZkzqZmZmSEAACqZmZkjOZmZogAAAAApmZkjOZmSAAAAAAApmZn/mZmSAAAAACqZmZrymZmZogAAEpmZmZkzmZmZmSEAqZmZmZkjqZmZmZoAKZmZmamvmpmZmZIAApmZIan6mhKZmSAAAZmiAKkymgAqmRAAACIAAKkimgAAIgAAAAAAAKkimgAAAAAAAAAAAKmZmgAAAAAAAAAAAKmZmgAAAAAAAAAAABEREQAAAAAA==")), this.x, this.y);
|
|
}
|
|
|
|
var accelData = new Uint8Array(20);
|
|
var accelIdx = 0;
|
|
//http://kionixfs.kionix.com/en/datasheet/KX023-1025%20Specifications%20Rev%2012.0.pdf
|
|
Bangle.accelWr(0x1B,0x01 | 0x40); // 25hz output, ODR/2 filter
|
|
Bangle.setPollInterval(40); // 25hz input
|
|
Bangle.on('accel',function(a) {
|
|
accelData[accelIdx++] = E.clip(a.mag*64,0,255);
|
|
if (accelIdx>=accelData.length) {
|
|
accelIdx = 0;
|
|
try { NRF.updateServices({
|
|
"a19585e9-0001-39d0-015f-b3e2b9a0c854" : {
|
|
"a19585e9-0002-39d0-015f-b3e2b9a0c854" : {
|
|
value : accelData, notify : true
|
|
}
|
|
}
|
|
})} catch(e) {}
|
|
}
|
|
});
|
|
|
|
NRF.setServices({
|
|
"a19585e9-0001-39d0-015f-b3e2b9a0c854" : {
|
|
"a19585e9-0002-39d0-015f-b3e2b9a0c854" : {
|
|
value : accelData,
|
|
maxLen : 20,
|
|
readable : true,
|
|
notify : true
|
|
}
|
|
}
|
|
});
|
|
|
|
// add your widget
|
|
WIDGETS["openseizure"]={
|
|
area:"tl", width: 24, draw:draw
|
|
};
|
|
})()
|