From 40d03c4402fa7f7b09c0806a1a0d93098ed67e0c Mon Sep 17 00:00:00 2001 From: Poncho Date: Sun, 26 Jan 2020 22:52:13 +0100 Subject: [PATCH] Add New Device IDs for FIT files (#3315) add Garmin Edge 830 add Stages Cycling Add test file for Garmin Edge 830 with Stages Cycling power meter --- src/FileIO/FitRideFile.cpp | 10 ++++++++++ test/rides/Garmin830_with_Stages.fit | Bin 0 -> 33239 bytes 2 files changed, 10 insertions(+) create mode 100644 test/rides/Garmin830_with_Stages.fit diff --git a/src/FileIO/FitRideFile.cpp b/src/FileIO/FitRideFile.cpp index 6c7c065a7..a3ddd1d69 100644 --- a/src/FileIO/FitRideFile.cpp +++ b/src/FileIO/FitRideFile.cpp @@ -382,6 +382,7 @@ struct FitFileReaderState case 3111: return "Garmin Fenix 5x +"; case 3112: return "Garmin Edge 520 +"; case 3113: return "Garmin FR945"; + case 3122: return "Garmin Edge 830"; case 3126: return "Garmin Instinct"; case 3291: return "Garmin Fenix 6x"; case 20119: return "Garmin Training Center"; @@ -465,6 +466,15 @@ struct FitFileReaderState case 2: return "Pioneer SGX-CA500"; default: return QString("Pioneer %1").arg(prod); } + } else if (manu == 69) { + // Stages Cycling + switch (prod) { + case -1: return "Stages Cycling"; + case 1: return "Stages Power Gen 1"; + case 2: return "Stages Power Gen 2"; + case 3: return "Stages Power Gen 3"; + default: return QString("Stages Cycling %1").arg(prod); + } } else if (manu == 70) { // does not set product at this point return "Sigmasport ROX"; diff --git a/test/rides/Garmin830_with_Stages.fit b/test/rides/Garmin830_with_Stages.fit new file mode 100644 index 0000000000000000000000000000000000000000..cc35f30e08770df6e607c8f809e2d117fba04b59 GIT binary patch literal 33239 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 literal 0 HcmV?d00001