OpenDTU-old/lib
Bernhard Kirchen ba303da742
VE.Direct: Reset state machine on timeout, fix and extend logging (#416)
* VE.Direct: reset state machine on timeout

there will never be a large gap between two bytes of the same frame.
if such a large gap is observed, reset the state machine so it tries
to decode a new frame once more data arrives.

this is helpful in case of corrupted data that prevents the state
machine of transitioning to the final state even though the VE.Direct
data producer is done sending bytes that belong to the same frame.

* VE.Direct: print problems to MessageOutput

this includes the web console in particular, where many users have
access to while the serial console is not attached or monitored.

* VE.Direct: collect serial input into buffer and print

should help debug issues for users.

* VE.Direct: implement and use verbose logging switch
2023-09-04 14:07:48 +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-08-29 09:24:25 +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
ThreadSafeQueue Implement the command queue thread safe 2023-08-03 00:17:32 +02:00
TimeoutHelper TimeoutHelper: Allow resetting the last value 2023-04-05 11:54:50 +02:00
VeDirectFrameHandler VE.Direct: Reset state machine on timeout, fix and extend logging (#416) 2023-09-04 14:07:48 +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