From 2ff1024a69527517878ebd698a43505bbdbb829b Mon Sep 17 00:00:00 2001 From: Hector van der Aa Date: Fri, 3 Apr 2026 14:43:03 +0200 Subject: [PATCH] LapCounter initial impl --- src/base/task.h | 1 + src/modules/lap_counter/lap_counter.cpp | 14 ++++++++++++++ src/modules/lap_counter/lap_counter.h | 22 ++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 src/modules/lap_counter/lap_counter.cpp create mode 100644 src/modules/lap_counter/lap_counter.h diff --git a/src/base/task.h b/src/base/task.h index c229ab4..692d730 100644 --- a/src/base/task.h +++ b/src/base/task.h @@ -15,6 +15,7 @@ enum Id : uint8_t { Battery, Thermocouple, Telemetry, + LapCounter, Count, Null, All, diff --git a/src/modules/lap_counter/lap_counter.cpp b/src/modules/lap_counter/lap_counter.cpp new file mode 100644 index 0000000..f9ce886 --- /dev/null +++ b/src/modules/lap_counter/lap_counter.cpp @@ -0,0 +1,14 @@ +// Copyright (C) 2026 Hector van der Aa +// Copyright (C) 2026 Association Exergie +// SPDX-License-Identifier: GPL-3.0-or-later +#include "lap_counter.h" +#include "base/router.h" +#include "data/general_store.h" + +int LapCounter::push(const Task &task) { return queue_.push(task); } + +LapCounter::LapCounter() : logger_(nullptr) {}; + +LapCounter::LapCounter(SystemLogger *logger) : logger_(logger) {}; + +LapCounter::~LapCounter() {} \ No newline at end of file diff --git a/src/modules/lap_counter/lap_counter.h b/src/modules/lap_counter/lap_counter.h new file mode 100644 index 0000000..9fd37ac --- /dev/null +++ b/src/modules/lap_counter/lap_counter.h @@ -0,0 +1,22 @@ +// Copyright (C) 2026 Hector van der Aa +// Copyright (C) 2026 Association Exergie +// SPDX-License-Identifier: GPL-3.0-or-later +#pragma once +#include "base/module_base.h" +#include "base/ring_buffer.h" +#include "custom_types.h" +#include "modules/logger/system_logger.h" + +class LapCounter : public ModuleBase { +private: + SystemLogger *logger_; + RingBuffer queue_; + +public: + int push(const Task &task) override; + LapCounter(); + LapCounter(SystemLogger *logger); + ~LapCounter(); + int init(); + int loop(); +}; \ No newline at end of file