* Move Mppt logic to subclass * Added Definitions for Shunts and restructering * First integration of SmartShunt data into Web Interface * Code cleanup * VE.Direct: whitespace cleanup * VE.Direct: manage HardwareSerial in unique_ptr * VE.Direct: _efficiency is only needed by MPPT * VE.Direct: keep as many members private as possible * VE.Direct: use int8_t for pins (as before) * VictronSmartShunt: _verboseLogging is not used * VE.Direct: OR (off reason) is MPPT specific it also applies to Phoenix inverters and Smart BuckBoost, but since there is no support for those, the code is moved to the MPPT controller. * Added Shunt alarms to liveview Changed from double to int for several readings * Update build.yml to allow manual builds --------- Co-authored-by: Philipp Sandhaus <philipp.sandhaus@cewe.de> Co-authored-by: Bernhard Kirchen <schlimmchen@posteo.net>
33 lines
690 B
C++
33 lines
690 B
C++
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
#pragma once
|
|
|
|
#include "VeDirectMpptController.h"
|
|
#include "Configuration.h"
|
|
#include <Arduino.h>
|
|
|
|
#ifndef VICTRON_PIN_RX
|
|
#define VICTRON_PIN_RX 22
|
|
#endif
|
|
|
|
#ifndef VICTRON_PIN_TX
|
|
#define VICTRON_PIN_TX 21
|
|
#endif
|
|
|
|
class MqttHandleVedirectClass {
|
|
public:
|
|
void init();
|
|
void loop();
|
|
private:
|
|
|
|
VeDirectMpptController::veMpptStruct _kvFrame{};
|
|
|
|
// point of time in millis() when updated values will be published
|
|
uint32_t _nextPublishUpdatesOnly = 0;
|
|
|
|
// point of time in millis() when all values will be published
|
|
uint32_t _nextPublishFull = 1;
|
|
|
|
bool _PublishFull;
|
|
};
|
|
|
|
extern MqttHandleVedirectClass MqttHandleVedirect; |