1
0
Fork 0

Merge pull request #643 from hughbarney/master

added getSteps() to wpedom widget, updated vertical face to display step count
master
Gordon Williams 2021-01-27 08:02:04 +00:00 committed by GitHub
commit b46070d220
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 36 additions and 24 deletions

View File

@ -1007,7 +1007,7 @@
{ "id": "widpedom", { "id": "widpedom",
"name": "Pedometer widget", "name": "Pedometer widget",
"icon": "widget.png", "icon": "widget.png",
"version":"0.10", "version":"0.11",
"description": "Daily pedometer widget", "description": "Daily pedometer widget",
"tags": "widget", "tags": "widget",
"type":"widget", "type":"widget",
@ -2139,7 +2139,7 @@
{ "id": "multiclock", { "id": "multiclock",
"name": "Multi Clock", "name": "Multi Clock",
"icon": "multiclock.png", "icon": "multiclock.png",
"version":"0.10", "version":"0.11",
"description": "Clock with multiple faces - Big, Analogue, Digital, Text, Time-Date.\n Switch between faces with BTN1 & BTN3", "description": "Clock with multiple faces - Big, Analogue, Digital, Text, Time-Date.\n Switch between faces with BTN1 & BTN3",
"readme": "README.md", "readme": "README.md",
"tags": "clock", "tags": "clock",

View File

@ -8,3 +8,4 @@
0.08: Add pinned clock face 0.08: Add pinned clock face
0.09: Added Pedometer clock 0.09: Added Pedometer clock
0.10: Added GPS and Grid Ref clock faces 0.10: Added GPS and Grid Ref clock faces
0.11: Updated Pedometer clock to retrieve steps from either wpedom or activepedom

View File

@ -2,14 +2,15 @@
function getFace(){ function getFace(){
function draw() { function draw() {
let steps = -1; let steps = "-";
let show_steps = false; let show_steps = false;
// only attempt to get steps if activepedom is loaded // only attempt to get steps if activepedom is loaded
if (WIDGETS.activepedom !== undefined) { if (WIDGETS.activepedom !== undefined) {
steps = WIDGETS.activepedom.getSteps(); steps = WIDGETS.activepedom.getSteps();
show_steps = true; } else if (WIDGETS.wpedom !== undefined) {
steps = WIDGETS.wpedom.getSteps();
} }
var d = new Date(); var d = new Date();
@ -22,18 +23,15 @@
g.setColor(1,1,1); // white g.setColor(1,1,1); // white
g.setFontAlign(0, -1); g.setFontAlign(0, -1);
g.drawString(time, g.getWidth()/2, 60); g.drawString(time, g.getWidth()/2, 60);
g.setColor(0,255,0); // green
g.setFont("Vector", 60);
g.drawString(steps, g.getWidth()/2, 160);
}
if (show_steps) { function onSecond(){
g.setColor(0,255,0); // green var t = new Date();
g.setFont("Vector", 60); if ((t.getSeconds() % 5) === 0) draw();
g.drawString(steps, g.getWidth()/2, 160); }
}
}
function onSecond(){
var t = new Date();
if ((t.getSeconds() % 5) === 0) draw();
}
return {init:draw, tick:onSecond}; return {init:draw, tick:onSecond};
} }

View File

@ -2,3 +2,4 @@
0.05: Stop hours being displayed wrong if moving from 2 digits to 1 (fix #516) 0.05: Stop hours being displayed wrong if moving from 2 digits to 1 (fix #516)
0.06: Tweak sizing to allow widgets at top, and add widgets (fix #567) 0.06: Tweak sizing to allow widgets at top, and add widgets (fix #567)
0.07: Added leading zero to hours and minutes 0.07: Added leading zero to hours and minutes
0.08: Show step count by calling wpedom.getSteps() or activepedom.getSteps()

View File

@ -40,6 +40,7 @@ function drawTimeDate() {
//We will create custom "Widgets" for our face. //We will create custom "Widgets" for our face.
function drawSteps() { function drawSteps() {
var steps = "-";
//Reset to defaults. //Reset to defaults.
g.reset(); g.reset();
// draw the date (2x size 7 segment) // draw the date (2x size 7 segment)
@ -48,7 +49,12 @@ function drawSteps() {
g.setFontAlign(-1,0); // align right bottom g.setFontAlign(-1,0); // align right bottom
g.drawString("STEPS", 145, 40, true /*clear background*/); g.drawString("STEPS", 145, 40, true /*clear background*/);
g.setColor('#bdc3c7'); g.setColor('#bdc3c7');
g.drawString("-", 145, 65, true /*clear background*/); if (WIDGETS.activepedom !== undefined) {
steps = WIDGETS.activepedom.getSteps();
} else if (WIDGETS.wpedom !== undefined) {
steps = WIDGETS.wpedom.getSteps();
}
g.drawString(steps, 145, 65, true /*clear background*/);
} }
function drawBPM(on) { function drawBPM(on) {
@ -114,6 +120,7 @@ Bangle.on('lcdPower',on=>{
//Screen on //Screen on
drawBPM(HRMstate); drawBPM(HRMstate);
drawTimeDate(); drawTimeDate();
drawSteps();
drawBattery(); drawBattery();
} else { } else {
//Screen off //Screen off
@ -133,14 +140,14 @@ Bangle.on('touch', function(button) {
//HRM Controller. //HRM Controller.
setWatch(function(){ setWatch(function(){
if(!HRMstate){ if(!HRMstate){
console.log("Toggled HRM"); //console.log("Toggled HRM");
//Turn on. //Turn on.
Bangle.buzz(); Bangle.buzz();
Bangle.setHRMPower(1); Bangle.setHRMPower(1);
currentHRM = "CALC"; currentHRM = "CALC";
HRMstate = true; HRMstate = true;
} else if(HRMstate){ } else if(HRMstate){
console.log("Toggled HRM"); //console.log("Toggled HRM");
//Turn off. //Turn off.
Bangle.buzz(); Bangle.buzz();
Bangle.setHRMPower(0); Bangle.setHRMPower(0);
@ -153,7 +160,7 @@ setWatch(function(){
Bangle.on('HRM', function(hrm) { Bangle.on('HRM', function(hrm) {
if(hrm.confidence > 90){ if(hrm.confidence > 90){
/*Do more research to determine effect algorithm for heartrate average.*/ /*Do more research to determine effect algorithm for heartrate average.*/
console.log(hrm.bpm); //console.log(hrm.bpm);
currentHRM = hrm.bpm; currentHRM = hrm.bpm;
drawBPM(HRMstate); drawBPM(HRMstate);
} }

View File

@ -7,3 +7,4 @@
0.08: Ensure redrawing works with variable size widget system 0.08: Ensure redrawing works with variable size widget system
0.09: Add daily goal 0.09: Add daily goal
0.10: Fix daily goal, don't store settings in separate file 0.10: Fix daily goal, don't store settings in separate file
0.11: added getSteps() method for apps to retrieve step count

View File

@ -112,7 +112,11 @@
}); });
// add your widget // add your widget
WIDGETS["wpedom"]={area:"tl",width:26,draw:draw,reload:reload}; WIDGETS["wpedom"]={area:"tl",width:26,
draw:draw,
reload:reload,
getSteps:()=>stp_today
};
// Load data at startup // Load data at startup
let pedomData = require("Storage").readJSON(PEDOMFILE,1); let pedomData = require("Storage").readJSON(PEDOMFILE,1);
if (pedomData) { if (pedomData) {