kitchen: added trip counter to stepo, revertd to direct screen writes to avoid mem errors
parent
1c7fd13cba
commit
41dde5ff2d
|
|
@ -3085,7 +3085,7 @@
|
||||||
{ "id": "kitchen",
|
{ "id": "kitchen",
|
||||||
"name": "Kitchen Combo",
|
"name": "Kitchen Combo",
|
||||||
"icon": "kitchen.png",
|
"icon": "kitchen.png",
|
||||||
"version":"0.09",
|
"version":"0.10",
|
||||||
"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",
|
"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",
|
"tags": "tool,outdoors,gps",
|
||||||
"type":"clock",
|
"type":"clock",
|
||||||
|
|
|
||||||
|
|
@ -7,3 +7,4 @@
|
||||||
0.07: Added error codes if dependancies are missing
|
0.07: Added error codes if dependancies are missing
|
||||||
0.08: Improved error handling for missing firmware features, added template app.kit.js
|
0.08: Improved error handling for missing firmware features, added template app.kit.js
|
||||||
0.09: Added heart rate monitor app
|
0.09: Added heart rate monitor app
|
||||||
|
0.10: Converted Stepo to use direct screen writes, added a Trip Counter feature to stepo
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,10 @@ The following buttons depend on which face is currently in use
|
||||||
- Show step count in the middle of the doughnut gauge
|
- Show step count in the middle of the doughnut gauge
|
||||||
- The gauge show percentage of steps out of a goal of 10000 steps
|
- The gauge show percentage of steps out of a goal of 10000 steps
|
||||||
- When the battery is less than 25% the doughnut turns red
|
- When the battery is less than 25% the doughnut turns red
|
||||||
|
- Use BTN1 to switch to the Trip Counter, use long press to reset Trip Counter
|
||||||
- Use BTN3 to switch to the next app
|
- Use BTN3 to switch to the next app
|
||||||
|
|
||||||
|
|
||||||
## GPS
|
## GPS
|
||||||

|

|
||||||
- Use BTN1 long press to switch the GPS on or off
|
- Use BTN1 long press to switch the GPS on or off
|
||||||
|
|
@ -231,6 +233,9 @@ ArrayBuffer for stepo rather than using new everytime you switch back
|
||||||
into the stepo watch face. The problem is that the bangle memory
|
into the stepo watch face. The problem is that the bangle memory
|
||||||
management / defragmentation is quite slow to run.
|
management / defragmentation is quite slow to run.
|
||||||
|
|
||||||
|
v0.10: Revisited having a display buffer for the stepo part of the App.
|
||||||
|
Now use direct screen writing as it means less memory allocation and
|
||||||
|
reduces chance of getting a memory error on switching watch faces.
|
||||||
|
|
||||||
### Error Codes
|
### Error Codes
|
||||||
|
|
||||||
|
|
@ -242,7 +247,6 @@ The following error codes will be displayed if one of the dependancies is not me
|
||||||
|
|
||||||
### Issues / Future enhancements
|
### Issues / Future enhancements
|
||||||
|
|
||||||
* Revisit statically assigning the display buffer for stepo to avoid memory defrag
|
|
||||||
* GPS time display shows GMT and not BST, needs localising
|
* GPS time display shows GMT and not BST, needs localising
|
||||||
* Occassional buzzing after 2-3 days of use, seems to disappear after
|
* Occassional buzzing after 2-3 days of use, seems to disappear after
|
||||||
a reset to the launcher menu. Needs investigation
|
a reset to the launcher menu. Needs investigation
|
||||||
|
|
|
||||||
|
|
@ -33,10 +33,10 @@ function nextFace(){
|
||||||
// when you feel the buzzer you know you have done a long press
|
// when you feel the buzzer you know you have done a long press
|
||||||
function longPressCheck() {
|
function longPressCheck() {
|
||||||
Bangle.buzz();
|
Bangle.buzz();
|
||||||
debugObj.log("long PressCheck()");
|
debug_log("long PressCheck() buzz");
|
||||||
if (pressTimer) {
|
if (pressTimer) {
|
||||||
clearInterval(pressTimer);
|
clearInterval(pressTimer);
|
||||||
debugObj.log("clear pressTimer 2");
|
debug_log("clear pressTimer 2");
|
||||||
pressTimer = undefined;
|
pressTimer = undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -48,10 +48,10 @@ function buttonPressed(btn) {
|
||||||
} else {
|
} else {
|
||||||
firstPress = getTime();
|
firstPress = getTime();
|
||||||
if (pressTimer) {
|
if (pressTimer) {
|
||||||
debugObj.log("clear pressTimer 1");
|
debug_log("clear pressTimer 1");
|
||||||
clearInterval(pressTimer);
|
clearInterval(pressTimer);
|
||||||
}
|
}
|
||||||
debugObj.log("set pressTimer 1");
|
debug_log("set pressTimer 1");
|
||||||
pressTimer = setInterval(longPressCheck, 1500);
|
pressTimer = setInterval(longPressCheck, 1500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -60,7 +60,7 @@ function buttonPressed(btn) {
|
||||||
function buttonReleased(btn) {
|
function buttonReleased(btn) {
|
||||||
var dur = getTime() - firstPress;
|
var dur = getTime() - firstPress;
|
||||||
if (pressTimer) {
|
if (pressTimer) {
|
||||||
debugObj.log("clear pressTimer 3");
|
debug_log("clear pressTimer 3");
|
||||||
clearInterval(pressTimer);
|
clearInterval(pressTimer);
|
||||||
pressTimer = undefined;
|
pressTimer = undefined;
|
||||||
}
|
}
|
||||||
|
|
@ -256,7 +256,7 @@ GPS.prototype.processFix = function(fix) {
|
||||||
this.gpsState = this.GPS_RUNNING;
|
this.gpsState = this.GPS_RUNNING;
|
||||||
if (!this.last_fix.fix && !(require("Storage").readJSON("setting.json", 1) || {}).quiet) {
|
if (!this.last_fix.fix && !(require("Storage").readJSON("setting.json", 1) || {}).quiet) {
|
||||||
Bangle.buzz(); // buzz on first position
|
Bangle.buzz(); // buzz on first position
|
||||||
debugObj.log("GPS fix buzz");
|
debug_log("GPS fix buzz");
|
||||||
}
|
}
|
||||||
this.last_fix = fix;
|
this.last_fix = fix;
|
||||||
}
|
}
|
||||||
|
|
@ -758,6 +758,7 @@ Debug Object
|
||||||
|
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
function DEBUG() {
|
function DEBUG() {
|
||||||
this.logfile = require("Storage").open("debug.log","a");
|
this.logfile = require("Storage").open("debug.log","a");
|
||||||
}
|
}
|
||||||
|
|
@ -769,6 +770,11 @@ DEBUG.prototype.log = function(msg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
debugObj = new DEBUG();
|
debugObj = new DEBUG();
|
||||||
|
*/
|
||||||
|
|
||||||
|
function debug_log(m) {
|
||||||
|
//debugObj.log(m);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue