Thomas Basler
74e3947cb2
Merge branch 'pr2360' into dev
2024-11-06 19:55:03 +01:00
Bernhard Kirchen
b1edb13b3c
add and use configuration write guard
...
the configuration write guard is now required when the configuration
struct shall be mutated. the write guards locks multiple writers against
each other and also, more importantly, makes the writes synchronous to
the main loop. all code running in the main loop can now be sure that
(1) reads from the configuration struct are non-preemtive and (2) the
configuration struct as a whole is in a consistent state when reading
from it.
NOTE that acquiring a write guard from within the main loop's task will
immediately cause a deadlock and the watchdog will trigger a reset. if
writing from inside the main loop should ever become necessary, the
write guard must be updated to only lock the mutex but not wait for a
signal.
2024-10-22 20:39:23 +02:00
Thomas Basler
bcf4b70dc9
Fix: cpplint errors
2024-10-15 19:11:17 +02:00
Thomas Basler
8f4b89a193
Replace format strings by platform independent macros
2024-10-05 00:50:13 +02:00
Thomas Basler
84e5c0821c
Fix: Saving DTU config values just returned "Values are missing"
2024-09-22 13:16:34 +02:00
Thomas Basler
2f41f43d49
Update bblanchon/ArduinoJson from 7.1.0 to 7.2.0
2024-09-21 00:12:15 +02:00
Thomas Basler
980e847ccb
Feature: Check for out of memory situations when sending json responses
...
Also shows a nice message in the frontend if an internal error occours
2024-04-05 19:14:56 +02:00
Thomas Basler
2e3125fe8d
Feature: Migrated ArduinoJson 6 to 7
2024-04-05 19:14:56 +02:00
Thomas Basler
b55ca53d1d
Fix: Setting DTU options was only possible once without reboot
...
Fix #1884
2024-04-03 18:35:27 +02:00
Thomas Basler
8add226a7c
Save flash: Move WebApi json parsing to separate method to prevent a lot of redundant code
2024-04-01 13:52:09 +02:00
Thomas Basler
f995287a6e
Feature: Add support for HERF inverters
2024-03-06 21:57:18 +01:00
Thomas Basler
2716f4c5df
Removed not required pointer to AsyncServer instance
2024-01-27 01:09:55 +01:00
Thomas Basler
7bc1a17fac
Move task initialization from init method to constructor
...
This saves flash
2024-01-20 11:24:57 +01:00
Thomas Basler
251d197fb6
Migrate WebApi loop() methods to scheduler tasks
2024-01-20 02:00:22 +01:00
Thomas Basler
c20caf8097
Feature: Support HMS/HMT inverters in different countries with different frequency bands
...
Thanks to @Fribur, @homeautomation2022 and @stefan123t
2024-01-14 16:37:34 +01:00
Thomas Basler
2c92750100
webapp: Remove hard coded min/max frequencies for CMT module
2024-01-13 12:51:20 +01:00
Thomas Basler
3c37b61f44
Use auto keyword and references more often
2024-01-04 15:38:56 +01:00
Thomas Basler
4053e31a5e
Prevent config corruption by checking whether memory allocation was successfull.
2024-01-04 13:42:39 +01:00
Thomas Basler
e95afbf2cc
Use references instead of pointers whenver possible
2023-12-12 13:26:07 +01:00
Thomas Basler
47e905bcfc
Add const statement to several variables
2023-12-11 19:54:57 +01:00
Thomas Basler
b85c53f476
Split config struct into different sub structs
2023-11-19 14:53:26 +01:00
Thomas Basler
a68c553d27
Code formatting without functional changes
2023-07-22 18:07:03 +02:00
Thomas Basler
50ce7f014d
Expose min and max frequency in HoymilesRadio_CMT
2023-04-15 10:55:48 +02:00
Thomas Basler
371e405eed
Added configuration of CMT modules frequency to webapp
2023-04-15 10:55:48 +02:00
Thomas Basler
854fcdaeae
Allow configuration of the TX PA Level of the CMT2300A module
2023-04-15 10:55:48 +02:00
Thomas Basler
b7fb294368
Set DTU serial for CMT modules
2023-04-15 10:55:47 +02:00
Thomas Basler
8404dd57a7
Add a HoymilesRadio base class
...
This enables to have multiple radio implementations while the inverter classes just refere to the base class
2023-04-15 10:55:47 +02:00
Thomas Basler
d6028cbd50
Remove not required F() macro. Frees ~20kb flash.
2023-04-04 18:51:18 +02:00
Thomas Basler
3b5ff1691e
Introduce numeric error codes in dtu webapi
2022-12-24 00:01:54 +01:00
Thomas Basler
54d94af487
Cleanup includes
2022-12-14 22:13:03 +01:00
Thomas Basler
b9d2978bf9
Password protection for dtu settings
2022-11-03 21:05:51 +01:00
Thomas Basler
2447d57301
Fixed printf format strings
2022-10-04 23:33:09 +02:00
Thomas Basler
22ac3faff1
Removed not required variables
2022-09-16 18:21:54 +02:00
Thomas Basler
de33b9ff88
Do not use namespace using-directives. Use using-declarations instead.
2022-09-13 21:35:51 +02:00
Thomas Basler
6fdc27ddae
Replace sprintf by snprintf
2022-09-13 21:00:54 +02:00
Thomas Basler
31e56f6c2b
Code hardening: introduce const keyword
2022-09-05 21:41:45 +02:00
Thomas Basler
37aac48a19
Change License to GPLv2 as the RF24 lib uses GPL-2.0-only
2022-07-15 18:05:58 +02:00
Thomas Basler
92abfdfaa6
Separated WebApi into different files
2022-06-15 23:46:22 +02:00