diff --git a/apps.json b/apps.json index 642983257..4e497f635 100644 --- a/apps.json +++ b/apps.json @@ -400,7 +400,7 @@ { "id": "gpsrec", "name": "GPS Recorder", "icon": "app.png", - "version":"0.17", + "version":"0.18", "interface": "interface.html", "description": "Application that allows you to record a GPS track. Can run in background", "tags": "tool,outdoors,gps,widget", @@ -2971,5 +2971,5 @@ {"name":"stepo.app.js","url":"app.js"}, {"name":"stepo.img","url":"icon.js","evaluate":true} ] -} +} ] diff --git a/apps/gpsrec/ChangeLog b/apps/gpsrec/ChangeLog index 9974e1a64..39dcd2dc1 100644 --- a/apps/gpsrec/ChangeLog +++ b/apps/gpsrec/ChangeLog @@ -19,3 +19,4 @@ 0.15: Add plotTrack method to allow current track to be plotted on a map (#395) 0.16: Add gpsrec app to Settings menu 0.17: Disable recording if storage is full (fix #574) +0.18: Period counter now uses GPS time rather than counting packets (allows use with GPS Setup) diff --git a/apps/gpsrec/app.js b/apps/gpsrec/app.js index 4fa51e3e1..cf3591151 100644 --- a/apps/gpsrec/app.js +++ b/apps/gpsrec/app.js @@ -44,6 +44,7 @@ function showMainMenu() { min: 1, max: 120, step: 1, + format: v=>v+"s", onchange: v => { settings.recording = false; settings.period = v; diff --git a/apps/gpsrec/widget.js b/apps/gpsrec/widget.js index 4ddd0e669..8e4286db5 100644 --- a/apps/gpsrec/widget.js +++ b/apps/gpsrec/widget.js @@ -3,8 +3,8 @@ var hasFix = false; var fixToggle = false; // toggles once for each reading var gpsTrack; // file for GPS track - var periodCtr = 0; var gpsOn = false; + var lastFixTime; // draw your widget function draw() { @@ -26,9 +26,11 @@ fixToggle = !fixToggle; WIDGETS["gpsrec"].draw(); if (hasFix) { - periodCtr--; - if (periodCtr<=0) { - periodCtr = settings.period; + var period = 1000000; + if (lastFixTime!==undefined) + period = fix.time.getTime() - lastFixTime; + if (period > settings.period*1000) { + lastFixTime = fix.time.getTime(); try { if (gpsTrack) gpsTrack.write([ fix.time.getTime(),