diff --git a/components/webguiapp b/components/webguiapp index 2a89f5f..1e3eb96 160000 --- a/components/webguiapp +++ b/components/webguiapp @@ -1 +1 @@ -Subproject commit 2a89f5f190a59d5b5e565491e60f5d60e28c514f +Subproject commit 1e3eb967ab70d350fd9dba82832c69c9d85a7b5a diff --git a/main/src/RestApiHandlersApp.c b/main/src/RestApiHandlersApp.c index 08c74ef..6ecf1e4 100644 --- a/main/src/RestApiHandlersApp.c +++ b/main/src/RestApiHandlersApp.c @@ -1,4 +1,4 @@ - /*! Copyright 2023 Bogdan Pilyugin +/*! Copyright 2023 Bogdan Pilyugin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,9 +23,57 @@ #include "webguiapp.h" #include "AppConfiguration.h" +#include "CronTimers.h" extern APP_CONFIG AppConfig; +static void funct_cronrecs(char *argres, int rw) +{ + struct jWriteControl jwc; + jwOpen(&jwc, argres, VAR_MAX_VALUE_LENGTH, JW_ARRAY, JW_COMPACT); + for (int idx = 0; idx < CRON_TIMERS_NUMBER; idx++) + { + cron_timer_t T; + memcpy(&T, &GetAppConf()->Timers[idx], sizeof(cron_timer_t)); + jwArr_object(&jwc); + jwObj_int(&jwc, "num", (unsigned int) T.num); + jwObj_int(&jwc, "del", (T.del) ? 1 : 0); + jwObj_int(&jwc, "enab", (T.enab) ? 1 : 0); + jwObj_int(&jwc, "prev", (T.prev) ? 1 : 0); + jwObj_string(&jwc, "name", T.name); + jwObj_int(&jwc, "obj", (unsigned int) T.obj); + jwObj_int(&jwc, "act", (unsigned int) T.act); + jwObj_string(&jwc, "cron", T.cron); + jwEnd(&jwc); + } + jwClose(&jwc); +} + +static void funct_cronobjs(char *argres, int rw) +{ + struct jWriteControl jwc; + jwOpen(&jwc, argres, VAR_MAX_VALUE_LENGTH, JW_ARRAY, JW_COMPACT); + for (int idx = 0; idx < CRON_OBJECTS_NUMBER; idx++) + { + jwArr_object(&jwc); + jwObj_string(&jwc, "name", GetAppConf()->CronObjects[idx].objname); + jwObj_raw(&jwc, "acts", GetCronActAvail(idx)); + jwEnd(&jwc); + } + jwClose(&jwc); +} + +static void funct_cronacts(char *argres, int rw) +{ + struct jWriteControl jwc; + jwOpen(&jwc, argres, VAR_MAX_VALUE_LENGTH, JW_ARRAY, JW_COMPACT); + for (int idx = 0; idx < CRON_OBJECTS_NUMBER; idx++) + { + jwArr_string(&jwc, GetCronActionName(idx)); + } + jwClose(&jwc); +} + static void funct_time(char *argres, int rw) { time_t now; @@ -36,14 +84,16 @@ static void funct_time(char *argres, int rw) const rest_var_t ApplicationVariables[] = { /*FUNCTIONS*/ + { 0, "cronrecs", &funct_cronrecs, VAR_FUNCT, R, 0, 0 }, + { 0, "cronobjs", &funct_cronobjs, VAR_FUNCT, R, 0, 0 }, + { 0, "cronacts", &funct_cronacts, VAR_FUNCT, R, 0, 0 }, + { 0, "mytime", &funct_time, VAR_FUNCT, R, 0, 0 }, { 0, "myvar", &AppConfig.test, VAR_INT, R, 0, 0 } }; - - void RegAppVariables(void) { - SetAppVars((rest_var_t*)ApplicationVariables, sizeof(ApplicationVariables) / sizeof(rest_var_t)); + SetAppVars((rest_var_t*) ApplicationVariables, sizeof(ApplicationVariables) / sizeof(rest_var_t)); } diff --git a/sdkconfig b/sdkconfig index a0a90e4..cb9e0bc 100644 --- a/sdkconfig +++ b/sdkconfig @@ -600,7 +600,7 @@ CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 CONFIG_HTTPD_MAX_URI_LEN=512 CONFIG_HTTPD_ERR_RESP_NO_DELAY=y CONFIG_HTTPD_PURGE_BUF_LEN=32 -# CONFIG_HTTPD_LOG_PURGE_DATA is not set +CONFIG_HTTPD_LOG_PURGE_DATA=y # CONFIG_HTTPD_WS_SUPPORT is not set # CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set # end of HTTP Server diff --git a/sdkconfig.old b/sdkconfig.old index 564bc7f..a0a90e4 100644 --- a/sdkconfig.old +++ b/sdkconfig.old @@ -1173,9 +1173,17 @@ CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_PPP_SUPPORT=y +CONFIG_LWIP_PPP_ENABLE_IPV6=y CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT=y +CONFIG_LWIP_PPP_PAP_SUPPORT=y +# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set +# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set +# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set +# CONFIG_LWIP_ENABLE_LCP_ECHO is not set +# CONFIG_LWIP_PPP_DEBUG_ON is not set # CONFIG_LWIP_SLIP_SUPPORT is not set # @@ -1590,37 +1598,6 @@ CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set # end of Wi-Fi Provisioning Manager -# -# esp-modem -# -CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y -CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 -# end of esp-modem - -# -# The Things Network -# -# CONFIG_TTN_LORA_FREQ_DISABLED is not set -# CONFIG_TTN_LORA_FREQ_EU_868 is not set -# CONFIG_TTN_LORA_FREQ_US_915 is not set -# CONFIG_TTN_LORA_FREQ_AU_915 is not set -# CONFIG_TTN_LORA_FREQ_AS_923 is not set -# CONFIG_TTN_LORA_FREQ_AS_923_JP is not set -# CONFIG_TTN_LORA_FREQ_KR_920 is not set -# CONFIG_TTN_LORA_FREQ_IN_866 is not set -CONFIG_TTN_LORA_FREQ_RU_864=y -# CONFIG_TTN_RADIO_SX1272_73 is not set -CONFIG_TTN_RADIO_SX1276_77_78_79=y -CONFIG_TTN_SPI_FREQ=10000000 -CONFIG_TTN_RESET_STATES_FLOATING=y -# CONFIG_TTN_RESET_STATES_ASSERTED is not set -CONFIG_TTN_BG_TASK_PRIO=10 -# CONFIG_TTN_PROVISION_UART_DEFAULT is not set -# CONFIG_TTN_PROVISION_UART_CUSTOM is not set -CONFIG_TTN_PROVISION_UART_NONE=y -CONFIG_TTN_PROVISION_UART_NUM=0 -# end of The Things Network - # # WebGUIApp # @@ -1809,6 +1786,39 @@ CONFIG_ESPFS_MAX_PARTITIONS=1 CONFIG_ESPFS_USE_HEATSHRINK=y # end of libespfs # end of WebGUIApp + +# +# esp-modem +# +CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y +# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set +CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 +# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set +# end of esp-modem + +# +# The Things Network +# +# CONFIG_TTN_LORA_FREQ_DISABLED is not set +# CONFIG_TTN_LORA_FREQ_EU_868 is not set +# CONFIG_TTN_LORA_FREQ_US_915 is not set +# CONFIG_TTN_LORA_FREQ_AU_915 is not set +# CONFIG_TTN_LORA_FREQ_AS_923 is not set +# CONFIG_TTN_LORA_FREQ_AS_923_JP is not set +# CONFIG_TTN_LORA_FREQ_KR_920 is not set +# CONFIG_TTN_LORA_FREQ_IN_866 is not set +CONFIG_TTN_LORA_FREQ_RU_864=y +# CONFIG_TTN_RADIO_SX1272_73 is not set +CONFIG_TTN_RADIO_SX1276_77_78_79=y +CONFIG_TTN_SPI_FREQ=10000000 +CONFIG_TTN_RESET_STATES_FLOATING=y +# CONFIG_TTN_RESET_STATES_ASSERTED is not set +CONFIG_TTN_BG_TASK_PRIO=10 +# CONFIG_TTN_PROVISION_UART_DEFAULT is not set +# CONFIG_TTN_PROVISION_UART_CUSTOM is not set +CONFIG_TTN_PROVISION_UART_NONE=y +CONFIG_TTN_PROVISION_UART_NUM=0 +# end of The Things Network # end of Component config # CONFIG_IDF_EXPERIMENTAL_FEATURES is not set @@ -1999,7 +2009,13 @@ CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set # CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# CONFIG_PPP_SUPPORT is not set +CONFIG_PPP_SUPPORT=y +CONFIG_PPP_NOTIFY_PHASE_SUPPORT=y +CONFIG_PPP_PAP_SUPPORT=y +# CONFIG_PPP_CHAP_SUPPORT is not set +# CONFIG_PPP_MSCHAP_SUPPORT is not set +# CONFIG_PPP_MPPE_SUPPORT is not set +# CONFIG_PPP_DEBUG_ON is not set CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y # CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set