mirror of
https://github.com/InfiniTimeOrg/InfiniTime.git
synced 2026-01-23 09:22:14 +01:00
upper bound for lap numbers
This commit is contained in:
parent
5c2d4a5151
commit
f720a7fb3c
@ -34,7 +34,7 @@ void StopWatchController::Clear() {
|
||||
void StopWatchController::AddLapToHistory() {
|
||||
TickType_t lapEnd = GetElapsedTime();
|
||||
history[0].timeSinceStart = lapEnd;
|
||||
history[0].number = ++maxLapNumber;
|
||||
history[0].number = ++maxLapNumber % lapNumberBoundary;
|
||||
history--;
|
||||
}
|
||||
|
||||
|
||||
@ -55,9 +55,10 @@ namespace Pinetime {
|
||||
|
||||
// Maximum number of stored laps
|
||||
static constexpr int histSize = 2;
|
||||
static constexpr int lapNumberBoundary = 1000;
|
||||
// Lap storage
|
||||
Utility::CircularBuffer<LapInfo, histSize> history;
|
||||
// Highest lap number; may exceed histSize
|
||||
// Highest lap number; less than lapNumberBoundary, may exceed histSize
|
||||
int maxLapNumber;
|
||||
};
|
||||
}
|
||||
|
||||
@ -181,7 +181,8 @@ void StopWatch::RenderLaps() {
|
||||
if (lap) {
|
||||
TimeSeparated laptime = ConvertTicksToTimeSegments(lap->timeSinceStart);
|
||||
char buffer[16];
|
||||
sprintf(buffer, "#%2d %2d:%02d.%02d\n", lap->number, laptime.mins, laptime.secs, laptime.hundredths);
|
||||
snprintf(buffer, sizeof(buffer), "#%3d %2d:%02d.%02d\n",
|
||||
lap->number, laptime.mins, laptime.secs, laptime.hundredths);
|
||||
lv_label_ins_text(lapText, LV_LABEL_POS_LAST, buffer);
|
||||
} else {
|
||||
lv_label_ins_text(lapText, LV_LABEL_POS_LAST, "\n");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user