BangleApps/apps/blecsc/clkinfo.js

73 lines
2.1 KiB
JavaScript

(function() {
var csc = require("blecsc").getInstance();
//csc.on("status", txt => { print("CSC",txt); });
csc.on("data", e => {
ci.items.forEach(it => { if (it._visible) it.emit('redraw'); });
});
csc.on("disconnect", e => {
// redraw all with no info
ci.items.forEach(it => { if (it._visible) it.emit('redraw'); });
});
var uses = 0;
var ci = {
name: "CSC",
items: [
{ name : "Speed",
get : () => {
return {
text : (csc.kph === undefined) ? "--" : require("locale").speed(csc.kph),
img : atob("GBiBAAAAAAAAAAAAAAABwAABwAeBgAMBgAH/gAH/wAPDwA/DcD9m/Ge35sW9o8//M8/7E8CBA2GBhn8A/h4AeAAAAAAAAAAAAAAAAA==")
};
},
show : function() {
uses++;
if (uses==1) csc.start();
this._visible = true;
},
hide : function() {
this._visible = false;
uses--;
if (uses==0) csc.stop();
}
},
{ name : "Distance",
get : () => {
return {
text : (csc.kph === undefined) ? "--" : require("locale").distance(csc.cwr * csc.settings.circum / 1000),
img : atob("GBiBAAAAAB8AADuAAGDAAGTAAGRAAEBAAGBAAGDAADCAADGAIB8B+A/BjAfjBgAyJgAyIgAyAj/jBnADBmABjGAA2HAA8D//4AAAAA==")
};
},
show : function() {
uses++;
if (uses==1) csc.start();
this._visible = true;
},
hide : function() {
this._visible = false;
uses--;
if (uses==0) csc.stop();
}
},
{ name : "Cadence",
get : () => {
return {
text : (csc.crps === undefined) ? "--" : Math.round(csc.crps*60),
img : atob("GBiBAAAAAAAAAAB+EAH/sAeB8A4A8AwB8BgAABgAADAAADAAADAAADAADDAADDAAABgAABgAGAwAEA4AAAeAwAH8gAB8AAAAAAAAAA==")
};
},
show : function() {
uses++;
if (uses==1) csc.start();
this._visible = true;
},
hide : function() {
this._visible = false;
uses--;
if (uses==0) csc.stop();
}
}
]
};
return ci;
})