Commit Graph

184 Commits

Author SHA1 Message Date
Ale Martinez
5bd4404279 Avoid endless loop on FIT files unknown type and negative size
Includes a test file to reproduce the issue.
Fixes #3229
2019-12-03 14:45:47 -03:00
Ale Martinez
675cbcbe58 Add Tacx Neo Bike Trainer to ANT IDs
Contributed by Pavel Vasilyev
Fixes #3221
2019-11-24 09:21:38 -03:00
Ale Martinez
5da74f1136 Tag Multisport activities from FIT files correctly
Also remove unused Workout Code Tag
Partially fix #3211
2019-11-22 11:47:49 -03:00
Ale Martinez
5383430b19 FitRideFile - Handle resync when HRM is unbucled
Fixes #3059
2019-11-21 09:41:34 -03:00
grauser
91d0ac1639 FitFile : QuickFix FloatValue can be Multi-Value
I probably have to refactor this code...

fix #3059
2019-11-14 13:54:05 +01:00
Ale Martinez
6f50bc74e3 Garmin Fenix 5/6 new firmware uses enhanced speed and altitud fields
This maps them to correspoding standard fields
Fixes #3161 and #3168
2019-09-20 17:16:55 -03:00
grauser
937b70e596 FitRideFile : Add Powertap/Powercal and Favero 2019-08-21 11:46:31 +02:00
Keith Reynolds
1e1dceef73 Add Lezyne Super GPS 2019-07-02 15:53:47 -06:00
Frank Zschockelt
1dbe3c9be8 FitRideFile: Unify handling of invalid product id 2019-06-07 20:06:09 +02:00
Benedikt Stegmaier
f334097f30 FIT : Add Hammerhead as manufacturer 2019-06-07 19:52:30 +02:00
grauser
27e044f763 Fit : Power phases - limit to 360
fix #3030
2019-06-02 22:11:34 +02:00
grauser
a8ca30ccd7 FIT : Add Respiration Rate 2019-05-23 22:36:43 +02:00
grauser
44026a1838 Fit : Add some Garmin models 2019-05-23 22:22:00 +02:00
grauser
523be2bc0a FIT : Add Lezyne Micro-GPS
Thank you Claus Assmann
2019-05-13 18:12:56 +02:00
Frank Zschockelt
73e5d0bd4d FitRideFile: Add Lezyne MegaXL 2019-05-13 08:25:35 +02:00
Ale Martinez
f817692659 Pad missing altitude in FIT file records with previous value
Previous behavior is to pad with zeroes which inflates Elevation Gain
Fixes #3070
Fixes #3067
Includes test file
2019-04-05 20:48:13 -03:00
Ale Martinez
cce26607ea FitRideFile - Rename record field 90 as PERFORMANCECONDITION
It is not docummented but it seems to match the observed values in GC
2019-03-29 19:33:52 -03:00
Ale Martinez
81bf4a0b48 Additional Running Dynamics support
-Extra data fields renamed and scaled according to spec: stance_time_percent,
activity_type, vertical_ratio and step_length
-Average metrics for the new fields: Average Stance Time Percent,
Average Vertical Ratio and Average Step Length
-Tested using Garmin 935 with Running Dynamics Pod
2019-03-29 17:21:32 -03:00
grauser
80e99d1159 Fit : Be sure only on cad point used 2019-01-27 10:18:48 +01:00
Hennadiy Verkh
867e86e185 Set the type of activity to Ride, Run or Swim, instead of always Ride.
If exporting a Run, use rcad instead of cad
Lrbalance was never exported - fixed it.
2019-01-27 10:13:41 +01:00
grauser
05a8c49053 FitRide : Correct doubled interval duration 2019-01-13 22:27:35 +01:00
grauser
c9581079da Fit : Interval use total_elapsed_time if no time info
fix #2982
2019-01-08 23:00:41 +01:00
Hennadiy Verkh
807ea685d6 Added method decodePhysiologicalMetrics to decode garmin/firstbeat specific activity metrics
Added additional metrics to the metadata.xml
2019-01-01 22:05:20 +01:00
grauser
ad46bf9b32 FIT : Add debug logs 2018-12-17 23:52:20 +01:00
grauser
ee5e93be43 FitRideFile: Add ibike in manu 2018-11-13 21:05:25 +01:00
vlcvboyer
1191b8bd51 fix missing break in switch/case statement (#2918) 2018-08-29 09:52:56 +01:00
grauser
55ec3973c3 FIT : Change the time_offset reference
Bryton files were impacted

fix #2029
2018-07-17 22:21:37 +02:00
Ale Martinez
1f094f5712 Always expand lap swim Fit and Tcx files
Even if Garmin Smart Recording is not enabled, make users life simpler
Since otherwise the datais useless and the original lenght-by-length
data is preserved as XData.
2018-04-24 13:51:14 -03:00
Mark Liversedge
eb363c3fab Fix Swim FIT parse crash
.. not checking timeIndex() for out of bounds
   when secs goes negative during parsing.

.. also, enable interpolation for swim laps by
   default to ensure no data loss (i.e. don't
   insist on garmin smart recording setting).

Fixes #2953
2018-04-24 10:10:02 +01:00
Joern
bb06f898f4 Fix error exporting activity without data points to .FIT
... GC closes without message/ SIGSEGV when exporting e.g. manual acvities as .FIT files
2017-12-22 13:14:05 +01:00
grauser
18c43fcebd FIT : Use recIntSecs 2017-11-29 17:19:54 +01:00
grauser
ac04d20edd FIT : Export : Correct file duration 2017-11-26 23:46:34 +01:00
grauser
f573b5c48f FIT : Small addition and correction for expor
hardware_version and lap start_time had incorrect field_num
2017-11-26 22:38:50 +01:00
Alejandro Martinez
e3f48beae4 Added new Garmin Devices from Fit SDK Release 20.50.00 2017-11-22 19:59:55 -03:00
grauser
b0d676cef6 FIT : Add Rouvy and The Sufferfest
Trainer Apps for Winter...
2017-11-22 23:33:58 +01:00
Mark Liversedge
038860a4ec FitRideFile compiler error
- implicit conversion from char to QString wasn't supported.
2017-10-26 16:22:42 +01:00
Keith Reynolds
58a49b6576 Fixes ZWIFT files which are not reporting local timestamp.
Secondary fix for regular expression which did not catch the ZWIFT file naming convention using dashes rather than underscores.
2017-10-25 23:32:11 -06:00
grauser
5cb3f07437 FIT : Add temperature and lrbalance in export 2017-10-13 22:43:59 +02:00
grauser
36b16a558f FIT : Add the local_msg_type
in write_message_definition to prepare adding temp and lrbalance
2017-10-11 23:07:11 +02:00
grauser
98f54da285 FIT : Add Quarq as Manu/Prod
Add Powertap P1
      Add Powertap C1
2017-10-11 07:46:44 +02:00
grauser
e06ce3ebe8 Fit : Device info - display manufacturer when no product number 2017-08-09 23:51:24 +02:00
Joern
51eb386ad5 Fix MSVC Compile Error
... default settings in MSVC2015 do not support "not" operator - so change to "!"
... since this is only a single occurance in overall code
2017-07-18 16:49:27 +02:00
Mark Liversedge
4ecab4f201 Fix FitRideFile unused lap_trigger compiler warning 2017-07-18 06:38:26 +01:00
Mark Liversedge
44a52bb972 Merge pull request #2562 from dhewg/pr/parser
TCX and FIT parser improvements
2017-07-18 06:35:11 +01:00
grauser
a0f89c4fa5 Fit : lap name for trigger 2017-07-17 22:41:42 +02:00
Andre Heider
f7c87eb04d FIT: respect the time zone the ride was recorded in
The "activity" message contains data to determine the time zone the
ride was recorded in. Parse this and adjust the start time accordingly.

This also fixes e.g. Strava synchroniziation. Rides recorded in
time zones different to the box GC runs on now properly match.
2017-07-17 12:11:32 +02:00
Andre Heider
4467eb5096 FIT: enable decodeDeviceInfo()
Enable parsing and saving of all attached devices.
2017-07-17 12:11:32 +02:00
Andre Heider
c3ee9ed685 FIT: remove duplicates from the device infos
There're scenarios where the attached devices get added again, e.g.
a power cycle. Filter out the duplicates so each member only gets listed
once.
2017-07-17 12:11:32 +02:00
Andre Heider
dc8c9d7f64 FIT: fix out of bounds access in decodeDeviceInfo() 2017-07-17 12:11:32 +02:00
Andre Heider
e3d1df34b1 FIT: add BATTERY_SOC to XDATA
Identify the battery level properly instead of using "FIELD_81".
2017-07-17 12:11:32 +02:00