Commit Graph

10589 Commits

Author SHA1 Message Date
Mark Liversedge
943deb67ea Generic Support for Session and Lap in FIT files
GENERIC SUPPORT FOR PARSING INTO XDATA

.. Generically parse FIT file messages into XDATA. The current
   implementation does this for session, lap and totals messages
   but could very easily be extended to any other message type

.. Generic parsing uses metadata rather than hard coding the
   message and field types and so on

.. The FIT metadata (FITmetadata.json) has been expanded to
   include definitions of message types and all the standard
   fields within the message types

.. The existing hard-coded parsing remains to extract data
   and apply directly to ridefile samples and metadata. The
   generic parser simply adds additional tabs on the data
   view as XDATA so users can access it.

   CODE REFACTORING, COMMENTS AND BUG FIXES

.. At some point the code needs to be refactored as it is
   janky and needs to align with the rest of the codebase

.. Includes a mild refactor renaming some of the classes/structs
   and variables to reflect what they actually are, for example:

       FitFileReadState -> FitFileParser
       FitDefinition -> FitMessage

.. Added lots of code comments and re-organised the code
   into clear sections to help navigate what is a very
   cumbersome source file, this breaks git blame history
   but is worth the loss (you can checkout an earlier commit
   to do a full blame)

.. Changed debugging levels to be more helpful

.. Generally I did not change any code, but there were a
   couple of serious bugs that needed to be corrected:

      Field definitions gets the type wrong in a couple of
      places since the type is stored in the low 4 bits:
      type = value & 0x1F

      The decodeDeveloperFieldDescription function did not
      check for NA_VALUEs for scale, offset, native field

.. For less serious bugs I added FIXME comments throughout the code

Fixes #4416
2023-11-10 17:14:50 +00:00
Alejandro Martinez
146f9eabc5 Fix Weekly tiles in default Trends layouts
So they are consistent across all date ranges
Fixes #4413
2023-11-07 09:58:08 -03:00
Alejandro Martinez
15bafbd444 Update snapshot builds
Summary of changes from v3.6 release:
ec0653f81 ErgFilePlot - realtime curves honor FFWD/RWND and lap F/B
43368addf Mapview: Added interactivity to the Smallplot (#4408)
72de6bbee Fix lap data auto-reset in slope workouts
c2f440c1c Fix broken workout directory check for the first start (#4410)
b095b403b Fix shortcuts not available due to translations
e6ff1a157 Python Chart Editor Cosmetics
00e182c41 Better user experience when drawing segments on the map
(#4403)
f746f7361 GPX parser - support ns3 TrackPointExtension name
9ae7521e5 Upgrade Travis-ci macOS version to macOS 11.6
e8132b1a5 Upgrade Travis-ci Linux version to Ubuntu 20.04
8f2ba0e11 Special case Start Date and Time in the cache
110652bf4 Update German translation
fabc344aa Add Wahoo PowrLink
f78381466 Train library - add path to the list of possible errors
48d91d02d Fix issues after perspective switch (#786)
59a8ca231 Implemented compare mode for RideMapWindow (#786)
733db9cb1 Ignore dot folders on athlete open/backup/delete
951e5f360 Fix crash on invalid perspective filter
[publish binaries]
2023-11-04 10:19:31 -03:00
Alejandro Martinez
ec0653f81f ErgFilePlot - realtime curves use context->getNow()
like Workout Editor does to honor ffwd/rwnd and lap f/b
Fixes #4412
2023-11-01 17:01:50 -03:00
Joachim Kohlhammer
43368addf7 Mapview: Added interactivity to the Smallplot (#4408)
* Added a tooltip showing data about the current position (Altitude, Power,
  HR, Time)
* Added a marker to the map corresponding to the current mouse position
  (both Google and OSM)
* Changed scaling of the smallplot: Chart is now between lowest point and
  highest point instead of sea level and highest point
2023-11-01 11:15:56 -03:00
Alejandro Martinez
72de6bbee1 Fix lap data auto-reset in slope workouts
+ Lap Distance was wrong until the first lap due to currentLap
  not checking the lap lower bound.
+ Lap Time was not reset due to workoutLap being also modified in
  guiUpdate, so the newLap signal was never generated.
+ Additionally newLap slot remove duplicate functions called on newLap signal
  and moved counters reset to the signal handling slot.
Fixes #4411
2023-10-31 19:30:50 -03:00
enngq11k
c2f440c1c0 Fixed broken workout directory check for the first start (#4410)
Fix1:
appsettings->value default fallback "0" if no fallback value was given.
So a new GoldenCheetah installation will always use path "0" until a
workout directory was set in the settings.
We now use an empty string as fallback to get the condition working
again

Fix2:
Instead of using the athlete->home parent folder, the old code returned
the parent's parent folder. Until a workout directory was set in the
settings, the user had to navigate to the (hidden) athletes folder
everytime by hand.
2023-10-31 11:18:31 -03:00
Alejandro Martinez
b095b403bd Accelerators are QKeySequence not tr strings
Fixes #4409
2023-10-28 10:38:34 -03:00
Mark Liversedge
216a43c562 Update README.md
Formatting
2023-10-22 08:54:44 +01:00
Mark Liversedge
de52b30773 Update README.md
Mention measures and metadata features
2023-10-22 08:53:21 +01:00
Mark Liversedge
e6ff1a157a Python Chart Editor Cosmetics
.. when working with a light background the syntax highlighting
   renders the text almost impossible to read because it uses
   very light colors

.. additionally, when the colors/theme are changed the python
   editor does not reflect the change until a restart

.. we should likely apply the same changes to the datafilter
   editor in the user chart
2023-10-21 10:46:19 +01:00
Joachim Kohlhammer
00e182c413 Better user experience when drawing segments on the map (#4403)
* Increased the area in which points are searched when clicking / hovering a
  track, easing the process of starting segment creation and giving more
  precision while drawing
* Hovering the track when drawing segments is not blocked any more by highlighted
  segments / parts of the current segment (i.e. segments can be shrinked during
  creation)
Fixes #4394
2023-10-09 20:11:35 -03:00
Alejandro Martinez
f746f7361b GPX parser - support ns3 TrackPointExtension name
Used in files generated by Garmin Connect
Fixes #4397
2023-10-04 13:13:35 -03:00
Alejandro Martinez
47b9b9e28f Travis-ci macOS after_success cleanup
[skip AppVeyor]
From last commit, it works and is faster this way.
2023-10-02 11:24:19 -03:00
Alejandro Martinez
a6bf25d062 Travis-ci macOS builds - avoid hungup
[skip AppVeyor]
Running GoldenCheetah from the mounted dmg doesn't terminate
soon enough, lets avoid this for better diagnosis.
[publish binaries]
2023-09-30 10:17:26 -03:00
Alejandro Martinez
0d382dc3f2 Travis-ci macOS with staged qwt build
[skip AppVeyor]
To avoid the cancelation due to 50' limit
[publish binaries]
2023-09-24 20:43:53 -03:00
Alejandro Martinez
e46a1d4a18 Update snapshot builds
To test v3.6 building on currently supported OS versions:
* Windows 10 (no change here)
* macOS 10.14 changed to macOS 11.6
* Ubuntu 18.04 changed to Ubuntu 20.04
Additionally it contains a fix to possible crashes with invalid
perspective filters, some cosmetic fixes and a new feature:
- Compare mode is now available for the Map chart
Please stay with the release version unless you are willing to
collaborate with testing.
[publish binaries]
2023-09-24 13:29:51 -03:00
Alejandro Martinez
9ae7521e50 Upgrade Travis-ci macOS version
[skip AppVeyor]
To macOS 11.6
Upgrade D2XX drivers to supported versions
2023-09-23 21:13:18 -03:00
Alejandro Martinez
a904147b63 Revert "Travis-ci - Exclude libjpeg.so.8 from AppImage"
[skip AppVeyor]
This reverts commit bbaa3c9c3c.
It was a mistake, sorry.
2023-09-23 20:22:40 -03:00
Alejandro Martinez
bbaa3c9c3c Travis-ci - Exclude libjpeg.so.8 from AppImage
[skip AppVeyor]
It seems to provoke issues on Arch Linux based
on previous commit
2023-09-22 20:58:00 -03:00
Alejandro Martinez
e8132b1a55 Upgrade Travis-ci Linux versions
[skip AppVeyor]
Move to Ubuntu 20.04 with supported D2XX drivers
Hopefully fixes #4396
2023-09-19 21:11:30 -03:00
Alejandro Martinez
d98249cf1f Remove DEV from Windows installer 2023-09-14 14:22:17 -03:00
Alejandro Martinez
8f2ba0e11d Special case Start Date and Time in the cache
They are defined as metadata but stored in a different way.
Enables Start_Date and Start_Time in formulas to match autocompleters.
Fixes #4391
2023-09-14 13:12:40 -03:00
Alejandro Martinez
110652bf40 Update German translation
Fixes #4386
2023-09-09 09:52:16 -03:00
Damien Grauser
fabc344aac Add Wahoo PowrLink 2023-09-08 21:16:11 +02:00
Alejandro Martinez
f783814665 Train library - add path to the list of possible errors
It seems to be a common error, see #4393
2023-09-07 10:35:15 -03:00
Joachim Kohlhammer
48d91d02d1 Fixed issues after perspective switch (#786)
* Upgraded leaflet to 1.9.4
* Fixed the condition when chart must be set to blank
* Fixed the zoom-level for OSM when switching perspective for the first time
2023-09-06 15:46:01 +02:00
Joachim Kohlhammer
59a8ca2314 Implemented compare mode for RideMapWindow (#786)
* Multiple activities can be viewed on one map at the same time
* Implemented for OSM ang Google
2023-09-06 15:46:01 +02:00
Alejandro Martinez
69c2b447aa Add screenshots for Training options
[skip ci]
2023-09-06 10:41:47 -03:00
Alejandro Martinez
733db9cb16 Ignore dot folders on athlete open/backup/delete
Fixes #4392
2023-09-03 21:45:23 -03:00
Alejandro Martinez
951e5f360a DataFilter - Use errors member instead of global
Update errors member from DataFiltererrors on constructor
and use it in evaluate functions, since they can be used when
DataFiltererrors no longer corresponds to this expression.
Fixes #4384
2023-08-13 14:23:19 -03:00
Alejandro Martinez
bd224c8251 Revert "Trigger v3.6 builds with version string"
[skip ci]
This reverts commit 22f45f364f,
it was a temporary hack to include version string in regular commit.
2023-08-05 10:39:08 -03:00
Alejandro Martinez
22f45f364f Trigger v3.6 builds with version string
[publish binaries]
2023-08-05 10:36:55 -03:00
Mark Liversedge
0286802d1c RELEASE 3.6 BUILD TRIGGER
.. trigger build of release binaries

[publish binaries]
2023-08-05 12:24:25 +01:00
Mark Liversedge
925445a215 VERSION 3.6 RELEASE
.. final release of version 3.6
v3.6
2023-08-05 10:02:09 +01:00
Alejandro Martinez
511456bacd Update snapshot builds
To test latest changes before release
[publish binaries]
2023-07-30 13:39:32 -03:00
Alejandro Martinez
28f623b517 Preserve current layout as Legacy perspective
appending default perspectives for the view.
Fixes #4363
2023-07-03 15:16:57 -03:00
peret2000
4931ad1bd7 Upgrade Python AppImage version for Linux builds (#4375)
Python 3.7.16 AppImage is no longer available, upgrade to 3.7.17
2023-06-27 19:56:22 -03:00
Alejandro Martinez
7173437ab2 Update FIT SDK definitions to 21.115 2023-06-22 20:03:43 -03:00
dconka
14cb588f55 Update nongarmin.json (#4373)
Add new SIGMA ROX 12.1 EVO
2023-06-22 19:57:59 -03:00
Alejandro Martinez
2934bfe3bd Update German translation
Contributed by Marcen at the users forum
2023-06-20 17:45:51 -03:00
Mark Liversedge
dc3436dc65 Update README.md
.. OS X is now called MacOS (bit late to this one)
2023-06-08 15:24:10 +01:00
grauser
190aca8a73 Avoid double warning message 2023-06-07 22:47:07 +02:00
Mark Liversedge
6ef1cb7b96 Update README.md
.. include references to community sharing via cloud db
   open data and erg db

[skip ci]
2023-06-05 10:37:13 +01:00
Mark Liversedge
169c23ee58 Update README.md
.. more informative description with more fact based 
   statements and less emotive or hyperbolic language

[skip ci]
2023-06-05 10:31:26 +01:00
Mark Liversedge
7bf96285e7 Update README.md
.. screenshot instead of icon for github readme

[skip ci]
2023-06-05 10:06:28 +01:00
Mark Liversedge
067696aafd Screenshot for README.md
... Rather than the GC icon, lets put a screenshot of the app on the github
    welcome page for the repo

[skip ci]
2023-06-05 10:02:33 +01:00
peret2000
b07a7ef491 Use bicycle weight in Virtual Speed while training (#4365)
When computing virutalspeed based on slope, altitude, etc, total weight is relevant, specially in up and down hills

It was using 10kg plus the athlete weight. Now, it considers configured bicycle weigth. Not very relevant, but consistent with the data GH has for training
2023-06-04 17:05:02 -03:00
Mark Liversedge
7a1d99fca9 Refresh snapshot builds
.. last MacOS snapshots has an issue with the version of
   QT used and font matching which was fixed via a new commit.

[publish binaries]
2023-06-03 09:12:45 +01:00
Mark Liversedge
8b3dbbca7b Python 'printd' debug output strings not wide
.. we cannot pass wide strings to the 'printd' debug macro
   since it uses printf not wprintf. Not a major problem
   in this case since it is just a debug statement.

   introduced in previous commit that fixed crashes
   when embedding python v3.11 or higher
2023-06-01 09:12:58 +01:00