♻️ Moves peripherals to source file, add sensor base

This commit is contained in:
Rune Harlyk
2025-09-11 18:34:08 +02:00
committed by Rune Harlyk
parent 41b863a0eb
commit a5371c36b9
7 changed files with 331 additions and 270 deletions
+32
View File
@@ -0,0 +1,32 @@
#pragma once
#include <ArduinoJson.h>
struct SensorMessageBase {
bool success;
virtual void toJson(JsonVariant v) const = 0;
virtual void fromJson(JsonVariantConst v) = 0;
virtual ~SensorMessageBase() = default;
};
template <class T>
class SensorBase {
static_assert(std::is_base_of<SensorMessageBase, T>::value, "T must inherit from SensorMessageBase");
public:
SensorBase() {}
virtual bool initialize() = 0;
virtual bool update() = 0;
virtual void getResults(JsonVariant &root) { _msg.toJson(root); }
virtual T getResult() { return _msg; }
virtual bool isActive() { return _msg.success; }
protected:
T _msg;
};