forked from FOSS/BangleApps
Merge pull request #793 from hughbarney/master
kitchen BTN2=GPS logger, set guage colour yellow : widpedom option to hide display of widget iconmaster
commit
c971a19268
|
@ -1183,7 +1183,7 @@
|
|||
{ "id": "widpedom",
|
||||
"name": "Pedometer widget",
|
||||
"icon": "widget.png",
|
||||
"version":"0.14",
|
||||
"version":"0.15",
|
||||
"description": "Daily pedometer widget",
|
||||
"tags": "widget,b2",
|
||||
"type":"widget",
|
||||
|
@ -3208,7 +3208,7 @@
|
|||
{ "id": "kitchen",
|
||||
"name": "Kitchen Combo",
|
||||
"icon": "kitchen.png",
|
||||
"version":"0.12",
|
||||
"version":"0.13",
|
||||
"description": "Combination of the Stepo, Walkersclock, Arrow and Waypointer apps into a multiclock format. 'Everything but the kitchen sink'. Requires firmware v2.08.167 or later",
|
||||
"tags": "tool,outdoors,gps",
|
||||
"type":"clock",
|
||||
|
|
|
@ -10,3 +10,4 @@
|
|||
0.10: Converted Stepo to use direct screen writes, added a Trip Counter feature to stepo
|
||||
0.11: Detect when waypoints.json is not present, error E-WPT
|
||||
0.12: Added stepo2 as a replacement for stepo and digi
|
||||
0.13: Added long press BTN2 toggle gpsrec status in GPS clock
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
|
||||
function onButtonLong(btn) {
|
||||
log_debug("markWaypoint()");
|
||||
if (btn !== 1) return;
|
||||
if (btn === 1) {
|
||||
if (gpsObject.getState() !== gpsObject.GPS_RUNNING) return;
|
||||
log_debug("markWaypoint()");
|
||||
|
||||
|
@ -93,6 +93,11 @@
|
|||
resetPrevious();
|
||||
getWaypoint();
|
||||
drawGPSData();
|
||||
return;
|
||||
}
|
||||
|
||||
if (btn === 2)
|
||||
Bangle.showLauncher();
|
||||
}
|
||||
|
||||
function getWaypoint() {
|
||||
|
|
|
@ -55,7 +55,10 @@
|
|||
if (btn === 1) cycleInfoMode();
|
||||
}
|
||||
|
||||
function onButtonLong(btn) {}
|
||||
function onButtonLong(btn) {
|
||||
if (btn === 2) Bangle.showLauncher();
|
||||
}
|
||||
|
||||
function getGPSfix() { return undefined; }
|
||||
function setGPSfix(f) {}
|
||||
|
||||
|
|
|
@ -45,7 +45,15 @@
|
|||
}
|
||||
|
||||
function onButtonLong(btn) {
|
||||
if (btn === 1) toggleGPSPower();
|
||||
switch(btn) {
|
||||
case 1:
|
||||
toggleGPSPower();
|
||||
return;
|
||||
case 2:
|
||||
if (gpsObject.getState() === gpsObject.GPS_RUNNING)
|
||||
gpsObject.toggleGpsLogging();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function draw(){
|
||||
|
@ -143,7 +151,8 @@
|
|||
g.drawString(activityStr, 120, Y_ACTIVITY);
|
||||
g.setFont("6x8",2);
|
||||
g.setColor(1,1,1);
|
||||
g.drawString(age, 120, Y_ACTIVITY + 46);
|
||||
var age_and_logging = age + " logging " + gpsObject.loggingStatus();
|
||||
g.drawString(age_and_logging, 120, Y_ACTIVITY + 46);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -71,7 +71,8 @@ function buttonReleased(btn) {
|
|||
face.onButtonLong(btn);
|
||||
break;
|
||||
case 2:
|
||||
Bangle.showLauncher();
|
||||
face.onButtonLong(btn);
|
||||
//Bangle.showLauncher();
|
||||
break;
|
||||
case 3:
|
||||
// do nothing
|
||||
|
@ -94,8 +95,8 @@ function setButtons(){
|
|||
}
|
||||
|
||||
Bangle.on('kill',()=>{
|
||||
Bangle.setCompassPower(0);
|
||||
Bangle.setGPSPower(0);
|
||||
Bangle.setCompassPower(0,'kitchen');
|
||||
Bangle.setGPSPower(0,'kitchen');
|
||||
});
|
||||
|
||||
Bangle.on('lcdPower',function(on) {
|
||||
|
@ -214,7 +215,7 @@ GPS.prototype.toggleGPSPower = function() {
|
|||
this.log_debug("toggleGPSPower()");
|
||||
this.gpsPowerState = Bangle.isGPSOn();
|
||||
this.gpsPowerState = !this.gpsPowerState;
|
||||
Bangle.setGPSPower(this.gpsPowerState ? 1 : 0);
|
||||
Bangle.setGPSPower((this.gpsPowerState ? 1 : 0), 'kitchen');
|
||||
|
||||
this.resetLastFix();
|
||||
this.determineGPSState();
|
||||
|
@ -369,6 +370,26 @@ GPS.prototype.nextWaypoint = function(inc) {
|
|||
return this.wp_current;
|
||||
}
|
||||
|
||||
GPS.prototype.toggleGpsLogging = function() {
|
||||
var settings = require("Storage").readJSON("gpsrec.json",1)||{};
|
||||
if (settings == {}) return false;
|
||||
|
||||
settings.recording = !settings.recording;
|
||||
require("Storage").write("gpsrec.json", settings);
|
||||
|
||||
if (WIDGETS["gpsrec"])
|
||||
WIDGETS["gpsrec"].reload();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
GPS.prototype.loggingStatus = function() {
|
||||
var settings = require("Storage").readJSON("gpsrec.json",1)||{};
|
||||
if (settings == {}) return "E-LOG";
|
||||
if (settings.recording) return "ON";
|
||||
return "OFF";
|
||||
}
|
||||
|
||||
var gpsObj = new GPS();
|
||||
|
||||
|
||||
|
|
|
@ -19,9 +19,14 @@
|
|||
}
|
||||
|
||||
function onButtonLong(btn) {
|
||||
if (btn === 1) {
|
||||
trip.resetTrip(getSteps());
|
||||
trip.setTripState(true);
|
||||
drawStepText();
|
||||
return;
|
||||
}
|
||||
|
||||
if (btn === 2) Bangle.showLauncher();
|
||||
}
|
||||
|
||||
function radians(a) {
|
||||
|
|
|
@ -62,10 +62,15 @@
|
|||
}
|
||||
|
||||
function onButtonLong(btn) {
|
||||
if (btn === 1) {
|
||||
trip.resetTrip(getSteps());
|
||||
infoMode = INFO_TRIP;
|
||||
forceRedraw();
|
||||
draw();
|
||||
return;
|
||||
}
|
||||
|
||||
if (btn === 2) Bangle.showLauncher();
|
||||
}
|
||||
|
||||
function radians(a) {
|
||||
|
@ -207,7 +212,8 @@
|
|||
var midrot = -180 - (360 * percent);
|
||||
var endrot = -360 - 180;
|
||||
|
||||
g.setColor(0x07FF); // light cyan
|
||||
//g.setColor(0x07FF); // light cyan
|
||||
g.setColor(0xFFC0); // yellow
|
||||
|
||||
// draw guauge
|
||||
for (i = startrot; i > midrot; i -= 3) {
|
||||
|
@ -218,8 +224,8 @@
|
|||
|
||||
// change the remaining color to RED if battery is below 25%
|
||||
if (E.getBattery() > 25) {
|
||||
//g.setColor(0x7BEF); // grey
|
||||
g.setColor(0x000D); // dark navy
|
||||
g.setColor(0x7BEF); // grey
|
||||
//g.setColor(0x000D); // dark navy
|
||||
} else {
|
||||
g.setColor(0xF800); // red
|
||||
}
|
||||
|
|
|
@ -31,7 +31,9 @@
|
|||
}
|
||||
}
|
||||
|
||||
function onButtonLong(btn) {}
|
||||
function onButtonLong(btn) {
|
||||
if (btn === 2) Bangle.showLauncher();
|
||||
}
|
||||
|
||||
return {init:init, freeResources:freeResources, startTimer:startTimer, stopTimer:stopTimer,
|
||||
onButtonShort:onButtonShort, onButtonLong:onButtonLong};
|
||||
|
|
|
@ -11,3 +11,4 @@
|
|||
0.12: Respect Quiet Mode
|
||||
0.13: Now use system color theme
|
||||
0.14: Improve memory usage
|
||||
0.15: Settings option to hide the widget icon
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
let s = {
|
||||
'goal': 10000,
|
||||
'progress': false,
|
||||
'hide': false
|
||||
}
|
||||
// ...and overwrite them with any saved values
|
||||
// This way saved values are preserved if a new version adds more settings
|
||||
|
@ -41,6 +42,14 @@
|
|||
save()
|
||||
},
|
||||
},
|
||||
'Hide Widget': {
|
||||
value: s.hide,
|
||||
format: () => (s.hide ? 'Yes' : 'No'),
|
||||
onchange: () => {
|
||||
s.hide = !s.hide
|
||||
save()
|
||||
},
|
||||
},
|
||||
'< Back': back,
|
||||
})
|
||||
})
|
||||
|
|
|
@ -14,11 +14,13 @@
|
|||
const DEFAULTS = {
|
||||
'goal': 10000,
|
||||
'progress': false,
|
||||
'hide': false
|
||||
}
|
||||
return (key in settings) ? settings[key] : DEFAULTS[key];
|
||||
}
|
||||
|
||||
function drawProgress(stps) {
|
||||
if (setting('hide')) return;
|
||||
const width = 24, half = width/2;
|
||||
const goal = setting('goal'), left = Math.max(goal-stps,0);
|
||||
const c = left ? "#00f" : "#090"; // blue or dark green
|
||||
|
@ -48,6 +50,7 @@
|
|||
|
||||
// draw your widget
|
||||
function draw() {
|
||||
if (setting('hide')) return;
|
||||
var width = 24;
|
||||
if (stp_today > 99999){
|
||||
stp_today = stp_today % 100000; // cap to five digits + comma = 6 characters
|
||||
|
|
Loading…
Reference in New Issue