corrected apps.json for data setting for kitchen, missed a comma before data

master
hughbarney 2021-05-10 20:05:09 +01:00
parent 785fd175b8
commit 1c7fd13cba
3 changed files with 102 additions and 55 deletions

View File

@ -3100,7 +3100,7 @@
{"name":"swatch.kit.js","url":"swatch.kit.js"}, {"name":"swatch.kit.js","url":"swatch.kit.js"},
{"name":"compass.kit.js","url":"compass.kit.js"}, {"name":"compass.kit.js","url":"compass.kit.js"},
{"name":"kitchen.img","url":"kitchen.icon.js","evaluate":true} {"name":"kitchen.img","url":"kitchen.icon.js","evaluate":true}
] ],
"data": [ "data": [
{"name":"waypoints.json","url":"waypoints.json"} {"name":"waypoints.json","url":"waypoints.json"}
] ]

View File

@ -26,7 +26,7 @@ function nextFace(){
g.clear(); g.clear();
g.reset(); g.reset();
face.init(gpsObj, swObj, hrmObj); face.init(gpsObj, swObj, hrmObj, tripObject);
startdraw(); startdraw();
} }
@ -717,6 +717,41 @@ function onHRM(hrm) {
hrmObj.onHRM(hrm); hrmObj.onHRM(hrm);
} }
/*****************************************************************************
Trip Counter
******************************************************************************/
function TRIP() {
this.showTrip = false;
this.tripStart = 0;
}
TRIP.prototype.resetTrip = function(steps) {
this.tripStart = (0 + steps);
console.log("resetTrip starting=" + this.tripStart);
}
TRIP.prototype.getTrip = function(steps) {
let tripSteps = (0 + steps) - this.tripStart;
console.log("getTrip steps=" + steps);
console.log("getTrip tripStart=" + this.tripStart);
console.log("getTrip=" + tripSteps);
return tripSteps;
}
TRIP.prototype.getTripState = function() {
return this.showTrip;
}
TRIP.prototype.setTripState = function(t) {
this.showTrip = t;
}
let tripObject = new TRIP();
/***************************************************************************** /*****************************************************************************
Debug Object Debug Object
@ -743,6 +778,6 @@ Start App
g.clear(); g.clear();
Bangle.loadWidgets(); Bangle.loadWidgets();
face.init(gpsObj,swObj, hrmObj); face.init(gpsObj,swObj, hrmObj, tripObject);
startdraw(); startdraw();
setButtons(); setButtons();

View File

@ -1,45 +1,29 @@
(() => { (() => {
function getFace(){ function getFace(){
var pal4color;
var pal4red;
var buf;
var intervalRefSec; var intervalRefSec;
var trip;
var prevSteps;
function init(g,sw,hrm) { function init(g,sw,hrm,tr) {
showMem("stepo init 1"); trip = tr;
pal4color = new Uint16Array([0x0000,0xFFFF,0x7BEF,0xAFE5],0,2); // b,w,grey,greenyellow
pal4red = new Uint16Array([0x0000,0xFFFF,0xF800,0xAFE5],0,2); // b,w,red,greenyellow
buf = Graphics.createArrayBuffer(120,120,2,{msb:true});
showMem("stepo init 2");
} }
function freeResources() { function freeResources() {
showMem("stepo free 1"); trip = undefined;
pal4color = undefined; prevSteps = -1;
pal4red = undefined;
buf = undefined;
showMem("stepo free 2");
} }
function showMem(msg) { function onButtonShort(btn) {
var val = process.memory(); trip.setTripState(!trip.getTripState());
var str = msg + " " + Math.round(val.usage*100/val.total) + "%"; drawStepText();
//console.log(str);
} }
function flip(x,y) { function onButtonLong(btn) {
g.drawImage({width:120,height:120,bpp:2,buffer:buf.buffer, palette:pal4color}, x, y); trip.resetTrip(getSteps());
buf.clear(); trip.setTripState(true);
drawStepText();
} }
function flip_red(x,y) {
g.drawImage({width:120,height:120,bpp:2,buffer:buf.buffer, palette:pal4red}, x, y);
buf.clear();
}
function onButtonShort(btn) {}
function onButtonLong(btn) {}
function radians(a) { function radians(a) {
return a*Math.PI/180; return a*Math.PI/180;
} }
@ -55,10 +39,16 @@
function drawSteps() { function drawSteps() {
var i = 0; var i = 0;
var cx = 60; var cx = 60 + 60;
var cy = 60; var cy = 60 + 115;
var r = 56; var r = 56;
var steps = getSteps(); var steps = getSteps();
if (prevSteps == steps)
return;
prevSteps = steps;
var percent = steps / 10000; var percent = steps / 10000;
if (percent > 1) percent = 1; if (percent > 1) percent = 1;
@ -67,35 +57,57 @@
var midrot = -180 - (360 * percent); var midrot = -180 - (360 * percent);
var endrot = -360 - 180; var endrot = -360 - 180;
buf.setColor(3); // green-yellow g.setColor(0xAFE5); // greenyellow
// draw guauge // draw guauge
for (i = startrot; i > midrot; i -= 4) { for (i = startrot; i > midrot; i -= 4) {
x = cx + r * Math.sin(radians(i)); x = cx + r * Math.sin(radians(i));
y = cy + r * Math.cos(radians(i)); y = cy + r * Math.cos(radians(i));
buf.fillCircle(x,y,4); g.fillCircle(x,y,4);
} }
buf.setColor(2); // grey
// draw remainder of guage in grey
for (i = midrot; i > endrot; i -= 4) {
x = cx + r * Math.sin(radians(i));
y = cy + r * Math.cos(radians(i));
buf.fillCircle(x,y,4);
}
// draw steps
buf.setColor(1); // white
buf.setFont("Vector", 24);
buf.setFontAlign(0,0);
buf.drawString(steps, cx, cy);
// change the remaining color to RED if battery is below 25% // change the remaining color to RED if battery is below 25%
if (E.getBattery() > 25) if (E.getBattery() > 25)
flip(60,115); g.setColor(0x7BEF); // grey
else else
flip_red(60,115); g.setColor(0xF800); // red
// draw remainder of guage in grey or red
for (i = midrot; i > endrot; i -= 4) {
x = cx + r * Math.sin(radians(i));
y = cy + r * Math.cos(radians(i));
g.fillCircle(x,y,4);
}
}
function drawStepText() {
var cx = 60 + 60;
var cy = 60 + 115;
var r = 56;
var steps = getSteps();
/*
* if our trip count is greater than todays steps then we have
* rolled over to the next day so we should reset the trip counter
*/
if (trip.getTrip(steps) < 0)
trip.resetTrip(steps);
// show trip count or total steps today
g.setFontAlign(0,0);
g.setFont("Vector", 24);
// clear the space for the text
g.clearRect(cx - (r - 12), cy - 16, cx + (r - 12), cy + 16);
if (trip.getTripState() == true) {
g.setColor(0x7BEF); // grey
//g.setColor(1,0,0); // red
g.drawString(trip.getTrip(steps), cx, cy);
} else {
g.setColor(1,1,1); // white
g.drawString(steps, cx, cy);
}
} }
function draw() { function draw() {
@ -110,6 +122,7 @@
g.drawString(time, 120, 30, true); g.drawString(time, 120, 30, true);
drawSteps(); drawSteps();
drawStepText();
} }
function getSteps() { function getSteps() {
@ -132,5 +145,4 @@
} }
return getFace; return getFace;
})(); })();