Skip to content

Commit f4706d4

Browse files
committed
Merge upstream tag 'v25.4.2'
2 parents 1eda7af + d61259b commit f4706d4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1694
-959
lines changed

.github/workflows/repo-maintenance.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ concurrency:
1616
jobs:
1717
stale:
1818
name: 'Stale'
19-
runs-on: ubuntu-24.04
19+
runs-on: ubuntu-latest
2020
steps:
2121
- uses: actions/stale@v9
2222
with:
@@ -46,7 +46,7 @@ jobs:
4646
4747
lock-threads:
4848
name: 'Lock Old Threads'
49-
runs-on: ubuntu-24.04
49+
runs-on: ubuntu-latest
5050
steps:
5151
- uses: dessant/lock-threads@v5
5252
with:

docs/DeviceProfiles/olimex_esp32_poe.json

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,5 +105,29 @@
105105
"data": 33,
106106
"clk": 32
107107
}
108+
},
109+
{
110+
"name": "Olimex ESP32-POE with CMT2300A",
111+
"links": [
112+
{"name": "Datasheet", "url": "https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/open-source-hardware"},
113+
{"name": "CMT 2300A Datasheet", "url": "https://shop.blinkyparts.com/de/Ebyte-Funkmodul-CMT2300A-868-915MHz-Breakoutboard/blink238542.4"}
114+
],
115+
"cmt": {
116+
"clk": 14,
117+
"cs": 5,
118+
"fcs": 15,
119+
"sdio": 2,
120+
"gpio2": -1,
121+
"gpio3": -1
122+
},
123+
"eth": {
124+
"enabled": true,
125+
"phy_addr": 0,
126+
"power": 12,
127+
"mdc": 23,
128+
"mdio": 18,
129+
"type": 0,
130+
"clk_mode": 3
131+
}
108132
}
109-
]
133+
]

include/Configuration.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
#pragma once
33

44
#include "PinMapping.h"
5+
#include <TaskSchedulerDeclarations.h>
6+
#include <condition_variable>
57
#include <cstdint>
68
#include <ArduinoJson.h>
7-
#include <TaskSchedulerDeclarations.h>
89
#include <mutex>
9-
#include <condition_variable>
1010

1111
#define CONFIG_FILENAME "/config.json"
1212
#define CONFIG_VERSION 0x00011d00 // 0.1.29 // make sure to clean all after change

include/Display_Graphic.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class DisplayGraphicClass {
3636
DisplayGraphicClass();
3737
~DisplayGraphicClass();
3838

39-
void init(Scheduler& scheduler, const DisplayType_t type, const uint8_t data, const uint8_t clk, const uint8_t cs, const uint8_t reset);
39+
void init(Scheduler& scheduler);
4040
void setContrast(const uint8_t contrast);
4141
void setStatus(const bool turnOn);
4242
void setOrientation(const uint8_t rotation = DISPLAY_ROTATION);

include/MqttHandleHass.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ enum CategoryType {
3737
};
3838
const char* const category_name[] = { 0, "config", "diagnostic" };
3939

40-
4140
typedef struct {
4241
FieldId_t fieldId; // field id
4342
DeviceClassType deviceClsId; // device class

include/PinMapping.h

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,44 +13,44 @@
1313
struct PinMapping_t {
1414
char name[MAPPING_NAME_STRLEN + 1];
1515

16-
int8_t nrf24_miso;
17-
int8_t nrf24_mosi;
18-
int8_t nrf24_clk;
19-
int8_t nrf24_irq;
20-
int8_t nrf24_en;
21-
int8_t nrf24_cs;
22-
23-
int8_t cmt_clk;
24-
int8_t cmt_cs;
25-
int8_t cmt_fcs;
26-
int8_t cmt_gpio2;
27-
int8_t cmt_gpio3;
28-
int8_t cmt_sdio;
29-
30-
int8_t w5500_mosi;
31-
int8_t w5500_miso;
32-
int8_t w5500_sclk;
33-
int8_t w5500_cs;
34-
int8_t w5500_int;
35-
int8_t w5500_rst;
16+
gpio_num_t nrf24_miso;
17+
gpio_num_t nrf24_mosi;
18+
gpio_num_t nrf24_clk;
19+
gpio_num_t nrf24_irq;
20+
gpio_num_t nrf24_en;
21+
gpio_num_t nrf24_cs;
22+
23+
gpio_num_t cmt_clk;
24+
gpio_num_t cmt_cs;
25+
gpio_num_t cmt_fcs;
26+
gpio_num_t cmt_gpio2;
27+
gpio_num_t cmt_gpio3;
28+
gpio_num_t cmt_sdio;
29+
30+
gpio_num_t w5500_mosi;
31+
gpio_num_t w5500_miso;
32+
gpio_num_t w5500_sclk;
33+
gpio_num_t w5500_cs;
34+
gpio_num_t w5500_int;
35+
gpio_num_t w5500_rst;
3636

3737
#if CONFIG_ETH_USE_ESP32_EMAC
3838
int8_t eth_phy_addr;
3939
bool eth_enabled;
40-
int eth_power;
41-
int eth_mdc;
42-
int eth_mdio;
40+
gpio_num_t eth_power;
41+
gpio_num_t eth_mdc;
42+
gpio_num_t eth_mdio;
4343
eth_phy_type_t eth_type;
4444
eth_clock_mode_t eth_clk_mode;
4545
#endif
4646

4747
uint8_t display_type;
48-
uint8_t display_data;
49-
uint8_t display_clk;
50-
uint8_t display_cs;
51-
uint8_t display_reset;
48+
gpio_num_t display_data;
49+
gpio_num_t display_clk;
50+
gpio_num_t display_cs;
51+
gpio_num_t display_reset;
5252

53-
int8_t led[PINMAPPING_LED_COUNT];
53+
gpio_num_t led[PINMAPPING_LED_COUNT];
5454

5555
// OpenDTU-OnBattery-specific pins below
5656
int8_t victron_tx;

include/W5500.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class W5500 {
1717
W5500& operator=(const W5500&) = delete;
1818
~W5500();
1919

20-
static std::unique_ptr<W5500> setup(int8_t pin_mosi, int8_t pin_miso, int8_t pin_sclk, int8_t pin_cs, int8_t pin_int, int8_t pin_rst);
20+
static std::unique_ptr<W5500> setup(gpio_num_t pin_mosi, gpio_num_t pin_miso, gpio_num_t pin_sclk, gpio_num_t pin_cs, gpio_num_t pin_int, gpio_num_t pin_rst);
2121
String macAddress();
2222

2323
private:

include/WebApi_webapp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ class WebApiWebappClass {
99
void init(AsyncWebServer& server, Scheduler& scheduler);
1010

1111
private:
12-
void responseBinaryDataWithETagCache(AsyncWebServerRequest* request, const String &contentType, const String &contentEncoding, const uint8_t *content, size_t len);
12+
void responseBinaryDataWithETagCache(AsyncWebServerRequest* request, const String& contentType, const String& contentEncoding, const uint8_t* content, size_t len);
1313
};

include/__compiled_constants.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
// The referenced values are generated by pio-scripts/auto_firmware_version.py
55

6-
7-
extern const char *__COMPILED_GIT_HASH__;
8-
extern const char *__COMPILED_GIT_BRANCH__;
6+
extern const char* __COMPILED_GIT_HASH__;
7+
extern const char* __COMPILED_GIT_BRANCH__;
98
// extern const char *__COMPILED_DATE_TIME_UTC_STR__;

lang/el.lang.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@
6161
"Light": "Φωτεινό",
6262
"Auto": "Αυτόματο"
6363
},
64+
"dataagedisplay": {
65+
"DataAge": "Τελευταία ενημέρωση πρίν από",
66+
"SecondsSince": "0 δευτερόλεπτα | 1 δευτερόλεπτα | {n} δευτερόλεπτα"
67+
},
6468
"apiresponse": {
6569
"1001": "Οι ρυθμίσεις αποθηκεύτηκαν!",
6670
"1002": "Δεν βρέθηκαν τιμές!",
@@ -133,9 +137,7 @@
133137
"home": {
134138
"LiveData": "Τηλεμετρία",
135139
"SerialNumber": "Σειριακός Αριθμός: ",
136-
"CurrentLimit": "Τρέχον Όριο: ",
137-
"DataAge": "Τελευταία ενημέρωση πρίν από: ",
138-
"Seconds": "{val} δευτερόλεπτα",
140+
"CurrentLimit": "Τρέχον Όριο",
139141
"ShowSetInverterLimit": "Εμφάνιση/Ρύθμιση ορίου μετατροπέα",
140142
"TurnOnOff": "Ενεργοποίηση/απενεργοποίηση του μετατροπέα",
141143
"ShowInverterInfo": "Εμφάνιση πληροφοριών του μετατροπέα",
@@ -145,15 +147,15 @@
145147
"EventLog": "Μητρώο συμβάντων",
146148
"InverterInfo": "Πληροφορίες μετατροπέα",
147149
"LimitSettings": "Ρυθμίσεις ορίων",
148-
"LastLimitSetStatus": "Κατάσταση τελευταίας ρύθμισης ορίου:",
149-
"SetLimit": "Ορίστε το όριο:",
150+
"LastLimitSetStatus": "Κατάσταση τελευταίας ρύθμισης ορίου",
151+
"SetLimit": "Ορίστε το όριο",
150152
"Relative": "Σχετικό (%)",
151153
"Absolute": "Απόλυτο (W)",
152154
"LimitHint": "<b>Συμβουλή:</b> Εάν ορίσετε το όριο ως απόλυτη τιμή, η εμφάνιση της τρέχουσας τιμής θα ενημερωθεί μόνο μετά από ~4 λεπτά.",
153155
"SetPersistent": "Ορίστε μόνιμο το όριο",
154156
"SetNonPersistent": "Ορίστε μη μόνιμο το όριο",
155157
"PowerSettings": "Ρυθμίσεις ενέργειας",
156-
"LastPowerSetStatus": "Κατάσταση τελευταίας ρύθμισης ισχύος:",
158+
"LastPowerSetStatus": "Κατάσταση τελευταίας ρύθμισης ισχύος",
157159
"TurnOn": "Ενεργοποίηση",
158160
"TurnOff": "Απενεργοποίηση",
159161
"Restart": "Επανεκκίνηση",

lang/es.lang.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@
6161
"Light": "Claro",
6262
"Auto": "Automático"
6363
},
64+
"dataagedisplay": {
65+
"DataAge": "Edad de los Datos",
66+
"SecondsSince": "0 segundos | 1 segundos | {n} segundos"
67+
},
6468
"apiresponse": {
6569
"1001": "¡Opciones guardadas!",
6670
"1002": "No se encontraron valores",
@@ -133,9 +137,7 @@
133137
"home": {
134138
"LiveData": "Datos en Vivo",
135139
"SerialNumber": "Número de Serie: ",
136-
"CurrentLimit": "Límite de Corriente: ",
137-
"DataAge": "Edad de los Datos: ",
138-
"Seconds": "{val} segundos",
140+
"CurrentLimit": "Límite de Corriente",
139141
"ShowSetInverterLimit": "Ver / Establecer Límite del Inversor",
140142
"TurnOnOff": "Encender/Apagar el Inversor",
141143
"ShowInverterInfo": "Ver Información del Inversor",
@@ -145,15 +147,15 @@
145147
"EventLog": "Registro de Eventos",
146148
"InverterInfo": "Información del Inversor",
147149
"LimitSettings": "Configuración de Límites",
148-
"LastLimitSetStatus": "Último Estado de Configuración del Límite:",
149-
"SetLimit": "Establecer Límite:",
150+
"LastLimitSetStatus": "Último Estado de Configuración del Límite",
151+
"SetLimit": "Establecer Límite",
150152
"Relative": "Relativo (%)",
151153
"Absolute": "Absoluto (W)",
152154
"LimitHint": "<b>Consejo:</b> Si establece el límite como un valor absoluto, la visualización del valor actual solo se actualizará después de ~4 minutos.",
153155
"SetPersistent": "Establecer Límite Permanente",
154156
"SetNonPersistent": "Establecer Límite No Permanente",
155157
"PowerSettings": "Configuración de Energía",
156-
"LastPowerSetStatus": "Último Estado de Configuración de Energía:",
158+
"LastPowerSetStatus": "Último Estado de Configuración de Energía",
157159
"TurnOn": "Encender",
158160
"TurnOff": "Apagar",
159161
"Restart": "Reiniciar",

lang/it.lang.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@
6161
"Light": "Chiaro",
6262
"Auto": "Automatico"
6363
},
64+
"dataagedisplay": {
65+
"DataAge": "Aggiornamento Dati",
66+
"SecondsSince": "0 secondi | 1 secondi | {n} secondi"
67+
},
6468
"apiresponse": {
6569
"1001": "Settings saved!",
6670
"1002": "No values found!",
@@ -133,9 +137,7 @@
133137
"home": {
134138
"LiveData": "Dati in tempo reale",
135139
"SerialNumber": "Numero seriale: ",
136-
"CurrentLimit": "Limite attuale: ",
137-
"DataAge": "Aggiornamento Dati: ",
138-
"Seconds": "{val} secondi",
140+
"CurrentLimit": "Limite attuale",
139141
"ShowSetInverterLimit": "Mostra / Imposta Limite di Potenza",
140142
"TurnOnOff": "Accendi/Spegni Inverter",
141143
"ShowInverterInfo": "Mostra info Inverter",
@@ -145,15 +147,15 @@
145147
"EventLog": "Log Eventi",
146148
"InverterInfo": "Info Inverter",
147149
"LimitSettings": "Impostazioni Limite Potenza",
148-
"LastLimitSetStatus": "Stato ultimo limite impostato:",
149-
"SetLimit": "Imposta Limite a:",
150+
"LastLimitSetStatus": "Stato ultimo limite impostato",
151+
"SetLimit": "Imposta Limite a",
150152
"Relative": "Percentuale (%)",
151153
"Absolute": "Assoluto (W)",
152154
"LimitHint": "<b>Nota:</b> Se imposti il limite assoluto, il valore sul display sarà aggiornato dopo circa 4 minuti.",
153155
"SetPersistent": "Imposta Limite in Modo Persistente",
154156
"SetNonPersistent": "Imposta Limite Temporaneamente",
155157
"PowerSettings": "Impostazioni Potenza",
156-
"LastPowerSetStatus": "Ultimo Stato dell'Inverter:",
158+
"LastPowerSetStatus": "Ultimo Stato dell'Inverter",
157159
"TurnOn": "Accendi Inverter",
158160
"TurnOff": "Spegni Inverter",
159161
"Restart": "Riavvia Inverter",

0 commit comments

Comments
 (0)