mobile/dive summary: rewrite statistics code

There were quite a few issues with the code - clearly a complete failure of
code review.

- all values were '??' if a period contained no dives
- imperial units were not calculated at all
- significant truncation and data loss in the way totals were added as meters
  and minutes instead of the higher precision data that is available
- several issues in striing conversion methodology, e.g. missing zero padding
  for minutes
- missing maxSac
- incorrectly calculated avgSac
- incorrectly claculated number of EANx dives
- hard to read code with most variables named 'temp'

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2020-01-29 11:26:22 +02:00
parent a534f1a25c
commit 08e39f9d2d
3 changed files with 78 additions and 60 deletions

View file

@ -21,9 +21,9 @@ private:
static timestamp_t firstDive, lastDive;
static int dives[2], divesEAN[2], divesDeep[2], diveplans[2];
static long divetime[2], depth[2], sac[2];
static long divetimeMax[2], depthMax[2], sacMin[2];
static long divetime[2], depth[2];
static long divetimeMax[2], depthMax[2], sacMin[2], sacMax[2];
static long divetimeAvg[2], depthAvg[2], sacAvg[2];
static int divesSAC[2];
static long totalSACTime[2], totalSacVolume[2];
};
#endif // DIVESUMMARY_H