1
0
Fork 0

recorder/openstmap 0.31: Ensure that background-drawn tracks can get cancelled, and draw less at a time to make updates smoother

plotTrack now draws the current track even if you're not actively recording
master
Gordon Williams 2023-10-09 12:50:06 +01:00
parent 1ec0b94362
commit 8a4a2cee5a
6 changed files with 13 additions and 6 deletions

View File

@ -29,4 +29,5 @@
0.22: Replace position marker with direction arrow
0.23: Bugfix: Enable Compass if needed
0.24: Allow zooming by clicking the screen
0.25: Enable scaled image filtering on 2v19+ firmware
0.25: Enable scaled image filtering on 2v19+ firmware
0.26: Ensure that when redrawing, we always cancel any in-progress track draw

View File

@ -30,6 +30,10 @@ if (settings.dirSrc === undefined) {
// Redraw the whole page
function redraw() {
// ensure we do cancel track drawing
if (plotTrack && plotTrack.stop)
plotTrack.stop();
// set clip rect so we don't overwrite widgets
g.setClipRect(R.x,R.y,R.x2,R.y2);
const count = m.draw();
if (checkMapPos && count === 0) {

View File

@ -2,7 +2,7 @@
"id": "openstmap",
"name": "OpenStreetMap",
"shortName": "OpenStMap",
"version": "0.25",
"version": "0.26",
"description": "Loads map tiles from OpenStreetMap onto your Bangle.js and displays a map of where you are. Once installed this also adds map functionality to `GPS Recorder` and `Recorder` apps",
"readme": "README.md",
"icon": "app.png",

View File

@ -36,3 +36,5 @@
0.28: Automatically create new track if the filename is different
0.29: When plotting with OpenStMap scale map to track width & height
0.30: Add clock info for showing and toggling recording state
0.31: Ensure that background-drawn tracks can get cancelled, and draw less at a time to make updates smoother
plotTrack now draws the current track even if you're not actively recording

View File

@ -2,7 +2,7 @@
"id": "recorder",
"name": "Recorder",
"shortName": "Recorder",
"version": "0.30",
"version": "0.31",
"description": "Record GPS position, heart rate and more in the background, then download to your PC.",
"icon": "app.png",
"tags": "tool,outdoors,gps,widget,clkinfo",

View File

@ -288,8 +288,8 @@
}
*/
options = options||{};
if (!activeRecorders.length) return; // not recording
var settings = loadSettings();
if (!settings.file) return; // no file specified
// keep function to draw track in RAM
function plot(g) { "ram";
var f = require("Storage").open(settings.file,"r");
@ -311,7 +311,7 @@
mp = m.latLonToXY(+c[la], +c[lo]);
g.moveTo(mp.x,mp.y).setColor(color);
l = f.readLine(f);
var n = options.async ? 20 : 200; // only plot first 200 points to keep things fast(ish)
var n = options.async ? 10 : 200; // only plot first 200 points to keep things fast(ish)
while(l && n--) {
c = l.split(",");
if (c[la]) {
@ -333,7 +333,7 @@
}
};
}
plot(g);
return plot(g);
}};
// load settings, set correct widget width
reload();