recorder:fix ref error missing settings obj #3282
parent
6af5a2cfb4
commit
cb54fb59a0
|
|
@ -47,3 +47,5 @@
|
||||||
setInterval.
|
setInterval.
|
||||||
0.38: Tweaks to speed up track rendering
|
0.38: Tweaks to speed up track rendering
|
||||||
0.39: Minor code improvements
|
0.39: Minor code improvements
|
||||||
|
0.40: Fix reference error from missing `settings` object in widget on 1 sec recordings with gps.
|
||||||
|
Fix HRM source never being set in output data
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "recorder",
|
"id": "recorder",
|
||||||
"name": "Recorder",
|
"name": "Recorder",
|
||||||
"shortName": "Recorder",
|
"shortName": "Recorder",
|
||||||
"version": "0.39",
|
"version": "0.40",
|
||||||
"description": "Record GPS position, heart rate and more in the background, then download to your PC.",
|
"description": "Record GPS position, heart rate and more in the background, then download to your PC.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,outdoors,gps,widget,clkinfo",
|
"tags": "tool,outdoors,gps,widget,clkinfo",
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
let storageFile; // file for GPS track
|
let storageFile; // file for GPS track
|
||||||
let entriesWritten = 0;
|
|
||||||
let activeRecorders = [];
|
let activeRecorders = [];
|
||||||
let writeSetup;
|
let writeSetup; // the interval for writing, or 'true' if using GPS
|
||||||
|
let writeSubSecs; // true if we should write .1s for time, otherwise round to nearest second
|
||||||
|
|
||||||
let loadSettings = function() {
|
let loadSettings = function() {
|
||||||
var settings = require("Storage").readJSON("recorder.json",1)||{};
|
var settings = require("Storage").readJSON("recorder.json",1)||{};
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
function onHRM(h) {
|
function onHRM(h) {
|
||||||
bpmConfidence = h.confidence;
|
bpmConfidence = h.confidence;
|
||||||
bpm = h.bpm;
|
bpm = h.bpm;
|
||||||
srv = h.src;
|
src = h.src;
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
name : "HR",
|
name : "HR",
|
||||||
|
|
@ -176,11 +176,10 @@
|
||||||
};
|
};
|
||||||
let getCSVHeaders = activeRecorders => ["Time"].concat(activeRecorders.map(r=>r.fields));
|
let getCSVHeaders = activeRecorders => ["Time"].concat(activeRecorders.map(r=>r.fields));
|
||||||
|
|
||||||
let writeLog = function(period) {
|
let writeLog = function() {
|
||||||
entriesWritten++;
|
|
||||||
WIDGETS["recorder"].draw();
|
WIDGETS["recorder"].draw();
|
||||||
try {
|
try {
|
||||||
var fields = [period===1?getTime().toFixed(1):Math.round(getTime())];
|
var fields = [writeSubSecs?getTime().toFixed(1):Math.round(getTime())];
|
||||||
activeRecorders.forEach(recorder => fields.push.apply(fields,recorder.getValues()));
|
activeRecorders.forEach(recorder => fields.push.apply(fields,recorder.getValues()));
|
||||||
if (storageFile) storageFile.write(fields.join(",")+"\n");
|
if (storageFile) storageFile.write(fields.join(",")+"\n");
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
|
|
@ -194,18 +193,15 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let writeOnGPS = function() {writeLog(settings.period);};
|
|
||||||
|
|
||||||
// Called by the GPS app to reload settings and decide what to do
|
// Called by the GPS app to reload settings and decide what to do
|
||||||
let reload = function() {
|
let reload = function() {
|
||||||
var settings = loadSettings();
|
var settings = loadSettings();
|
||||||
if (typeof writeSetup === "number") clearInterval(writeSetup);
|
if (typeof writeSetup === "number") clearInterval(writeSetup);
|
||||||
writeSetup = undefined;
|
writeSetup = undefined;
|
||||||
Bangle.removeListener('GPS', writeOnGPS);
|
Bangle.removeListener('GPS', writeLog);
|
||||||
|
|
||||||
activeRecorders.forEach(rec => rec.stop());
|
activeRecorders.forEach(rec => rec.stop());
|
||||||
activeRecorders = [];
|
activeRecorders = [];
|
||||||
entriesWritten = 0;
|
|
||||||
|
|
||||||
if (settings.recording) {
|
if (settings.recording) {
|
||||||
// set up recorders
|
// set up recorders
|
||||||
|
|
@ -225,8 +221,9 @@
|
||||||
}
|
}
|
||||||
// start recording...
|
// start recording...
|
||||||
WIDGETS["recorder"].draw();
|
WIDGETS["recorder"].draw();
|
||||||
|
writeSubSecs = period===1;
|
||||||
if (settings.period===1 && settings.record.includes("gps")) {
|
if (settings.period===1 && settings.record.includes("gps")) {
|
||||||
Bangle.on('GPS', writeOnGPS);
|
Bangle.on('GPS', writeLog);
|
||||||
writeSetup = true;
|
writeSetup = true;
|
||||||
} else {
|
} else {
|
||||||
writeSetup = setInterval(writeLog, settings.period*1000, settings.period);
|
writeSetup = setInterval(writeLog, settings.period*1000, settings.period);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue