OpenDTU-old/lib
Bernhard Kirchen e457ab73f9
Fix vedirect polling (#291)
* VE.Direct: remove polling interval

the polling interval was meant to limit the amount of MQTT updates.
however, that is already controlled by the global MQTT publish interval.
the removed interval was instead used to limit polling of the VE.Direct
UART for incoming data.

the Victron device sends data unsolicited. the VeDirectFrameHandler does
not implement any polling mechanism. no data is ever sent to the Victron
device.

what the removed polling interval did was cause a buffer overrun of the
HardwareSerial class, since the incoming data was not processed in time.
so every five seconds, we read a whole valid VE.Direct frame, plus some
old data, which was not a whole frame, leading to VE.Direct error
messages to pop up.

with the polling interval removed, no framing errors are reported, and
instead we gain new data from the charge controller approximately ever
two seconds -- for free.

* VE.Direct: change texts to correct VE.Direct capital letters

* VE.Direct: improve "UpdatesOnly" switch labels

especially since the publish interval setting is gone, the label makes
it hard to comprehend what the switch does. update the texts to better
explain what the switch is used for.

use the same text on the VE.Direct info view.

* VE.Direct: use StatusBadge on info view

there were custom badges to indicate the VE.Direct settings. replace
those by the common StatusBadge to make then look the same as the other
badged on the info views.
2023-07-04 12:04:38 +02:00
..
CMT2300a fix SPI assignment across generations 2023-04-28 21:26:22 +02:00
Every Fix compilation warning 2022-07-01 17:46:51 +02:00
Hoymiles Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-07-02 14:32:12 +02:00
MqttSubscribeParser Introduce MqttSubscribeParser and moved inverter specific subscribes to MqttHandleInverterClass 2022-12-14 20:42:23 +01:00
ResetReason/src Remove not required F() macro. Frees ~20kb flash. 2023-04-05 11:54:50 +02:00
SdmEnergyMeter PowerMeter Class + SDM PowerMeter support 2023-03-21 23:46:54 +01:00
SMLParser Generic SML based power meters support (#146) 2023-04-07 20:20:00 +02:00
TimeoutHelper TimeoutHelper: Allow resetting the last value 2023-04-05 11:54:50 +02:00
VeDirectFrameHandler Fix vedirect polling (#291) 2023-07-04 12:04:38 +02:00
.DS_Store First version 2022-08-11 17:26:00 +02:00
README Initial commit 2022-04-09 11:05:14 +02:00

This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.

The source code of each library should be placed in a an own separate directory
("lib/your_library_name/[here are source files]").

For example, see a structure of the following two libraries `Foo` and `Bar`:

|--lib
|  |
|  |--Bar
|  |  |--docs
|  |  |--examples
|  |  |--src
|  |     |- Bar.c
|  |     |- Bar.h
|  |  |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
|  |
|  |--Foo
|  |  |- Foo.c
|  |  |- Foo.h
|  |
|  |- README --> THIS FILE
|
|- platformio.ini
|--src
   |- main.c

and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>

int main (void)
{
  ...
}

```

PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.

More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html