// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include "Configuration.h" #include "Battery.h" #include #include #include #include class PylontechCanReceiver : public BatteryProvider { public: bool init(bool verboseLogging) final; void deinit() final; void loop() final; std::shared_ptr getStats() const final { return _stats; } private: uint16_t readUnsignedInt16(uint8_t *data); int16_t readSignedInt16(uint8_t *data); float scaleValue(int16_t value, float factor); bool getBit(uint8_t value, uint8_t bit); void dummyData(); bool _verboseLogging = true; std::shared_ptr _stats = std::make_shared(); };