quarqd - cadence, wheel rotation, error checking

Fixed a number of issues with data from quarqd inf and nan values where
inserted as valid data points and thus destoying all plotting in the
realtime window and in later analysis.

The unit was used to distinguish between the entities, thus rpm was
erroneously used as a cadence, rpm is used as the unit for wheel
rotation and for cadence.  This made the cadence useless together with a
PowerTap hub which reports both cadence and wheel rotation.

No error checking was performed on the received data, bad data is
ignored now.
This commit is contained in:
Dag Gruneau
2010-01-16 20:18:41 +01:00
committed by Sean Rhea
parent 7849d4472a
commit 02b4eedf1e
7 changed files with 117 additions and 53 deletions

View File

@@ -227,13 +227,13 @@ bool SimpleNetworkClient::read_next_line(QMutexLocker &locker,
read_into_me.setHr(hr);
read_into_me.setTime(time);
read_into_me.setSpeed(speed);
read_into_me.setRPM(rpm);
read_into_me.setCadence(rpm);
read_into_me.setLoad(load);
printf("Read from network: %f %f %ld %f %f %f\n",
read_into_me.getWatts(), read_into_me.getHr(),
read_into_me.getTime(), read_into_me.getSpeed(),
read_into_me.getRPM(), read_into_me.getLoad());
read_into_me.getCadence(), read_into_me.getLoad());
}
return true;
}
@@ -246,7 +246,7 @@ bool SimpleNetworkClient::write_next_line(QMutexLocker &locker,
snprintf(buffer, MAX_BYTES_PER_LINE-1,
"%.2f %.2f %ld %.2f %.2f %.3f\n",
record.getWatts(), record.getHr(), record.getTime(),
record.getSpeed(), record.getRPM(), record.getLoad());
record.getSpeed(), record.getCadence(), record.getLoad());
locker.unlock();
num_written = server.write(buffer, strlen(buffer));
locker.relock();