Merge branch 'master' of github.com:GoldenCheetah/GoldenCheetah

This commit is contained in:
Mark Liversedge
2013-12-03 16:59:35 +01:00
2 changed files with 22 additions and 15 deletions

View File

@@ -174,11 +174,13 @@ void ANTChannel::channelEvent(unsigned char *ant_message) {
emit lostInfo(number);
channel_type=CHANNEL_TYPE_UNUSED;
channel_type_flags=0;
device_number=0;
value2=value=0;
setId();
// Don't wipe out the channel settings when the search times out,
// else can not reconnect to the device once back in range..
//channel_type=CHANNEL_TYPE_UNUSED;
//channel_type_flags=0;
//device_number=0;
//value2=value=0;
//setId();
parent->sendMessage(ANTMessage::unassignChannel(number));
}

View File

@@ -624,23 +624,28 @@ struct FitFileReaderState
std::vector<fit_value_t> values;
foreach(const FitField &field, def.fields) {
fit_value_t v;
int size;
switch (field.type) {
case 0: v = read_uint8(&count); break;
case 1: v = read_int8(&count); break;
case 2: v = read_uint8(&count); break;
case 3: v = read_int16(def.is_big_endian, &count); break;
case 4: v = read_uint16(def.is_big_endian, &count); break;
case 5: v = read_int32(def.is_big_endian, &count); break;
case 6: v = read_uint32(def.is_big_endian, &count); break;
case 10: v = read_uint8z(&count); break;
case 11: v = read_uint16z(def.is_big_endian, &count); break;
case 12: v = read_uint32z(def.is_big_endian, &count); break;
case 0: v = read_uint8(&count); size = 1; break;
case 1: v = read_int8(&count); size = 1; break;
case 2: v = read_uint8(&count); size = 1; break;
case 3: v = read_int16(def.is_big_endian, &count); size = 2; break;
case 4: v = read_uint16(def.is_big_endian, &count); size = 2; break;
case 5: v = read_int32(def.is_big_endian, &count); size = 4; break;
case 6: v = read_uint32(def.is_big_endian, &count); size = 4; break;
case 10: v = read_uint8z(&count); size = 1; break;
case 11: v = read_uint16z(def.is_big_endian, &count); size = 2; break;
case 12: v = read_uint32z(def.is_big_endian, &count); size = 4; break;
// we may need to add support for float, string + byte base types here
default:
read_unknown( field.size, &count );
v = NA_VALUE;
unknown_base_type.insert(field.num);
}
// Quick fix : we need to support multivalues
if (size < field.size)
read_unknown( field.size-size, &count );
values.push_back(v);
//printf( " field: type=%d num=%d value=%lld\n",
// field.type, field.num, v );