mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-14 00:28:42 +00:00
FIT : Compatibility with first Moxy CIQ fields
This commit is contained in:
@@ -1020,6 +1020,7 @@ struct FitFileReaderState
|
||||
continue;
|
||||
|
||||
int native_num = field.num;
|
||||
bool native_profile = true;
|
||||
|
||||
if (field.deve_idx>-1) {
|
||||
QString key = QString("%1.%2").arg(field.deve_idx).arg(field.num);
|
||||
@@ -1041,7 +1042,14 @@ struct FitFileReaderState
|
||||
case FloatValue: deve_value=_values.f/(float)scale+offset; break;
|
||||
default: deve_value = 0.0; break;
|
||||
}
|
||||
//qDebug() << "deve_value" << deve_value;
|
||||
|
||||
// For compatibility with old Moxy deve Fields (with the native profile)
|
||||
if (_values.type == SingleValue && (native_num == 54 || native_num == 57) )
|
||||
native_profile = true;
|
||||
else
|
||||
native_profile = false;// Now Dynastream decided to use float values for CIQ
|
||||
|
||||
//qDebug() << "deve_value" << deve_value << native_profile;
|
||||
}
|
||||
else
|
||||
native_num = -1;
|
||||
@@ -1070,7 +1078,7 @@ struct FitFileReaderState
|
||||
lngi = value;
|
||||
break;
|
||||
case 2: // ALTITUDE
|
||||
if (field.deve_idx>-1)
|
||||
if (!native_profile && field.deve_idx>-1)
|
||||
alt = deve_value;
|
||||
else
|
||||
alt = value / 5.0 - 500.0;
|
||||
@@ -1115,7 +1123,7 @@ struct FitFileReaderState
|
||||
break;
|
||||
|
||||
case 39: // VERTICAL OSCILLATION
|
||||
if (field.deve_idx>-1)
|
||||
if (!native_profile && field.deve_idx>-1)
|
||||
rvert = deve_value;
|
||||
else
|
||||
rvert = value / 100.0f;
|
||||
@@ -1125,7 +1133,7 @@ struct FitFileReaderState
|
||||
//break;
|
||||
|
||||
case 41: // GROUND CONTACT TIME
|
||||
if (field.deve_idx>-1)
|
||||
if (!native_profile && field.deve_idx>-1)
|
||||
rcontact = deve_value;
|
||||
else
|
||||
rcontact = value / 10.0f;
|
||||
@@ -1158,14 +1166,16 @@ struct FitFileReaderState
|
||||
cad += value/128.0f;
|
||||
break;
|
||||
case 54: // tHb
|
||||
if (field.deve_idx>-1)
|
||||
if (!native_profile && field.deve_idx>-1) {
|
||||
tHb = deve_value;
|
||||
}
|
||||
else
|
||||
tHb= value/100.0f;
|
||||
break;
|
||||
case 57: // SMO2
|
||||
if (field.deve_idx>-1)
|
||||
if (!native_profile && field.deve_idx>-1) {
|
||||
smO2 = deve_value;
|
||||
}
|
||||
else
|
||||
smO2= value/10.0f;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user