From 40968a24fc84a4327407031c5ad5bf46f4ce218e Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 19:36:21 -0700 Subject: [PATCH 01/10] add cadence to gpx data --- apps/recorder/interface.html | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/recorder/interface.html b/apps/recorder/interface.html index f2774c79f..f47171a01 100644 --- a/apps/recorder/interface.html +++ b/apps/recorder/interface.html @@ -95,17 +95,29 @@ function saveGPX(track, title) { ${title} `; + let lastTime = 0; track.forEach(pt=>{ + let cadence; + if (!pt.Steps || lastTime === 0){ + + } else { + cadence = pt.Steps * 60000 / (pt.Time.getUTCMilliseconds() - lastTime); + } + lastTime = pt.Time.getUTCMilliseconds(); + gpx += ` ${pt.Altitude} - ${pt.Heartrate ? `${pt.Heartrate}`:``}${""/*...65*/} + ${pt.Heartrate ? `${pt.Heartrate}`:``} + ${cadence ? `${cadence}`:``} + ${""/*...65*/} `; + }); // https://www8.garmin.com/xmlschemas/TrackPointExtensionv1.xsd gpx += ` From b5182301fbb66e7ae514c9c94d2e21078e4bdf61 Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 19:38:39 -0700 Subject: [PATCH 02/10] increment version --- apps/recorder/ChangeLog | 3 ++- apps/recorder/metadata.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/recorder/ChangeLog b/apps/recorder/ChangeLog index 9e78bc7a2..5570601af 100644 --- a/apps/recorder/ChangeLog +++ b/apps/recorder/ChangeLog @@ -37,4 +37,5 @@ 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 \ No newline at end of file + plotTrack now draws the current track even if you're not actively recording +0.32 Add cadence data to output files \ No newline at end of file diff --git a/apps/recorder/metadata.json b/apps/recorder/metadata.json index b47fb9ded..a95ddf470 100644 --- a/apps/recorder/metadata.json +++ b/apps/recorder/metadata.json @@ -2,7 +2,7 @@ "id": "recorder", "name": "Recorder", "shortName": "Recorder", - "version": "0.31", + "version": "0.32", "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", From 3b1c75e874d5189330b989b3d104c4b850f2e402 Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 19:41:19 -0700 Subject: [PATCH 03/10] forgot colon --- apps/recorder/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/recorder/ChangeLog b/apps/recorder/ChangeLog index 5570601af..c3ea6041a 100644 --- a/apps/recorder/ChangeLog +++ b/apps/recorder/ChangeLog @@ -38,4 +38,4 @@ 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 -0.32 Add cadence data to output files \ No newline at end of file +0.32: Add cadence data to output files \ No newline at end of file From 8ceae6df47a1ac34d18389c8116db800be6d6ad7 Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 20:05:37 -0700 Subject: [PATCH 04/10] fix check for cadence calculation --- apps/recorder/interface.html | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/apps/recorder/interface.html b/apps/recorder/interface.html index f47171a01..4475f624f 100644 --- a/apps/recorder/interface.html +++ b/apps/recorder/interface.html @@ -98,9 +98,7 @@ function saveGPX(track, title) { let lastTime = 0; track.forEach(pt=>{ let cadence; - if (!pt.Steps || lastTime === 0){ - - } else { + if (pt.Steps && lastTime != 0){ cadence = pt.Steps * 60000 / (pt.Time.getUTCMilliseconds() - lastTime); } lastTime = pt.Time.getUTCMilliseconds(); @@ -112,8 +110,7 @@ function saveGPX(track, title) { ${pt.Heartrate ? `${pt.Heartrate}`:``} - ${cadence ? `${cadence}`:``} - ${""/*...65*/} + ${cadence ? `${cadence}`:``} ${""/*...65*/} `; From 2ce1d4b510c748ecb750a5f41559ee5771bda642 Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 20:28:03 -0700 Subject: [PATCH 05/10] print for debug --- apps/recorder/interface.html | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/recorder/interface.html b/apps/recorder/interface.html index 4475f624f..8bb2868c4 100644 --- a/apps/recorder/interface.html +++ b/apps/recorder/interface.html @@ -102,6 +102,7 @@ function saveGPX(track, title) { cadence = pt.Steps * 60000 / (pt.Time.getUTCMilliseconds() - lastTime); } lastTime = pt.Time.getUTCMilliseconds(); + Console.log("lt: " +lastTime + " steps: " + pt.Steps + " cadence: " + cadence + " dt: " + (pt.Time.getUTCMilliseconds() - lastTime)); gpx += ` From 465aa25ffc70b3394e9d15340eefef58580fb37d Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 20:36:08 -0700 Subject: [PATCH 06/10] Apparently i forgot how to console.log --- apps/recorder/interface.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/recorder/interface.html b/apps/recorder/interface.html index 8bb2868c4..3f84bb8ea 100644 --- a/apps/recorder/interface.html +++ b/apps/recorder/interface.html @@ -102,7 +102,7 @@ function saveGPX(track, title) { cadence = pt.Steps * 60000 / (pt.Time.getUTCMilliseconds() - lastTime); } lastTime = pt.Time.getUTCMilliseconds(); - Console.log("lt: " +lastTime + " steps: " + pt.Steps + " cadence: " + cadence + " dt: " + (pt.Time.getUTCMilliseconds() - lastTime)); + console.log("lt: " +lastTime + " steps: " + pt.Steps + " cadence: " + cadence + " dt: " + (pt.Time.getUTCMilliseconds() - lastTime)); gpx += ` From ccc21082e3617102a42c9f6cc0f41d7a2cba8b8c Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 20:40:09 -0700 Subject: [PATCH 07/10] account for my lack of thought and print more stuff --- apps/recorder/interface.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/recorder/interface.html b/apps/recorder/interface.html index 3f84bb8ea..9e5acaffa 100644 --- a/apps/recorder/interface.html +++ b/apps/recorder/interface.html @@ -101,8 +101,9 @@ function saveGPX(track, title) { if (pt.Steps && lastTime != 0){ cadence = pt.Steps * 60000 / (pt.Time.getUTCMilliseconds() - lastTime); } + + console.log("lt: " +lastTime + " steps: " + pt.Steps + " cadence: " + cadence + " dt: " + (pt.Time.getUTCMilliseconds() - lastTime) + " pt time " + pt.Time.getUTCMilliseconds() + " last time " + lastTime); lastTime = pt.Time.getUTCMilliseconds(); - console.log("lt: " +lastTime + " steps: " + pt.Steps + " cadence: " + cadence + " dt: " + (pt.Time.getUTCMilliseconds() - lastTime)); gpx += ` From e1d9701bbf7d259e804845ddc3806c793ecd9a8c Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 21:04:09 -0700 Subject: [PATCH 08/10] change getUTCMilliseconds to getTime --- apps/recorder/interface.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/recorder/interface.html b/apps/recorder/interface.html index 9e5acaffa..f3e963aa0 100644 --- a/apps/recorder/interface.html +++ b/apps/recorder/interface.html @@ -99,11 +99,11 @@ function saveGPX(track, title) { track.forEach(pt=>{ let cadence; if (pt.Steps && lastTime != 0){ - cadence = pt.Steps * 60000 / (pt.Time.getUTCMilliseconds() - lastTime); + cadence = pt.Steps * 60000 / (pt.Time.getTime() - lastTime); } - console.log("lt: " +lastTime + " steps: " + pt.Steps + " cadence: " + cadence + " dt: " + (pt.Time.getUTCMilliseconds() - lastTime) + " pt time " + pt.Time.getUTCMilliseconds() + " last time " + lastTime); - lastTime = pt.Time.getUTCMilliseconds(); + console.log("lt: " +lastTime + " steps: " + pt.Steps + " cadence: " + cadence + " dt: " + (pt.Time.getTime() - lastTime) + " pt time " + pt.Time.getTime() + " last time " + lastTime); + lastTime = pt.Time.getTime(); gpx += ` From 9ec73873abd10009a0950655556e12ce9430f1a7 Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 21:10:13 -0700 Subject: [PATCH 09/10] cleanup code --- apps/recorder/interface.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/recorder/interface.html b/apps/recorder/interface.html index f3e963aa0..ca6b1e83c 100644 --- a/apps/recorder/interface.html +++ b/apps/recorder/interface.html @@ -101,8 +101,6 @@ function saveGPX(track, title) { if (pt.Steps && lastTime != 0){ cadence = pt.Steps * 60000 / (pt.Time.getTime() - lastTime); } - - console.log("lt: " +lastTime + " steps: " + pt.Steps + " cadence: " + cadence + " dt: " + (pt.Time.getTime() - lastTime) + " pt time " + pt.Time.getTime() + " last time " + lastTime); lastTime = pt.Time.getTime(); gpx += ` From 9afd4ef79a3b603d31fb13bbe129a4f1dd7a63b6 Mon Sep 17 00:00:00 2001 From: Mineinjava <65673396+Mineinjava@users.noreply.github.com> Date: Wed, 1 Nov 2023 21:22:39 -0700 Subject: [PATCH 10/10] divide by two --- apps/recorder/interface.html | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/recorder/interface.html b/apps/recorder/interface.html index ca6b1e83c..7f1e3bbc6 100644 --- a/apps/recorder/interface.html +++ b/apps/recorder/interface.html @@ -100,6 +100,7 @@ function saveGPX(track, title) { let cadence; if (pt.Steps && lastTime != 0){ cadence = pt.Steps * 60000 / (pt.Time.getTime() - lastTime); + cadence = cadence / 2; /*Convert from rpm to spm (one cycle is two steps), see https://github.com/espruino/BangleApps/pull/3068#issuecomment-1790041058*/ } lastTime = pt.Time.getTime();