added global setting for board hardware revision, fixed rtos debug info

extracting (conditional build if rtos info enabled)
This commit is contained in:
Bogdan Pilyugin 2023-07-06 15:13:55 +02:00
parent d941791a46
commit 49bab0ea5c
5 changed files with 37 additions and 25 deletions

View File

@ -12,7 +12,11 @@ menu "WebGUIApp"
default 19 if IDF_TARGET_ESP32C3 default 19 if IDF_TARGET_ESP32C3
default 48 if IDF_TARGET_ESP32S3 default 48 if IDF_TARGET_ESP32S3
config BOARD_HARDWARE_REVISION
int "Board hardware revision"
range 1 5
default 1
config APP_PROJECT_VER config APP_PROJECT_VER
string "Device firmware version" string "Device firmware version"
default "0.0.0.0000" default "0.0.0.0000"
@ -37,7 +41,7 @@ menu "WebGUIApp"
config MAIN_FUNCTIONAL_BUTTON_GPIO config MAIN_FUNCTIONAL_BUTTON_GPIO
int "Main functional button GPIO" int "Main functional button GPIO"
range -1 39 range -1 GPIO_RANGE_MAX
default 15 default 15
help help
Set the GPIO number for main system button. Mainly needed for settings default reset. If not Set the GPIO number for main system button. Mainly needed for settings default reset. If not

View File

@ -35,6 +35,7 @@ void bin_to_hex_str(const uint8_t *buf, int len, char *hex);
void UnencodeURL(char* URL); void UnencodeURL(char* URL);
esp_err_t SHA256Hash(unsigned char *data, int datalen, esp_err_t SHA256Hash(unsigned char *data, int datalen,
unsigned char *res); unsigned char *res);
#if (CONFIG_FREERTOS_USE_TRACE_FACILITY == 1)
void vTaskGetRunTimeStatsCustom( char *pcWriteBuffer ); void vTaskGetRunTimeStatsCustom( char *pcWriteBuffer );
#endif
#endif /* MAIN_INCLUDE_HELPERS_H_ */ #endif /* MAIN_INCLUDE_HELPERS_H_ */

View File

@ -544,8 +544,10 @@ static HTTP_IO_RESULT HTTPPostSystemSettings(httpd_req_t *req, char *PostData)
{ {
if (!strcmp(tmp, (const char*) "prs")) if (!strcmp(tmp, (const char*) "prs"))
{ {
#if (CONFIG_FREERTOS_USE_TRACE_FACILITY == 1)
vTaskGetRunTimeStatsCustom(rtstat); vTaskGetRunTimeStatsCustom(rtstat);
httpd_resp_sendstr(req, rtstat); httpd_resp_sendstr(req, rtstat);
#endif
return HTTP_IO_DONE_API; return HTTP_IO_DONE_API;
} }
} }

View File

@ -118,26 +118,24 @@ static void PrintCheckbox(char *VarData, void *arg, bool checked)
/*GUI color define*/ /*GUI color define*/
static void HTTPPrint_bgrclr(char *VarData, void *arg) static void HTTPPrint_bgrclr(char *VarData, void *arg)
{ {
const char *sch = CONFIG_WEBGUIAPP_SCH1_BACKGROUNG_COLOR; const char *sch = CONFIG_WEBGUIAPP_SCH1_BACKGROUNG_COLOR;
if(GetSysConf()->ColorSheme == 2) if (GetSysConf()->ColorSheme == 2)
sch = CONFIG_WEBGUIAPP_SCH2_BACKGROUNG_COLOR; sch = CONFIG_WEBGUIAPP_SCH2_BACKGROUNG_COLOR;
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch);
} }
static void HTTPPrint_pnlclr(char *VarData, void *arg) static void HTTPPrint_pnlclr(char *VarData, void *arg)
{ {
const char *sch = CONFIG_WEBGUIAPP_SCH1_PANEL_COLOR; const char *sch = CONFIG_WEBGUIAPP_SCH1_PANEL_COLOR;
if(GetSysConf()->ColorSheme == 2) if (GetSysConf()->ColorSheme == 2)
sch = CONFIG_WEBGUIAPP_SCH2_PANEL_COLOR; sch = CONFIG_WEBGUIAPP_SCH2_PANEL_COLOR;
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch);
} }
static void HTTPPrint_mnuclr(char *VarData, void *arg) static void HTTPPrint_mnuclr(char *VarData, void *arg)
{ {
const char *sch = CONFIG_WEBGUIAPP_SCH1_MENU_COLOR; const char *sch = CONFIG_WEBGUIAPP_SCH1_MENU_COLOR;
if(GetSysConf()->ColorSheme == 2) if (GetSysConf()->ColorSheme == 2)
sch = CONFIG_WEBGUIAPP_SCH2_MENU_COLOR; sch = CONFIG_WEBGUIAPP_SCH2_MENU_COLOR;
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch);
} }
@ -148,19 +146,18 @@ static void HTTPPrint_actclr(char *VarData, void *arg)
static void HTTPPrint_fntclr(char *VarData, void *arg) static void HTTPPrint_fntclr(char *VarData, void *arg)
{ {
const char *sch = CONFIG_WEBGUIAPP_SCH1_TEXT_COLOR; const char *sch = CONFIG_WEBGUIAPP_SCH1_TEXT_COLOR;
if(GetSysConf()->ColorSheme == 2) if (GetSysConf()->ColorSheme == 2)
sch = CONFIG_WEBGUIAPP_SCH2_TEXT_COLOR; sch = CONFIG_WEBGUIAPP_SCH2_TEXT_COLOR;
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch);
} }
static void HTTPPrint_brdclr(char *VarData, void *arg) static void HTTPPrint_brdclr(char *VarData, void *arg)
{ {
const char *sch = CONFIG_WEBGUIAPP_SCH1_BORDER_COLOR; const char *sch = CONFIG_WEBGUIAPP_SCH1_BORDER_COLOR;
if(GetSysConf()->ColorSheme == 2) if (GetSysConf()->ColorSheme == 2)
sch = CONFIG_WEBGUIAPP_SCH2_BORDER_COLOR; sch = CONFIG_WEBGUIAPP_SCH2_BORDER_COLOR;
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", sch);
} }
static void HTTPPrint_colchm(char *VarData, void *arg) static void HTTPPrint_colchm(char *VarData, void *arg)
{ {
if ((*(uint8_t*) arg) == GetSysConf()->ColorSheme) if ((*(uint8_t*) arg) == GetSysConf()->ColorSheme)
@ -169,7 +166,6 @@ static void HTTPPrint_colchm(char *VarData, void *arg)
snprintf(VarData, MAX_DYNVAR_LENGTH, " "); snprintf(VarData, MAX_DYNVAR_LENGTH, " ");
} }
static void HTTPPrint_name(char *VarData, void *arg) static void HTTPPrint_name(char *VarData, void *arg)
{ {
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", CONFIG_DEVICE_MODEL_NAME); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", CONFIG_DEVICE_MODEL_NAME);
@ -183,7 +179,7 @@ static void HTTPPrint_time(char *VarData, void *arg)
} }
static void HTTPPrint_uptime(char *VarData, void *arg) static void HTTPPrint_uptime(char *VarData, void *arg)
{ {
snprintf(VarData, MAX_DYNVAR_LENGTH, "%d", (int)GetUpTime()); snprintf(VarData, MAX_DYNVAR_LENGTH, "%d", (int) GetUpTime());
} }
static void HTTPPrint_status_fail(char *VarData, void *arg) static void HTTPPrint_status_fail(char *VarData, void *arg)
@ -237,7 +233,10 @@ static void HTTPPrint_fver(char *VarData, void *arg)
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", cur_app_info.version); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", cur_app_info.version);
} }
} }
static void HTTPPrint_hrev(char *VarData, void *arg)
{
snprintf(VarData, MAX_DYNVAR_LENGTH, "%d", CONFIG_BOARD_HARDWARE_REVISION);
}
static void HTTPPrint_fverav(char *VarData, void *arg) static void HTTPPrint_fverav(char *VarData, void *arg)
{ {
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", GetAvailVersion()); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", GetAvailVersion());
@ -339,7 +338,8 @@ static void HTTPPrint_ipap(char *VarData, void *arg)
if (GetAPNetifAdapter() && esp_netif_is_netif_up(GetAPNetifAdapter())) if (GetAPNetifAdapter() && esp_netif_is_netif_up(GetAPNetifAdapter()))
PrintIPFromInterface(VarData, arg, GetAPNetifAdapter(), IP); PrintIPFromInterface(VarData, arg, GetAPNetifAdapter(), IP);
else else
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&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) static void HTTPPrint_ssid(char *VarData, void *arg)
@ -362,7 +362,8 @@ static void HTTPPrint_ip(char *VarData, void *arg)
if (GetSTANetifAdapter() && esp_netif_is_netif_up(GetSTANetifAdapter())) if (GetSTANetifAdapter() && esp_netif_is_netif_up(GetSTANetifAdapter()))
PrintIPFromInterface(VarData, arg, GetSTANetifAdapter(), IP); PrintIPFromInterface(VarData, arg, GetSTANetifAdapter(), IP);
else else
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->wifiSettings.InfIPAddr)); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s",
ip4addr_ntoa((const ip4_addr_t*) &GetSysConf()->wifiSettings.InfIPAddr));
} }
/*STA NETMASK*/ /*STA NETMASK*/
static void HTTPPrint_msk(char *VarData, void *arg) static void HTTPPrint_msk(char *VarData, void *arg)
@ -370,7 +371,8 @@ static void HTTPPrint_msk(char *VarData, void *arg)
if (GetSTANetifAdapter() && esp_netif_is_netif_up(GetSTANetifAdapter())) if (GetSTANetifAdapter() && esp_netif_is_netif_up(GetSTANetifAdapter()))
PrintIPFromInterface(VarData, arg, GetSTANetifAdapter(), NETMASK); PrintIPFromInterface(VarData, arg, GetSTANetifAdapter(), NETMASK);
else else
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->wifiSettings.InfMask)); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s",
ip4addr_ntoa((const ip4_addr_t*) &GetSysConf()->wifiSettings.InfMask));
} }
/*STA GATEWAY*/ /*STA GATEWAY*/
static void HTTPPrint_gate(char *VarData, void *arg) static void HTTPPrint_gate(char *VarData, void *arg)
@ -378,7 +380,8 @@ static void HTTPPrint_gate(char *VarData, void *arg)
if (GetSTANetifAdapter() && esp_netif_is_netif_up(GetSTANetifAdapter())) if (GetSTANetifAdapter() && esp_netif_is_netif_up(GetSTANetifAdapter()))
PrintIPFromInterface(VarData, arg, GetSTANetifAdapter(), GW); PrintIPFromInterface(VarData, arg, GetSTANetifAdapter(), GW);
else else
snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ip4addr_ntoa((const ip4_addr_t*)&GetSysConf()->wifiSettings.InfGateway)); snprintf(VarData, MAX_DYNVAR_LENGTH, "%s",
ip4addr_ntoa((const ip4_addr_t*) &GetSysConf()->wifiSettings.InfGateway));
} }
/*Current DNS*/ /*Current DNS*/
static void HTTPPrint_dns(char *VarData, void *arg) static void HTTPPrint_dns(char *VarData, void *arg)
@ -422,7 +425,7 @@ static void HTTPPrint_wifisc(char *VarData, void *arg)
} }
static void HTTPPrint_wifipwr(char *VarData, void *arg) static void HTTPPrint_wifipwr(char *VarData, void *arg)
{ {
snprintf(VarData, MAX_DYNVAR_LENGTH, "%d", (unsigned int)(GetSysConf()->wifiSettings.MaxPower / 4)); snprintf(VarData, MAX_DYNVAR_LENGTH, "%d", (unsigned int) (GetSysConf()->wifiSettings.MaxPower / 4));
} }
#endif #endif
@ -777,7 +780,6 @@ dyn_var_handler_t HANDLERS_ARRAY[] = {
{ "brdclr", sizeof("brdclr") - 1, &HTTPPrint_brdclr }, { "brdclr", sizeof("brdclr") - 1, &HTTPPrint_brdclr },
{ "colchm", sizeof("colchm") - 1, &HTTPPrint_colchm }, { "colchm", sizeof("colchm") - 1, &HTTPPrint_colchm },
/*System settings*/ /*System settings*/
{ "name", sizeof("name") - 1, &HTTPPrint_name }, { "name", sizeof("name") - 1, &HTTPPrint_name },
{ "dname", sizeof("dname") - 1, &HTTPPrint_dname }, { "dname", sizeof("dname") - 1, &HTTPPrint_dname },
@ -787,6 +789,7 @@ dyn_var_handler_t HANDLERS_ARRAY[] = {
{ "otarst", sizeof("otarst") - 1, &HTTPPrint_otarst }, { "otarst", sizeof("otarst") - 1, &HTTPPrint_otarst },
{ "otaint", sizeof("otaint") - 1, &HTTPPrint_otaint }, { "otaint", sizeof("otaint") - 1, &HTTPPrint_otaint },
{ "fver", sizeof("fver") - 1, &HTTPPrint_fver }, { "fver", sizeof("fver") - 1, &HTTPPrint_fver },
{ "hrev", sizeof("hrev") - 1, &HTTPPrint_hrev },
{ "fverav", sizeof("fverav") - 1, &HTTPPrint_fverav }, { "fverav", sizeof("fverav") - 1, &HTTPPrint_fverav },
{ "updstat", sizeof("updstat") - 1, &HTTPPrint_updstat }, { "updstat", sizeof("updstat") - 1, &HTTPPrint_updstat },
@ -879,7 +882,7 @@ dyn_var_handler_t HANDLERS_ARRAY[] = {
{ "mqname1", sizeof("mqname1") - 1, &HTTPPrint_mqname1 }, { "mqname1", sizeof("mqname1") - 1, &HTTPPrint_mqname1 },
{ "mqpass1", sizeof("mqpass1") - 1, &HTTPPrint_mqpass1 }, { "mqpass1", sizeof("mqpass1") - 1, &HTTPPrint_mqpass1 },
#if CONFIG_WEBGUIAPP_MQTT_CLIENTS_NUM == 2 #if CONFIG_WEBGUIAPP_MQTT_CLIENTS_NUM == 2
{ "mqen2", sizeof("mqen2") - 1, &HTTPPrint_mqen2 }, { "mqen2", sizeof("mqen2") - 1, &HTTPPrint_mqen2 },
{ "mqurl2", sizeof("mqurl2") - 1, &HTTPPrint_mqurl2 }, { "mqurl2", sizeof("mqurl2") - 1, &HTTPPrint_mqurl2 },
{ "mqport2", sizeof("mqport2") - 1, &HTTPPrint_mqport2 }, { "mqport2", sizeof("mqport2") - 1, &HTTPPrint_mqport2 },
@ -889,7 +892,7 @@ dyn_var_handler_t HANDLERS_ARRAY[] = {
{ "mqname2", sizeof("mqname2") - 1, &HTTPPrint_mqname2 }, { "mqname2", sizeof("mqname2") - 1, &HTTPPrint_mqname2 },
{ "mqpass2", sizeof("mqpass2") - 1, &HTTPPrint_mqpass2 }, { "mqpass2", sizeof("mqpass2") - 1, &HTTPPrint_mqpass2 },
#endif #endif
#endif #endif
/*SNTP*/ /*SNTP*/
{ "sntpen", sizeof("sntpen") - 1, &HTTPPrint_sntpen }, { "sntpen", sizeof("sntpen") - 1, &HTTPPrint_sntpen },
@ -981,11 +984,11 @@ int HTTPPrint(httpd_req_t *req, char *buf, char *var)
} }
void GenerateSystemSettingsJSONFile(void) void GenerateSystemSettingsJSONFile(void)
{ {
char *buf = malloc(2048); char *buf = malloc(2048);
if(!buf) return; if (!buf)
return;
jwOpen(buf, 2048, JW_OBJECT, JW_PRETTY); jwOpen(buf, 2048, JW_OBJECT, JW_PRETTY);
for (int i = 0; i < (sizeof(HANDLERS_ARRAY) / sizeof(HANDLERS_ARRAY[0])); ++i) for (int i = 0; i < (sizeof(HANDLERS_ARRAY) / sizeof(HANDLERS_ARRAY[0])); ++i)
@ -995,7 +998,7 @@ void GenerateSystemSettingsJSONFile(void)
strcat(val, "~"); strcat(val, "~");
strcat(val, HANDLERS_ARRAY[i].tag); strcat(val, HANDLERS_ARRAY[i].tag);
strcat(val, "~"); strcat(val, "~");
jwObj_string((char*)HANDLERS_ARRAY[i].tag, val); jwObj_string((char*) HANDLERS_ARRAY[i].tag, val);
} }
jwEnd(); jwEnd();
jwClose(); jwClose();

View File

@ -191,6 +191,7 @@ esp_err_t SHA256Hash(unsigned char *data, int datalen,
return ESP_OK; return ESP_OK;
} }
# if(CONFIG_FREERTOS_USE_TRACE_FACILITY == 1)
void vTaskGetRunTimeStatsCustom( char *pcWriteBuffer ) void vTaskGetRunTimeStatsCustom( char *pcWriteBuffer )
{ {
TaskStatus_t *pxTaskStatusArray; TaskStatus_t *pxTaskStatusArray;
@ -257,3 +258,4 @@ unsigned long ulTotalRunTime, ulStatsAsPercentage;
vPortFree( pxTaskStatusArray ); vPortFree( pxTaskStatusArray );
} }
} }
#endif