OpenDTU-old/lib
Bernhard Kirchen 6b8c93d2e6 polish VE.Direct HEX support
* show charge controller temperature in live view
* send hex requests right after decoding a frame. this seems to have the
  best chance of getting an answer to all requests.
* deem 0xFFFFFFFF value of network total DC power as invalid indicator.
  neither network state, nor network info, nor network mode seem to
  indicate that the charge controller is part of a VE.Smart network. for
  that reason, we revert to always querying the network total DC power
  value, but testing it for max(uin32_t) value, which seems to indicate
  that the charge controller is not part of a VE.Smart network.
* improve (verbose) logging, e.g., use _logId, and print names of
  response codes and known registers, always print error messages,
  add additional tests to prevent overly verbose messages.
* move hex protocol definitions to VeDirectData.h header
  and use enum classes
* define register addresses in enum class
* move values retrieved through hex protocol into main MPPT data struct
* do not send HEX requests if the serial interface cannot send data
* detect whether smart battery sense temperature is available
* web app: make all VE.Direct sub-cards iterable. this makes addind more
  values much simpler and saves a bunch of code in the web app.
* make VeDirectFrameHandler state a type-safe enum class
* unindent MPPT controller loop()
* whitespace cleanup
2024-04-03 16:33:15 +02:00
..
CMT2300a Added const keywords 2024-01-14 16:37:43 +01:00
Every Fix compilation warning 2022-07-01 17:46:51 +02:00
Frozen merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
Hoymiles Merge remote-tracking branch 'tbnobody/master' into development 2024-03-23 22:58:21 +01:00
MqttSubscribeParser Introduce MqttSubscribeParser and moved inverter specific subscribes to MqttHandleInverterClass 2022-12-14 20:42:23 +01:00
ResetReason/src merge V23.12.16 (#556) 2023-12-27 11:49:57 +01: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 merge V23.12.16 (#556) 2023-12-27 11:49:57 +01:00
VeDirectFrameHandler polish VE.Direct HEX support 2024-04-03 16:33:15 +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