diff options
author | jerome-labidurie <jerome@labidurie.fr> | 2015-06-08 20:25:01 +0200 |
---|---|---|
committer | jerome-labidurie <jerome@labidurie.fr> | 2015-06-08 20:25:01 +0200 |
commit | e33c85fdd2e5addabab39673bb761460684e23a0 (patch) | |
tree | 429417013e9d52dbfaab999b80891ba3ecfe9a24 | |
parent | 108c0521929cab17f708693d1123c8d33c17c8d5 (diff) |
Add Garmin Swim ids
Better logging for length message
-rw-r--r-- | src/FIT.cpp | 25 | ||||
-rw-r--r-- | src/FIT.hpp | 1 |
2 files changed, 16 insertions, 10 deletions
diff --git a/src/FIT.cpp b/src/FIT.cpp index cbf66b9..048b3c1 100644 --- a/src/FIT.cpp +++ b/src/FIT.cpp @@ -691,6 +691,7 @@ FIT::FIT() productMap[ManufacturerGarmin][GarminFR310XT4T] = "Forerunner 310XT 4T"; productMap[ManufacturerGarmin][GarminTraningCenter] = "Traning Center"; productMap[ManufacturerGarmin][GarminConnect] = "Connect"; + productMap[ManufacturerGarmin][GarminSwim] = "Swim"; manufacturer = 0; @@ -906,6 +907,8 @@ string FIT::getDataString(uint8_t *ptr, uint8_t size, uint8_t baseType, uint8_t bool FIT::parse(vector<uint8_t> &fitData, GPX &gpx) { + ostringstream strstrm; + LOG(LOG_DBG2) << "Parsing FIT file\n"; FITHeader fitHeader; @@ -1155,54 +1158,56 @@ bool FIT::parse(vector<uint8_t> &fitData, GPX &gpx) } case 101: // Length { - LOG(LOG_DBG2) << rd.rfx.globalNum << "." << (unsigned)rf.definitionNum << ": " << messageFieldNameMap[rd.rfx.globalNum][rf.definitionNum]; + strstrm.clear(); + strstrm << rd.rfx.globalNum << "." << (unsigned)rf.definitionNum << ": " << messageFieldNameMap[rd.rfx.globalNum][rf.definitionNum] << " ("; switch (rf.definitionNum) { case 2 : // Start Time { - LOG(LOG_DBG2) << getDataString(ptr, 0, BT_UInt32, rd.rfx.globalNum, rf.definitionNum); + strstrm << getDataString(ptr, 0, BT_UInt32, rd.rfx.globalNum, rf.definitionNum); break; } case 3 : // Total Elapsed Time { - LOG(LOG_DBG2) << getDataString(ptr, 0, BT_UInt32, rd.rfx.globalNum, rf.definitionNum); + strstrm << getDataString(ptr, 0, BT_UInt32, rd.rfx.globalNum, rf.definitionNum); break; } case 4 : // Total Timer Time { - LOG(LOG_DBG2) << getDataString(ptr, 0, BT_UInt32, rd.rfx.globalNum, rf.definitionNum); + strstrm << getDataString(ptr, 0, BT_UInt32, rd.rfx.globalNum, rf.definitionNum); break; } case 5: // Total Strokes { - LOG(LOG_DBG2) << *(uint16_t*)ptr; + strstrm << *(uint16_t*)ptr; break; } case 6: // Average Speed { // unit: m/s * 1000 double speed = (double)(*(uint16_t*)ptr) / 1000; - LOG(LOG_DBG2) << speed; + strstrm << speed; break; } case 7: // Swimming stroke { - LOG(LOG_DBG2) << getDataString(ptr, 0, BT_Enum, rd.rfx.globalNum, rf.definitionNum); + strstrm << getDataString(ptr, 0, BT_Enum, rd.rfx.globalNum, rf.definitionNum); break; } case 9: // Average Swimming Cadence { - LOG(LOG_DBG2) << (int) *(uint8_t*)ptr; + strstrm << (int) *(uint8_t*)ptr; break; } case 12: // Length Type { - LOG(LOG_DBG2) << getDataString(ptr, 0, BT_Enum, rd.rfx.globalNum, rf.definitionNum); + strstrm << getDataString(ptr, 0, BT_Enum, rd.rfx.globalNum, rf.definitionNum); break; } } - LOG(LOG_DBG2) << "\n"; + strstrm << ")\n"; + LOG(LOG_DBG2) << strstrm.str(); break; } } diff --git a/src/FIT.hpp b/src/FIT.hpp index a6bb7af..f848cec 100644 --- a/src/FIT.hpp +++ b/src/FIT.hpp @@ -270,6 +270,7 @@ enum GarminProducts GarminFR70 = 1436, GarminFR310XT4T = 1446, GarminAMX = 1461, + GarminSwim = 1499, GarminSDM4 = 10007, GarminTraningCenter = 20119, GarminConnect = 65534 |