mirror of https://github.com/espruino/BangleApps
73 lines
2.1 KiB
JavaScript
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;
|
|
})
|