From 51b9653472c1e3ff076e456cfc470266fe90ecd4 Mon Sep 17 00:00:00 2001 From: Bogdan Pilyugin Date: Mon, 17 Apr 2023 15:46:51 +0200 Subject: [PATCH 1/4] fixed main button gpios range; mqtt timeout reconnect decreased to 20 sec --- Kconfig | 2 +- src/MQTT.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Kconfig b/Kconfig index 40fe05c..f6e3e4f 100644 --- a/Kconfig +++ b/Kconfig @@ -37,7 +37,7 @@ menu "WebGUIApp" config MAIN_FUNCTIONAL_BUTTON_GPIO int "Main functional button GPIO" - range -1 34 + range -1 39 default 15 help Set the GPIO number for main system button. Mainly needed for settings default reset. If not diff --git a/src/MQTT.c b/src/MQTT.c index 9f7b647..ee57217 100644 --- a/src/MQTT.c +++ b/src/MQTT.c @@ -29,7 +29,7 @@ #define MQTT_MESSAGE_BUFER_LENTH 5 //size of mqtt queue #define MQTT_RECONNECT_CHANGE_ADAPTER 3 -#define MQTT_RECONNECT_TIMEOUT 30 +#define MQTT_RECONNECT_TIMEOUT 20 #if CONFIG_WEBGUIAPP_MQTT_ENABLE From a5db1aba5d3c15e1e9c881fd03a43fd718f80692 Mon Sep 17 00:00:00 2001 From: bogdan Date: Tue, 18 Apr 2023 23:12:45 +0200 Subject: [PATCH 2/4] rssi get from gsm module --- include/NetTransport.h | 2 +- src/GSMTransport.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/NetTransport.h b/include/NetTransport.h index 673b935..1b7153b 100644 --- a/include/NetTransport.h +++ b/include/NetTransport.h @@ -70,7 +70,7 @@ void PPPModemColdStart(void); void PPPModemSoftRestart(void); void PPPModemStart(void); -void PPPModemGetRSSI(void); +int PPPModemGetRSSI(void); void ModemSendSMS(void); void ModemSendAT(char *cmd, char *resp, int timeout); diff --git a/src/GSMTransport.c b/src/GSMTransport.c index ffb3aaf..5a10d87 100644 --- a/src/GSMTransport.c +++ b/src/GSMTransport.c @@ -291,11 +291,12 @@ void PPPModemStart(void) xTaskCreate(GSMRunTask, "GSMRunTask", 1024 * 4, &ResetType, 3, NULL); } -void PPPModemGetRSSI(void) +int PPPModemGetRSSI(void) { - int rssi, ber; + int rssi = -1, ber; esp_modem_get_signal_quality(dce, &rssi, &ber); - ESP_LOGW(TAG, "Signal %d, ber %d", rssi, ber); + //ESP_LOGW(TAG, "Signal %d, ber %d", rssi, ber); + return rssi; } void ModemSendAT(char *cmd, char *resp, int timeout) From 95c4dd4714aa019c824b61a94f1a025648b043c9 Mon Sep 17 00:00:00 2001 From: bogdan Date: Fri, 21 Apr 2023 08:17:49 +0200 Subject: [PATCH 3/4] added idf-5 compatibility to the ethernet module --- src/ETHTransport.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ETHTransport.c b/src/ETHTransport.c index 2ce7929..7ac6828 100644 --- a/src/ETHTransport.c +++ b/src/ETHTransport.c @@ -33,6 +33,7 @@ #if CONFIG_ETH_USE_SPI_ETHERNET #include "driver/spi_master.h" #endif +#include "esp_mac.h" static const char *TAG = "EthTransport"; static bool isEthConn = false; @@ -289,8 +290,11 @@ static void eth_init(void *pvParameter) ESP_ERROR_CHECK(spi_bus_add_device(CONFIG_SPI_HOST, &devcfg, &spi_handle[i])); ESP_LOGI(TAG, "ETHERNET SPI device added OK"); // w5500 ethernet driver is based on spi driver +#if ESP_IDF_VERSION_MAJOR >= 5 + eth_w5500_config_t w5500_config = ETH_W5500_DEFAULT_CONFIG(CONFIG_SPI_HOST, &devcfg); +#else eth_w5500_config_t w5500_config = ETH_W5500_DEFAULT_CONFIG(spi_handle[i]); - +#endif // Set remaining GPIO numbers and configuration used by the SPI module w5500_config.int_gpio_num = spi_eth_module_config[i].int_gpio; phy_config_spi.phy_addr = spi_eth_module_config[i].phy_addr; From 47624422137e37a0f1c87a33a333cdf4f2af21f4 Mon Sep 17 00:00:00 2001 From: bogdan Date: Fri, 21 Apr 2023 08:50:55 +0200 Subject: [PATCH 4/4] more fixes for idf-5 incompatibility and some refactoring --- src/GSMTransport.c | 8 ++++---- src/HTTPPrintSystem.c | 16 ++++++++-------- src/WiFiTransport.c | 8 -------- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/src/GSMTransport.c b/src/GSMTransport.c index 5a10d87..c446603 100644 --- a/src/GSMTransport.c +++ b/src/GSMTransport.c @@ -77,7 +77,7 @@ static void on_ppp_changed(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data) { - ESP_LOGI(TAG, "PPP state changed event %d", event_id); + ESP_LOGI(TAG, "PPP state changed event %u", (unsigned int)event_id); if (event_id == NETIF_PPP_ERRORUSER) { /* User interrupted event from esp-netif */ @@ -90,7 +90,7 @@ static void on_ip_event(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data) { - ESP_LOGD(TAG, "IP event! %d", event_id); + ESP_LOGD(TAG, "IP event! %u", (unsigned int)event_id); if (event_id == IP_EVENT_PPP_GOT_IP) { esp_netif_dns_info_t dns_info; @@ -264,13 +264,13 @@ modem_init_fail: void PPPModemColdStart(void) { ResetType = 0; - xTaskCreate(GSMInitTask, "GSMInitTask", 1024 * 6, &ResetType, 3, initTaskhandle); + xTaskCreate(GSMInitTask, "GSMInitTask", 1024 * 6, &ResetType, 3, &initTaskhandle); } void PPPModemSoftRestart(void) { ResetType = 1; - xTaskCreate(GSMInitTask, "GSMInitTask", 1024 * 6, &ResetType, 3, initTaskhandle); + xTaskCreate(GSMInitTask, "GSMInitTask", 1024 * 6, &ResetType, 3, &initTaskhandle); } static void GSMRunTask(void *pvParameter) diff --git a/src/HTTPPrintSystem.c b/src/HTTPPrintSystem.c index fac817e..91cda3a 100644 --- a/src/HTTPPrintSystem.c +++ b/src/HTTPPrintSystem.c @@ -284,7 +284,7 @@ static void HTTPPrint_ipap(char *VarData, void *arg) if (GetAPNetifAdapter() && esp_netif_is_netif_up(GetAPNetifAdapter())) PrintIPFromInterface(VarData, arg, GetAPNetifAdapter(), IP); else - snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa(&GetSysConf()->wifiSettings.ApIPAddr)); + snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->wifiSettings.ApIPAddr)); } static void HTTPPrint_ssid(char *VarData, void *arg) @@ -307,7 +307,7 @@ static void HTTPPrint_ip(char *VarData, void *arg) if (GetSTANetifAdapter() && esp_netif_is_netif_up(GetSTANetifAdapter())) PrintIPFromInterface(VarData, arg, GetSTANetifAdapter(), IP); else - snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa(&GetSysConf()->wifiSettings.InfIPAddr)); + snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->wifiSettings.InfIPAddr)); } /*STA NETMASK*/ static void HTTPPrint_msk(char *VarData, void *arg) @@ -315,7 +315,7 @@ static void HTTPPrint_msk(char *VarData, void *arg) if (GetSTANetifAdapter() && esp_netif_is_netif_up(GetSTANetifAdapter())) PrintIPFromInterface(VarData, arg, GetSTANetifAdapter(), NETMASK); else - snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa(&GetSysConf()->wifiSettings.InfMask)); + snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->wifiSettings.InfMask)); } /*STA GATEWAY*/ static void HTTPPrint_gate(char *VarData, void *arg) @@ -323,7 +323,7 @@ static void HTTPPrint_gate(char *VarData, void *arg) if (GetSTANetifAdapter() && esp_netif_is_netif_up(GetSTANetifAdapter())) PrintIPFromInterface(VarData, arg, GetSTANetifAdapter(), GW); else - snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa(&GetSysConf()->wifiSettings.InfGateway)); + snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->wifiSettings.InfGateway)); } /*Current DNS*/ static void HTTPPrint_dns(char *VarData, void *arg) @@ -390,7 +390,7 @@ static void HTTPPrint_eip(char *VarData, void *arg) if (GetETHNetifAdapter() && esp_netif_is_netif_up(GetETHNetifAdapter())) PrintIPFromInterface(VarData, arg, GetETHNetifAdapter(), IP); else - snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa(&GetSysConf()->ethSettings.IPAddr)); + snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->ethSettings.IPAddr)); } /*Etherbox NETMASK*/ static void HTTPPrint_emsk(char *VarData, void *arg) @@ -398,7 +398,7 @@ static void HTTPPrint_emsk(char *VarData, void *arg) if (GetETHNetifAdapter() && esp_netif_is_netif_up(GetETHNetifAdapter())) PrintIPFromInterface(VarData, arg, GetETHNetifAdapter(), NETMASK); else - snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa(&GetSysConf()->ethSettings.Mask)); + snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->ethSettings.Mask)); } /*Ethernet GATEWAY*/ static void HTTPPrint_egate(char *VarData, void *arg) @@ -406,7 +406,7 @@ static void HTTPPrint_egate(char *VarData, void *arg) if (GetETHNetifAdapter() && esp_netif_is_netif_up(GetETHNetifAdapter())) PrintIPFromInterface(VarData, arg, GetETHNetifAdapter(), GW); else - snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa(&GetSysConf()->ethSettings.Gateway)); + snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->ethSettings.Gateway)); } /*Current DNS*/ static void HTTPPrint_edns(char *VarData, void *arg) @@ -919,7 +919,7 @@ void GenerateSystemSettingsJSONFile(void) strcat(val, "~"); strcat(val, HANDLERS_ARRAY[i].tag); strcat(val, "~"); - jwObj_string(HANDLERS_ARRAY[i].tag, val); + jwObj_string((char*)HANDLERS_ARRAY[i].tag, val); } jwEnd(); jwClose(); diff --git a/src/WiFiTransport.c b/src/WiFiTransport.c index 3cd581b..6159d96 100644 --- a/src/WiFiTransport.c +++ b/src/WiFiTransport.c @@ -489,7 +489,6 @@ void WiFiConnect(void) static void WiFiControlTask(void *arg) { //WiFi init and start block - static int reconnect_interval = BASE_RECONNECT_INTERVAL; static int reconnect_counter = BASE_RECONNECT_INTERVAL; s_wifi_event_group = xEventGroupCreate(); switch (GetSysConf()->wifiSettings.WiFiMode) @@ -515,7 +514,6 @@ static void WiFiControlTask(void *arg) portMAX_DELAY); if (bits & WIFI_CONNECTED_BIT) { - reconnect_interval = BASE_RECONNECT_INTERVAL; reconnect_counter = BASE_RECONNECT_INTERVAL; } else if (bits & WIFI_FAIL_BIT) @@ -524,12 +522,6 @@ static void WiFiControlTask(void *arg) { ESP_LOGI(TAG, "WiFi STA started, reconnecting to AP..."); esp_wifi_connect(); - /* - reconnect_interval += BASE_RECONNECT_INTERVAL; - if (reconnect_interval >= BASE_RECONNECT_INTERVAL * 10) - reconnect_interval = BASE_RECONNECT_INTERVAL * 10; - reconnect_counter = reconnect_interval; - */ reconnect_counter = BASE_RECONNECT_INTERVAL; } }