bikespeedo: add option to record ride

master
Rob Pilling 2023-05-07 23:26:46 +01:00
parent afe37b55fa
commit 9e93d1588d
2 changed files with 33 additions and 13 deletions

View File

@ -507,14 +507,6 @@ function onPressure(dat) {
altiBaro = Number(dat.altitude.toFixed(0)) + Number(cfg.altDiff); altiBaro = Number(dat.altitude.toFixed(0)) + Number(cfg.altDiff);
} }
Bangle.setBarometerPower(1); // needs some time...
g.clearRect(0,screenYstart,screenW,screenH);
onGPS(lf);
Bangle.setGPSPower(1);
Bangle.on('GPS', onGPS);
Bangle.on('pressure', onPressure);
Bangle.setCompassPower(1);
var CALIBDATA = require("Storage").readJSON("magnav.json",1)||null; var CALIBDATA = require("Storage").readJSON("magnav.json",1)||null;
if (!CALIBDATA) calibrateCompass = true; if (!CALIBDATA) calibrateCompass = true;
function Compass_tiltfixread(O,S){ function Compass_tiltfixread(O,S){
@ -552,11 +544,30 @@ function Compass_reading() {
Compass_heading = Compass_newHeading(d,Compass_heading); Compass_heading = Compass_newHeading(d,Compass_heading);
hdngCompass = Compass_heading.toFixed(0); hdngCompass = Compass_heading.toFixed(0);
} }
if (!calibrateCompass) setInterval(Compass_reading,200);
setButtons(); function start() {
if (emulator) setInterval(updateClock, 2000); Bangle.setBarometerPower(1); // needs some time...
else setInterval(updateClock, 10000); g.clearRect(0,screenYstart,screenW,screenH);
onGPS(lf);
Bangle.setGPSPower(1);
Bangle.on('GPS', onGPS);
Bangle.on('pressure', onPressure);
Bangle.setCompassPower(1);
if (!calibrateCompass) setInterval(Compass_reading,200);
setButtons();
if (emulator) setInterval(updateClock, 2000);
else setInterval(updateClock, 10000);
Bangle.drawWidgets();
}
Bangle.loadWidgets(); Bangle.loadWidgets();
Bangle.drawWidgets(); if (cfg.record && WIDGETS["recorder"]) {
WIDGETS["recorder"]
.setRecording(true)
.then(start);
} else {
start();
}

View File

@ -22,6 +22,15 @@
}, },
}; };
if (global.WIDGETS && WIDGETS["recorder"])
appMenu[/*LANG*/"Record rides"] = {
value : !!settings.record,
onchange : v => {
settings.record = v;
writeSettings();
}
};
const altdiffMenu = { const altdiffMenu = {
'': { 'title': 'Altitude adjustment' }, '': { 'title': 'Altitude adjustment' },
'< Back': function() { E.showMenu(appMenu); }, '< Back': function() { E.showMenu(appMenu); },