diff --git a/MicroPython_BUILD/.gitignore b/MicroPython_BUILD/.gitignore index 4d46a24..9ff72e1 100644 --- a/MicroPython_BUILD/.gitignore +++ b/MicroPython_BUILD/.gitignore @@ -34,3 +34,4 @@ sdkconfig.fw_all sdkconfig.fw_psram_all make_firmwares.sh +mncfg_exit.txt diff --git a/MicroPython_BUILD/components/micropython/Kconfig.projbuild b/MicroPython_BUILD/components/micropython/Kconfig.projbuild index 1164ed7..ec252c2 100644 --- a/MicroPython_BUILD/components/micropython/Kconfig.projbuild +++ b/MicroPython_BUILD/components/micropython/Kconfig.projbuild @@ -16,9 +16,11 @@ menu "MicroPython" default "GMT0BST" help Set the default time zone string used when updating the time from NTP server - You can use 'components/micropython/docs/zones.csvzones.csv' + You can use 'components/micropython/docs/zones.csv' file to find the time zone string. - Use the second entry for your Region/city as the value set here + Use the second entry for your Region/city as the value set here. Example: + For Zagreb, the zones.csv file contains :"Europe/Zagreb","CET-1CEST,M3.5.0,M10.5.0/3". + You should put "CET-1CEST,M3.5.0,M10.5.0/3" or "CET-1CEST" as Time zone. config MICROPY_USE_OTA bool "Use OTA partition layout" @@ -270,6 +272,15 @@ menu "MicroPython" Include Ftp support in Curl module Not including it may save ~24 KB of flash code space + config MICROPY_USE_MAIL + bool "MAIL support in Curl module" + depends on MICROPY_USE_CURL + default y + help + Include Mail support in Curl module + Mail support is based on 'quickmail' library which is licensed under GPL, + so you may want to exclude it from the build + config MICROPY_USE_SSH bool "Use SSH module" default n diff --git a/MicroPython_BUILD/components/micropython/component.mk b/MicroPython_BUILD/components/micropython/component.mk index 4866e46..287a2a1 100644 --- a/MicroPython_BUILD/components/micropython/component.mk +++ b/MicroPython_BUILD/components/micropython/component.mk @@ -7,7 +7,11 @@ COMPONENT_ADD_INCLUDEDIRS := . genhdr py esp32 lib lib/utils lib/mp-readline extmod extmod/crypto-algorithms lib/netutils drivers/dht \ lib/timeutils lib/berkeley-db-1.xx/include lib/berkeley-db-1.xx/btree \ lib/berkeley-db-1.xx/db lib/berkeley-db-1.xx/hash lib/berkeley-db-1.xx/man lib/berkeley-db-1.xx/mpool lib/berkeley-db-1.xx/recno \ - ../curl/include ../curl/lib ../zlib ../libssh2/include ../quickmail ../espmqtt/include + ../curl/include ../curl/lib ../zlib ../libssh2/include ../espmqtt/include +ifdef CONFIG_MICROPY_USE_MAIL +COMPONENT_ADD_INCLUDEDIRS += ../quickmail +endif + COMPONENT_PRIV_INCLUDEDIRS := . genhdr py esp32 lib BUILD = $(BUILD_DIR_BASE) @@ -44,7 +48,6 @@ FROZEN_MPY_DIR = $(COMPONENT_PATH)/esp32/modules ESPCOMP = $(IDF_PATH)/components MP_EXTRA_INC += -I. MP_EXTRA_INC += -I$(COMPONENT_PATH) -MP_EXTRA_INC += -I$(PROJECT_PATH)/components/quickmail MP_EXTRA_INC += -I$(PROJECT_PATH)/components/curl/include MP_EXTRA_INC += -I$(PROJECT_PATH)/components/libssh2/include MP_EXTRA_INC += -I$(PROJECT_PATH)/components/zlib @@ -100,6 +103,10 @@ MP_EXTRA_INC += -I$(ESPCOMP)/openssl/include MP_EXTRA_INC += -I$(ESPCOMP)/app_update/include MP_EXTRA_INC += -I$(ESPCOMP)/mdns/include +ifdef CONFIG_MICROPY_USE_MAIL +MP_EXTRA_INC += -I$(PROJECT_PATH)/components/quickmail +endif + # CPP macro # ------------ CPP = $(CC) -E diff --git a/MicroPython_BUILD/components/micropython/esp32/libs/ftp.c b/MicroPython_BUILD/components/micropython/esp32/libs/ftp.c index ef3f7ff..430ef0d 100644 --- a/MicroPython_BUILD/components/micropython/esp32/libs/ftp.c +++ b/MicroPython_BUILD/components/micropython/esp32/libs/ftp.c @@ -171,6 +171,7 @@ typedef enum { E_FTP_CMD_NOOP, E_FTP_CMD_QUIT, E_FTP_CMD_APPE, + E_FTP_CMD_NLST, E_FTP_NUM_FTP_CMDS } ftp_cmd_index_t; @@ -185,12 +186,13 @@ static ftp_data_t ftp_data = {0}; static char *ftp_path = NULL; static char *ftp_scratch_buffer = NULL;; static char *ftp_cmd_buffer = NULL; +static uint8_t ftp_nlist = 0; static const ftp_cmd_t ftp_cmd_table[] = { { "FEAT" }, { "SYST" }, { "CDUP" }, { "CWD" }, { "PWD" }, { "XPWD" }, { "SIZE" }, { "MDTM" }, { "TYPE" }, { "USER" }, { "PASS" }, { "PASV" }, { "LIST" }, { "RETR" }, { "STOR" }, { "DELE" }, { "RMD" }, { "MKD" }, { "RNFR" }, { "RNTO" }, - { "NOOP" }, { "QUIT" }, { "APPE" } }; + { "NOOP" }, { "QUIT" }, { "APPE" }, { "NLST" } }; // ==== PRIVATE FUNCTIONS =================================================== @@ -279,7 +281,7 @@ static ftp_result_t ftp_open_dir_for_listing (const char *path) { } //--------------------------------------------------------------------------------- -static int ftp_print_eplf_item (char *dest, uint32_t destsize, struct dirent *de) { +static int ftp_get_eplf_item (char *dest, uint32_t destsize, struct dirent *de) { char *type = (de->d_type & DT_DIR) ? "d" : "-"; @@ -293,7 +295,7 @@ static int ftp_print_eplf_item (char *dest, uint32_t destsize, struct dirent *de int res = stat(fullname, &buf); if (res < 0) { buf.st_size = 0; - buf.st_atime = 946684800; // Jan 1, 2000 + buf.st_mtime = 946684800; // Jan 1, 2000 } char str_time[64]; @@ -306,11 +308,12 @@ static int ftp_print_eplf_item (char *dest, uint32_t destsize, struct dirent *de if ((buf.st_mtime + FTP_UNIX_SECONDS_180_DAYS) < now) strftime(str_time, 127, "%b %d %Y", tm_info); else strftime(str_time, 63, "%b %d %H:%M", tm_info); - return snprintf(dest, destsize, "%srw-rw-r-- 1 root root %9u %s %s\r\n", type, (uint32_t)buf.st_size, str_time, de->d_name); + if (ftp_nlist) return snprintf(dest, destsize, "%s\r\n", de->d_name); + return snprintf(dest, destsize, "%srw-rw-rw- 1 root root %9u %s %s\r\n", type, (uint32_t)buf.st_size, str_time, de->d_name); } //--------------------------------------------------------------------------- -static int ftp_print_eplf_drive (char *dest, uint32_t destsize, char *name) { +static int ftp_get_eplf_drive (char *dest, uint32_t destsize, char *name) { char *type = "d"; struct tm *tm_info; time_t seconds; @@ -319,7 +322,7 @@ static int ftp_print_eplf_drive (char *dest, uint32_t destsize, char *name) { char str_time[64]; strftime(str_time, 63, "%b %d %Y", tm_info); - return snprintf(dest, destsize, "%srw-rw-r-- 1 root root %9u %s %s\r\n", type, 0, str_time, name); + return snprintf(dest, destsize, "%srw-rw-rw- 1 root root %9u %s %s\r\n", type, 0, str_time, name); } //--------------------------------------------------------------------------------------- @@ -331,10 +334,10 @@ static ftp_result_t ftp_list_dir (char *list, uint32_t maxlistsize, uint32_t *li if (ftp_data.listroot) { if (native_vfs_mounted[0]) { - next += ftp_print_eplf_drive((list + next), (maxlistsize - next), "flash"); + next += ftp_get_eplf_drive((list + next), (maxlistsize - next), "flash"); } if (native_vfs_mounted[1]) { - next += ftp_print_eplf_drive((list + next), (maxlistsize - next), "sd"); + next += ftp_get_eplf_drive((list + next), (maxlistsize - next), "sd"); } *listsize = next; return E_FTP_RESULT_OK; @@ -352,7 +355,7 @@ static ftp_result_t ftp_list_dir (char *list, uint32_t maxlistsize, uint32_t *li // add the entry to the list ESP_LOGD(FTP_TAG, "Add to dir list: %s", de->d_name); - next += ftp_print_eplf_item((list + next), (maxlistsize - next), de); + next += ftp_get_eplf_item((list + next), (maxlistsize - next), de); listcount++; } if (result == E_FTP_RESULT_OK) { @@ -633,19 +636,20 @@ static void ftp_fix_path(char *pwd) { //------------------------------------------------- static void ftp_open_child (char *pwd, char *dir) { ESP_LOGD(FTP_TAG, "open_child: %s + %s", pwd, dir); - if (dir[0] == '/') { - // ** absolute path - strcpy(pwd, dir); + if (strlen(dir) > 0) { + if (dir[0] == '/') { + // ** absolute path + strcpy(pwd, dir); + } + else { + // ** relative path + // add trailing '/' if needed + if ((strlen(pwd) > 1) && (pwd[strlen(pwd)-1] != '/') && (dir[0] != '/')) strcat(pwd, "/"); + // append directory/file name + strcat(pwd, dir); + } + ftp_fix_path(pwd); } - else { - // ** relative path - // add trailing '/' if needed - if ((strlen(pwd) > 1) && (pwd[strlen(pwd)-1] != '/') && (dir[0] != '/')) strcat(pwd, "/"); - // append directory/file name - strcat(pwd, dir); - } - - ftp_fix_path(pwd); ESP_LOGD(FTP_TAG, "open_child, New pwd: %s", pwd); } @@ -685,7 +689,8 @@ static void ftp_close_child (char *pwd) { //----------------------------------------------------------- static void remove_fname_from_path (char *pwd, char *fname) { ESP_LOGD(FTP_TAG, "remove_fname_from_path: %s - %s", pwd, fname); - char *xpwd = strstr(pwd, fname); + if (strlen(fname) == 0) return; + char *xpwd = strstr(pwd, fname); if (xpwd == NULL) return; xpwd[0] = '\0'; @@ -696,12 +701,24 @@ static void remove_fname_from_path (char *pwd, char *fname) { // ==== Param functions ================================================= -//---------------------------------------------------------------------- -static void ftp_pop_param(char **str, char *param, bool stop_on_space) { - while (**str != '\r' && **str != '\n' && **str != '\0') { - if (stop_on_space && (**str == ' ')) { - break; +//------------------------------------------------------------------------------------------ +static void ftp_pop_param(char **str, char *param, bool stop_on_space, bool stop_on_newline) +{ + char lastc = '\0'; + while (**str != '\0') { + if (stop_on_space && (**str == ' ')) break; + if ((**str == '\r') || (**str == '\n')) { + if (!stop_on_newline) { + (*str)++; + continue; + } + else break; } + if ((**str == '/') && (lastc == '/')) { + (*str)++; + continue; + } + lastc = **str; *param++ = **str; (*str)++; } @@ -711,7 +728,7 @@ static void ftp_pop_param(char **str, char *param, bool stop_on_space) { //-------------------------------------------------- static ftp_cmd_index_t ftp_pop_command(char **str) { char _cmd[FTP_CMD_SIZE_MAX]; - ftp_pop_param (str, _cmd, true); + ftp_pop_param (str, _cmd, true, true); stoupper (_cmd); for (ftp_cmd_index_t i = 0; i < E_FTP_NUM_FTP_CMDS; i++) { if (!strcmp (_cmd, ftp_cmd_table[i].cmd)) { @@ -726,7 +743,7 @@ static ftp_cmd_index_t ftp_pop_command(char **str) { // Get file name from parameter and append to ftp_path //------------------------------------------------------- static void ftp_get_param_and_open_child(char **bufptr) { - ftp_pop_param(bufptr, ftp_scratch_buffer, false); + ftp_pop_param(bufptr, ftp_scratch_buffer, false, false); ftp_open_child(ftp_path, ftp_scratch_buffer); ftp_data.closechild = true; } @@ -741,10 +758,13 @@ static void ftp_process_cmd (void) { struct stat buf; int res; + memset(bufptr, 0, FTP_MAX_PARAM_SIZE + FTP_CMD_SIZE_MAX); ftp_data.closechild = false; + // use the reply buffer to receive new commands result = ftp_recv_non_blocking(ftp_data.c_sd, ftp_cmd_buffer, FTP_MAX_PARAM_SIZE + FTP_CMD_SIZE_MAX, &len); if (result == E_FTP_RESULT_OK) { + ftp_cmd_buffer[len] = '\0'; // bufptr is moved as commands are being popped ftp_cmd_index_t cmd = ftp_pop_command(&bufptr); if (!ftp_data.loggin.passvalid && @@ -770,26 +790,38 @@ static void ftp_process_cmd (void) { ftp_send_reply(250, NULL); break; case E_FTP_CMD_CWD: - { - ftp_pop_param (&bufptr, ftp_scratch_buffer, false); - ftp_open_child (ftp_path, ftp_scratch_buffer); - if ((ftp_path[0] == '/') && (ftp_path[1] == '\0')) { - ftp_data.dp = NULL; - ftp_send_reply(250, NULL); - } - else { - ftp_data.dp = opendir(ftp_path); - if (ftp_data.dp != NULL) { - closedir(ftp_data.dp); - ftp_data.dp = NULL; - ftp_send_reply(250, NULL); - } - else { - ftp_close_child (ftp_path); - ftp_send_reply(550, NULL); - } - } - } + ftp_pop_param (&bufptr, ftp_scratch_buffer, false, false); + + if (strlen(ftp_scratch_buffer) > 0) { + if ((ftp_scratch_buffer[0] == '.') && (ftp_scratch_buffer[1] == '\0')) { + ftp_data.dp = NULL; + ftp_send_reply(250, NULL); + break; + } + if ((ftp_scratch_buffer[0] == '.') && (ftp_scratch_buffer[1] == '.') && (ftp_scratch_buffer[2] == '\0')) { + ftp_close_child (ftp_path); + ftp_send_reply(250, NULL); + break; + } + else ftp_open_child (ftp_path, ftp_scratch_buffer); + } + + if ((ftp_path[0] == '/') && (ftp_path[1] == '\0')) { + ftp_data.dp = NULL; + ftp_send_reply(250, NULL); + } + else { + ftp_data.dp = opendir(ftp_path); + if (ftp_data.dp != NULL) { + closedir(ftp_data.dp); + ftp_data.dp = NULL; + ftp_send_reply(250, NULL); + } + else { + ftp_close_child (ftp_path); + ftp_send_reply(550, NULL); + } + } break; case E_FTP_CMD_PWD: case E_FTP_CMD_XPWD: @@ -834,14 +866,14 @@ static void ftp_process_cmd (void) { ftp_send_reply(200, NULL); break; case E_FTP_CMD_USER: - ftp_pop_param (&bufptr, ftp_scratch_buffer, true); + ftp_pop_param (&bufptr, ftp_scratch_buffer, true, true); if (!memcmp(ftp_scratch_buffer, ftp_user, MAX(strlen(ftp_scratch_buffer), strlen(ftp_user)))) { ftp_data.loggin.uservalid = true && (strlen(ftp_user) == strlen(ftp_scratch_buffer)); } ftp_send_reply(331, NULL); break; case E_FTP_CMD_PASS: - ftp_pop_param (&bufptr, ftp_scratch_buffer, true); + ftp_pop_param (&bufptr, ftp_scratch_buffer, true, true); if (!memcmp(ftp_scratch_buffer, ftp_pass, MAX(strlen(ftp_scratch_buffer), strlen(ftp_pass))) && ftp_data.loggin.uservalid) { ftp_data.loggin.passvalid = true && (strlen(ftp_pass) == strlen(ftp_scratch_buffer)); @@ -870,77 +902,106 @@ static void ftp_process_cmd (void) { ftp_data.substate = E_FTP_STE_SUB_LISTEN_FOR_DATA; ESP_LOGD(FTP_TAG, "Data socket created"); ftp_send_reply(227, (char *)ftp_data.dBuffer); - } else { + } + else { ESP_LOGW(FTP_TAG, "Error creating data socket"); ftp_send_reply(425, NULL); } } break; case E_FTP_CMD_LIST: + case E_FTP_CMD_NLST: + ftp_get_param_and_open_child(&bufptr); + if (cmd == E_FTP_CMD_LIST) ftp_nlist = 0; + else ftp_nlist = 1; if (ftp_open_dir_for_listing(ftp_path) == E_FTP_RESULT_CONTINUE) { ftp_data.state = E_FTP_STE_CONTINUE_LISTING; ftp_send_reply(150, NULL); - } else { - ftp_send_reply(550, NULL); } + else ftp_send_reply(550, NULL); break; case E_FTP_CMD_RETR: ftp_data.total = 0; ftp_data.time = 0; ftp_get_param_and_open_child(&bufptr); - if (ftp_open_file(ftp_path, "rb")) { - ftp_data.state = E_FTP_STE_CONTINUE_FILE_TX; - vTaskDelay(50 / portTICK_PERIOD_MS); - ftp_send_reply(150, NULL); - } else { - ftp_data.state = E_FTP_STE_END_TRANSFER; - ftp_send_reply(550, NULL); + if ((strlen(ftp_path) > 0) && (ftp_path[strlen(ftp_path)-1] != '/')) { + if (ftp_open_file(ftp_path, "rb")) { + ftp_data.state = E_FTP_STE_CONTINUE_FILE_TX; + vTaskDelay(20 / portTICK_PERIOD_MS); + ftp_send_reply(150, NULL); + } + else { + ftp_data.state = E_FTP_STE_END_TRANSFER; + ftp_send_reply(550, NULL); + } + } + else { + ftp_data.state = E_FTP_STE_END_TRANSFER; + ftp_send_reply(550, NULL); } break; case E_FTP_CMD_APPE: ftp_data.total = 0; ftp_data.time = 0; ftp_get_param_and_open_child(&bufptr); - if (ftp_open_file(ftp_path, "ab")) { - ftp_data.state = E_FTP_STE_CONTINUE_FILE_RX; - vTaskDelay(50 / portTICK_PERIOD_MS); - ftp_send_reply(150, NULL); - } else { + if ((strlen(ftp_path) > 0) && (ftp_path[strlen(ftp_path)-1] != '/')) { + if (ftp_open_file(ftp_path, "ab")) { + ftp_data.state = E_FTP_STE_CONTINUE_FILE_RX; + vTaskDelay(20 / portTICK_PERIOD_MS); + ftp_send_reply(150, NULL); + } + else { + ftp_data.state = E_FTP_STE_END_TRANSFER; + ftp_send_reply(550, NULL); + } + } + else { ftp_data.state = E_FTP_STE_END_TRANSFER; ftp_send_reply(550, NULL); - } + } break; case E_FTP_CMD_STOR: ftp_data.total = 0; ftp_data.time = 0; ftp_get_param_and_open_child(&bufptr); - if (ftp_open_file(ftp_path, "wb")) { - ftp_data.state = E_FTP_STE_CONTINUE_FILE_RX; - vTaskDelay(50 / portTICK_PERIOD_MS); - ftp_send_reply(150, NULL); - } else { + if ((strlen(ftp_path) > 0) && (ftp_path[strlen(ftp_path)-1] != '/')) { + if (ftp_open_file(ftp_path, "wb")) { + ftp_data.state = E_FTP_STE_CONTINUE_FILE_RX; + vTaskDelay(20 / portTICK_PERIOD_MS); + ftp_send_reply(150, NULL); + } + else { + ftp_data.state = E_FTP_STE_END_TRANSFER; + ftp_send_reply(550, NULL); + } + } + else { ftp_data.state = E_FTP_STE_END_TRANSFER; ftp_send_reply(550, NULL); - } + } break; case E_FTP_CMD_DELE: case E_FTP_CMD_RMD: ftp_get_param_and_open_child(&bufptr); - if (unlink(ftp_path) >= 0) { - vTaskDelay(50 / portTICK_PERIOD_MS); - ftp_send_reply(250, NULL); - } else { - ftp_send_reply(550, NULL); + if ((strlen(ftp_path) > 0) && (ftp_path[strlen(ftp_path)-1] != '/')) { + if (unlink(ftp_path) >= 0) { + vTaskDelay(20 / portTICK_PERIOD_MS); + ftp_send_reply(250, NULL); + } + else ftp_send_reply(550, NULL); } + else ftp_send_reply(250, NULL); break; case E_FTP_CMD_MKD: ftp_get_param_and_open_child(&bufptr); - if (mkdir(ftp_path, 0755) == 0) { - vTaskDelay(50 / portTICK_PERIOD_MS); - ftp_send_reply(250, NULL); - } else { - ftp_send_reply(550, NULL); + if ((strlen(ftp_path) > 0) && (ftp_path[strlen(ftp_path)-1] != '/')) { + if (mkdir(ftp_path, 0755) == 0) { + vTaskDelay(20 / portTICK_PERIOD_MS); + ftp_send_reply(250, NULL); + } + else ftp_send_reply(550, NULL); } + else ftp_send_reply(250, NULL); break; case E_FTP_CMD_RNFR: ftp_get_param_and_open_child(&bufptr); diff --git a/MicroPython_BUILD/components/micropython/esp32/modcurl.c b/MicroPython_BUILD/components/micropython/esp32/modcurl.c index c75b984..379398a 100644 --- a/MicroPython_BUILD/components/micropython/esp32/modcurl.c +++ b/MicroPython_BUILD/components/micropython/esp32/modcurl.c @@ -46,9 +46,12 @@ #include "py/runtime.h" #include "libs/espcurl.h" -#include "quickmail.h" #include "extmod/vfs_native.h" +#ifdef CONFIG_MICROPY_USE_MAIL +#include "quickmail.h" +#endif + //---------------------------------- static int check_file(char *fname) { struct stat sb; @@ -300,6 +303,8 @@ STATIC mp_obj_t curl_POST(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_ } STATIC MP_DEFINE_CONST_FUN_OBJ_KW(curl_POST_obj, 1, curl_POST); +#ifdef CONFIG_MICROPY_USE_MAIL + //--------------------------------------------------------------------------------------- STATIC mp_obj_t curl_sendmail(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { @@ -433,6 +438,7 @@ STATIC mp_obj_t curl_sendmail(size_t n_args, const mp_obj_t *pos_args, mp_map_t } STATIC MP_DEFINE_CONST_FUN_OBJ_KW(curl_sendmail_obj, 1, curl_sendmail); +#endif // CONFIG_MICROPY_USE_MAIL #ifdef CONFIG_MICROPY_USE_CURLFTP @@ -538,7 +544,11 @@ STATIC const mp_rom_map_elem_t curl_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_options), MP_ROM_PTR(&curl_Options_obj) }, { MP_ROM_QSTR(MP_QSTR_get), MP_ROM_PTR(&curl_GET_obj) }, { MP_ROM_QSTR(MP_QSTR_post), MP_ROM_PTR(&curl_POST_obj) }, + + #ifdef CONFIG_MICROPY_USE_MAIL { MP_ROM_QSTR(MP_QSTR_sendmail), MP_ROM_PTR(&curl_sendmail_obj) }, + #endif + #ifdef CONFIG_MICROPY_USE_CURLFTP { MP_ROM_QSTR(MP_QSTR_ftp_get), MP_ROM_PTR(&curl_FTP_GET_obj) }, { MP_ROM_QSTR(MP_QSTR_ftp_put), MP_ROM_PTR(&curl_FTP_PUT_obj) }, @@ -546,8 +556,10 @@ STATIC const mp_rom_map_elem_t curl_module_globals_table[] = { #endif // Constants + #ifdef CONFIG_MICROPY_USE_MAIL { MP_ROM_QSTR(MP_QSTR_SMTP), MP_ROM_INT(QUICKMAIL_PROT_SMTP) }, { MP_ROM_QSTR(MP_QSTR_SMTPS), MP_ROM_INT(QUICKMAIL_PROT_SMTPS) }, + #endif }; STATIC MP_DEFINE_CONST_DICT(curl_module_globals, curl_module_globals_table); diff --git a/MicroPython_BUILD/components/micropython/esp32/mpversion.h b/MicroPython_BUILD/components/micropython/esp32/mpversion.h index d408dce..9d557d7 100644 --- a/MicroPython_BUILD/components/micropython/esp32/mpversion.h +++ b/MicroPython_BUILD/components/micropython/esp32/mpversion.h @@ -1,8 +1,8 @@ // MicroPython version info -#define MICROPY_GIT_TAG "ESP32_LoBo_v3.1.17" +#define MICROPY_GIT_TAG "ESP32_LoBo_v3.1.18" #define MICROPY_GIT_HASH "gdaa8cfa8" -#define MICROPY_BUILD_DATE "2017-02-05" +#define MICROPY_BUILD_DATE "2017-02-07" #define MICROPY_VERSION_MAJOR (3) #define MICROPY_VERSION_MINOR (1) -#define MICROPY_VERSION_MICRO (17) -#define MICROPY_VERSION_STRING "3.1.17" +#define MICROPY_VERSION_MICRO (18) +#define MICROPY_VERSION_STRING "3.1.18" diff --git a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32.zip b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32.zip index 743dca5..7f1377e 100644 Binary files a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32.zip and b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32.zip differ diff --git a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_all.zip b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_all.zip index 48a139f..2eeee59 100644 Binary files a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_all.zip and b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_all.zip differ diff --git a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_ota.zip b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_ota.zip index f4f4941..8d0680c 100644 Binary files a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_ota.zip and b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_ota.zip differ diff --git a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram.zip b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram.zip index b777428..a174509 100644 Binary files a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram.zip and b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram.zip differ diff --git a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram_all.zip b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram_all.zip index 31dc02b..dc18108 100644 Binary files a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram_all.zip and b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram_all.zip differ diff --git a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram_ota.zip b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram_ota.zip index 6bd7bf9..bc88162 100644 Binary files a/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram_ota.zip and b/MicroPython_BUILD/firmware/MicroPython_LoBo_esp32_psram_ota.zip differ diff --git a/MicroPython_BUILD/firmware/esp32/MicroPython.bin b/MicroPython_BUILD/firmware/esp32/MicroPython.bin index 04ad315..512cf88 100644 Binary files a/MicroPython_BUILD/firmware/esp32/MicroPython.bin and b/MicroPython_BUILD/firmware/esp32/MicroPython.bin differ diff --git a/MicroPython_BUILD/firmware/esp32/bootloader/bootloader.bin b/MicroPython_BUILD/firmware/esp32/bootloader/bootloader.bin index 92b0f1c..afc8a05 100644 Binary files a/MicroPython_BUILD/firmware/esp32/bootloader/bootloader.bin and b/MicroPython_BUILD/firmware/esp32/bootloader/bootloader.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_all/MicroPython.bin b/MicroPython_BUILD/firmware/esp32_all/MicroPython.bin index d396045..446ca81 100644 Binary files a/MicroPython_BUILD/firmware/esp32_all/MicroPython.bin and b/MicroPython_BUILD/firmware/esp32_all/MicroPython.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_all/bootloader/bootloader.bin b/MicroPython_BUILD/firmware/esp32_all/bootloader/bootloader.bin index ee75654..f725753 100644 Binary files a/MicroPython_BUILD/firmware/esp32_all/bootloader/bootloader.bin and b/MicroPython_BUILD/firmware/esp32_all/bootloader/bootloader.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_all/sdkconfig b/MicroPython_BUILD/firmware/esp32_all/sdkconfig index d6193a9..074da3b 100644 --- a/MicroPython_BUILD/firmware/esp32_all/sdkconfig +++ b/MicroPython_BUILD/firmware/esp32_all/sdkconfig @@ -122,13 +122,14 @@ CONFIG_MICROPY_PY_FRAMEBUF=y CONFIG_MICROPY_PY_USE_BTREE=y CONFIG_MICROPY_USE_WEBSOCKETS=y CONFIG_MICROPY_USE_DISPLAY=y -CONFIG_MICROPY_USE_EVE=n +CONFIG_MICROPY_USE_EVE= CONFIG_MICROPY_USE_GSM=y CONFIG_MICROPY_USE_ETHERNET= CONFIG_MICROPY_USE_MDNS=y CONFIG_MICROPY_USE_CURL=y CONFIG_MICROPY_USE_CURL_TLS=y CONFIG_MICROPY_USE_CURLFTP=y +CONFIG_MICROPY_USE_MAIL=y CONFIG_MICROPY_USE_SSH=y CONFIG_MICROPY_USE_MQTT=y diff --git a/MicroPython_BUILD/firmware/esp32_ota/MicroPython.bin b/MicroPython_BUILD/firmware/esp32_ota/MicroPython.bin index dabce6f..8f41d63 100644 Binary files a/MicroPython_BUILD/firmware/esp32_ota/MicroPython.bin and b/MicroPython_BUILD/firmware/esp32_ota/MicroPython.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_ota/bootloader/bootloader.bin b/MicroPython_BUILD/firmware/esp32_ota/bootloader/bootloader.bin index 87a900a..3c80b3a 100644 Binary files a/MicroPython_BUILD/firmware/esp32_ota/bootloader/bootloader.bin and b/MicroPython_BUILD/firmware/esp32_ota/bootloader/bootloader.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_psram/MicroPython.bin b/MicroPython_BUILD/firmware/esp32_psram/MicroPython.bin index ab2c194..e348919 100644 Binary files a/MicroPython_BUILD/firmware/esp32_psram/MicroPython.bin and b/MicroPython_BUILD/firmware/esp32_psram/MicroPython.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_psram/bootloader/bootloader.bin b/MicroPython_BUILD/firmware/esp32_psram/bootloader/bootloader.bin index 9633080..70ea418 100644 Binary files a/MicroPython_BUILD/firmware/esp32_psram/bootloader/bootloader.bin and b/MicroPython_BUILD/firmware/esp32_psram/bootloader/bootloader.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_psram_all/MicroPython.bin b/MicroPython_BUILD/firmware/esp32_psram_all/MicroPython.bin index 8f37a76..e3ac928 100644 Binary files a/MicroPython_BUILD/firmware/esp32_psram_all/MicroPython.bin and b/MicroPython_BUILD/firmware/esp32_psram_all/MicroPython.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_psram_all/bootloader/bootloader.bin b/MicroPython_BUILD/firmware/esp32_psram_all/bootloader/bootloader.bin index 8e39060..68bcb75 100644 Binary files a/MicroPython_BUILD/firmware/esp32_psram_all/bootloader/bootloader.bin and b/MicroPython_BUILD/firmware/esp32_psram_all/bootloader/bootloader.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_psram_all/sdkconfig b/MicroPython_BUILD/firmware/esp32_psram_all/sdkconfig index 1c582c2..b3748dd 100644 --- a/MicroPython_BUILD/firmware/esp32_psram_all/sdkconfig +++ b/MicroPython_BUILD/firmware/esp32_psram_all/sdkconfig @@ -129,6 +129,7 @@ CONFIG_MICROPY_USE_MDNS=y CONFIG_MICROPY_USE_CURL=y CONFIG_MICROPY_USE_CURL_TLS=y CONFIG_MICROPY_USE_CURLFTP=y +CONFIG_MICROPY_USE_MAIL=y CONFIG_MICROPY_USE_SSH=y CONFIG_MICROPY_USE_MQTT=y diff --git a/MicroPython_BUILD/firmware/esp32_psram_ota/MicroPython.bin b/MicroPython_BUILD/firmware/esp32_psram_ota/MicroPython.bin index 5925a3d..f9ef822 100644 Binary files a/MicroPython_BUILD/firmware/esp32_psram_ota/MicroPython.bin and b/MicroPython_BUILD/firmware/esp32_psram_ota/MicroPython.bin differ diff --git a/MicroPython_BUILD/firmware/esp32_psram_ota/bootloader/bootloader.bin b/MicroPython_BUILD/firmware/esp32_psram_ota/bootloader/bootloader.bin index 0847d80..17469b0 100644 Binary files a/MicroPython_BUILD/firmware/esp32_psram_ota/bootloader/bootloader.bin and b/MicroPython_BUILD/firmware/esp32_psram_ota/bootloader/bootloader.bin differ diff --git a/MicroPython_BUILD/xxx b/MicroPython_BUILD/xxx deleted file mode 100644 index 50cf2de..0000000 --- a/MicroPython_BUILD/xxx +++ /dev/null @@ -1,395 +0,0 @@ -# -# MicroPython -# -CONFIG_MICROPY_USE_OTA= - -# -# System settings -# -CONFIG_MICRO_PY_LOG_LEVEL=2 -CONFIG_MICRO_PY_LOG_LEVEL0= -CONFIG_MICRO_PY_LOG_LEVEL1= -CONFIG_MICRO_PY_LOG_LEVEL2=y -CONFIG_MICRO_PY_LOG_LEVEL3= -CONFIG_MICRO_PY_LOG_LEVEL4= -CONFIG_MICRO_PY_LOG_LEVEL5= -CONFIG_MICROPY_RX_BUFFER_SIZE=1080 -CONFIG_MICROPY_USE_TASK_WDT=y -CONFIG_MICROPY_USE_BOTH_CORES=y -CONFIG_MICROPY_TASK_PRIORITY=5 -CONFIG_MICROPY_STACK_SIZE=20 -CONFIG_MICROPY_HEAP_SIZE=3400 -CONFIG_MICROPY_THREAD_MAX_THREADS=4 -CONFIG_MICROPY_THREAD_STACK_SIZE=4 -CONFIG_MICROPY_USE_TELNET=y -CONFIG_MICROPY_USE_WEBSERVER= -CONFIG_MICROPY_USE_FTPSERVER=y - -# -# FTP Server Configuration -# -CONFIG_FTPSERVER_LOG_LEVEL=1 -CONFIG_FTPSERVER_LOG_LEVEL0= -CONFIG_FTPSERVER_LOG_LEVEL1=y -CONFIG_FTPSERVER_LOG_LEVEL2= -CONFIG_FTPSERVER_LOG_LEVEL3= -CONFIG_FTPSERVER_LOG_LEVEL4= -CONFIG_MICROPY_FTPSERVER_TIMEOUT=300 -CONFIG_MICROPY_FTPSERVER_BUFFER_SIZE=1024 - -# -# Modules -# -CONFIG_MICROPY_PY_FRAMEBUF=y -CONFIG_MICROPY_PY_USE_BTREE= -CONFIG_MICROPY_USE_WEBSOCKETS=y -CONFIG_MICROPY_USE_DISPLAY=y -CONFIG_MICROPY_USE_EVE= -CONFIG_MICROPY_USE_GSM= -CONFIG_MICROPY_USE_ETHERNET= -CONFIG_MICROPY_USE_MDNS=y -CONFIG_MICROPY_USE_CURL= -CONFIG_MICROPY_USE_SSH= -CONFIG_MICROPY_USE_MQTT=y - -# -# File systems -# -CONFIG_MICROPY_FATFS_MAX_OPEN_FILES=6 -CONFIG_MICROPY_USE_SPIFFS=y -CONFIG_MICROPY_SDMMC_SHOW_INFO=y - -# -# SD Card configuration -# -CONFIG_SDCARD_MODE=3 -CONFIG_SDCARD_MODE1= -CONFIG_SDCARD_MODE2= -CONFIG_SDCARD_MODE3=y -# -# Component config -# - -# -# Bluetooth -# -CONFIG_BT_ENABLED=y -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE_0=y -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE_1= -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 -CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y -CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4= -CONFIG_BLUEDROID_ENABLED=y -CONFIG_BLUEDROID_PINNED_TO_CORE_0=y -CONFIG_BLUEDROID_PINNED_TO_CORE_1= -CONFIG_BLUEDROID_PINNED_TO_CORE=0 -CONFIG_BTC_TASK_STACK_SIZE=3072 -CONFIG_BLUEDROID_MEM_DEBUG= -CONFIG_CLASSIC_BT_ENABLED= -CONFIG_GATTS_ENABLE=y -CONFIG_GATTC_ENABLE=y -CONFIG_BLE_SMP_ENABLE=y -CONFIG_BT_STACK_NO_LOG= -CONFIG_BT_ACL_CONNECTIONS=4 -CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST= -CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY= -CONFIG_SMP_ENABLE=y -CONFIG_BT_RESERVE_DRAM=0x10000 - -# -# ESP32-specific -# -CONFIG_ESP32_DEFAULT_CPU_FREQ_80= -CONFIG_ESP32_DEFAULT_CPU_FREQ_160= -CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 -CONFIG_MEMMAP_SMP=y -CONFIG_SPIRAM_SUPPORT=y - -# -# SPI RAM config -# -CONFIG_SPIRAM_BOOT_INIT=y -CONFIG_SPIRAM_USE_MEMMAP= -CONFIG_SPIRAM_USE_CAPS_ALLOC=y -CONFIG_SPIRAM_USE_MALLOC= -CONFIG_SPIRAM_TYPE_ESPPSRAM32=y -CONFIG_SPIRAM_SIZE=4194304 -CONFIG_SPIRAM_SPEED_40M=y -CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_CACHE_WORKAROUND=y -CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST= -CONFIG_MEMMAP_TRACEMEM= -CONFIG_MEMMAP_TRACEMEM_TWOBANKS= -CONFIG_ESP32_TRAX= -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH= -CONFIG_ESP32_ENABLE_COREDUMP_TO_UART= -CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y -CONFIG_ESP32_ENABLE_COREDUMP= -CONFIG_TWO_UNIVERSAL_MAC_ADDRESS= -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2048 -CONFIG_MAIN_TASK_STACK_SIZE=3584 -CONFIG_IPC_TASK_STACK_SIZE=1024 -CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y -CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF= -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR= -CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF= -CONFIG_NEWLIB_STDIN_LINE_ENDING_LF= -CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y -CONFIG_NEWLIB_NANO_FORMAT= -CONFIG_CONSOLE_UART_DEFAULT=y -CONFIG_CONSOLE_UART_CUSTOM= -CONFIG_CONSOLE_UART_NONE= -CONFIG_CONSOLE_UART_NUM=0 -CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ULP_COPROC_ENABLED= -CONFIG_ULP_COPROC_RESERVE_MEM=0 -CONFIG_ESP32_PANIC_PRINT_HALT=y -CONFIG_ESP32_PANIC_PRINT_REBOOT= -CONFIG_ESP32_PANIC_SILENT_REBOOT= -CONFIG_ESP32_PANIC_GDBSTUB= -CONFIG_ESP32_DEBUG_OCDAWARE=y -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_INT_WDT_CHECK_CPU1=y -CONFIG_TASK_WDT=y -CONFIG_TASK_WDT_PANIC= -CONFIG_TASK_WDT_TIMEOUT_S=15 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -CONFIG_BROWNOUT_DET= -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC= -CONFIG_ESP32_TIME_SYSCALL_USE_FRC1= -CONFIG_ESP32_TIME_SYSCALL_USE_NONE= -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y -CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL= -CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 -CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP32_XTAL_FREQ_40= -CONFIG_ESP32_XTAL_FREQ_26= -CONFIG_ESP32_XTAL_FREQ_AUTO=y -CONFIG_ESP32_XTAL_FREQ=0 -CONFIG_DISABLE_BASIC_ROM_CONSOLE= -CONFIG_ESP_TIMER_PROFILING= -CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS= - -# -# Wi-Fi -# -CONFIG_SW_COEXIST_ENABLE= -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=16 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER= -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=16 -CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP32_WIFI_TX_BA_WIN=6 -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_NVS_ENABLED=y - -# -# PHY -# -CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y -CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION=y -CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP32_PHY_MAX_TX_POWER=20 - - -# -# Ethernet -# -CONFIG_DMA_RX_BUF_NUM=10 -CONFIG_DMA_TX_BUF_NUM=10 -CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE= -CONFIG_EMAC_TASK_PRIORITY=20 - -# -# FreeRTOS -# -CONFIG_FREERTOS_UNICORE= -CONFIG_FREERTOS_CORETIMER_0=y -CONFIG_FREERTOS_CORETIMER_1= -CONFIG_FREERTOS_HZ=1000 -CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION= -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE= -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL= -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y -CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK= -CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=4 -CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y -CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE= -CONFIG_FREERTOS_ASSERT_DISABLE= -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 -CONFIG_FREERTOS_ISR_STACKSIZE=4096 -CONFIG_FREERTOS_LEGACY_HOOKS= -CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 -CONFIG_SUPPORT_STATIC_ALLOCATION=y -CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK=y -CONFIG_TIMER_TASK_PRIORITY=1 -CONFIG_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_TIMER_QUEUE_LENGTH=10 -CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 -CONFIG_FREERTOS_USE_TRACE_FACILITY= -CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS= -CONFIG_FREERTOS_DEBUG_INTERNALS= - -# -# Heap memory debugging -# -CONFIG_HEAP_POISONING_DISABLED=y -CONFIG_HEAP_POISONING_LIGHT= -CONFIG_HEAP_POISONING_COMPREHENSIVE= -CONFIG_HEAP_TRACING= - -# -# libsodium -# - -# -# Log output -# -CONFIG_LOG_DEFAULT_LEVEL_NONE= -CONFIG_LOG_DEFAULT_LEVEL_ERROR= -CONFIG_LOG_DEFAULT_LEVEL_WARN=y -CONFIG_LOG_DEFAULT_LEVEL_INFO= -CONFIG_LOG_DEFAULT_LEVEL_DEBUG= -CONFIG_LOG_DEFAULT_LEVEL_VERBOSE= -CONFIG_LOG_DEFAULT_LEVEL=2 -CONFIG_LOG_COLORS=y - -# -# LWIP -# -CONFIG_L2_TO_L3_COPY= -CONFIG_LWIP_MAX_SOCKETS=8 -CONFIG_LWIP_SO_REUSE=y -CONFIG_LWIP_SO_REUSE_RXTOALL=y -CONFIG_LWIP_SO_RCVBUF= -CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 -CONFIG_LWIP_IP_FRAG= -CONFIG_LWIP_IP_REASSEMBLY= -CONFIG_LWIP_STATS= -CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y -CONFIG_TCPIP_RECVMBOX_SIZE=32 -CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y - -# -# DHCP server -# -CONFIG_LWIP_DHCPS_LEASE_UNIT=60 -CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 -CONFIG_LWIP_AUTOIP= -CONFIG_LWIP_NETIF_LOOPBACK=y -CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 - -# -# TCP -# -CONFIG_LWIP_MAX_ACTIVE_TCP=16 -CONFIG_LWIP_MAX_LISTENING_TCP=16 -CONFIG_TCP_MAXRTX=12 -CONFIG_TCP_SYNMAXRTX=6 -CONFIG_TCP_MSS=1436 -CONFIG_TCP_MSL=60000 -CONFIG_TCP_SND_BUF_DEFAULT=5744 -CONFIG_TCP_WND_DEFAULT=5744 -CONFIG_TCP_RECVMBOX_SIZE=6 -CONFIG_TCP_QUEUE_OOSEQ=y -CONFIG_TCP_OVERSIZE_MSS=y -CONFIG_TCP_OVERSIZE_QUARTER_MSS= -CONFIG_TCP_OVERSIZE_DISABLE= - -# -# UDP -# -CONFIG_LWIP_MAX_UDP_PCBS=16 -CONFIG_UDP_RECVMBOX_SIZE=6 -CONFIG_TCPIP_TASK_STACK_SIZE=4096 -CONFIG_PPP_SUPPORT=y -CONFIG_PPP_PAP_SUPPORT=y -CONFIG_PPP_CHAP_SUPPORT= -CONFIG_PPP_MSCHAP_SUPPORT= -CONFIG_PPP_MPPE_SUPPORT= -CONFIG_PPP_DEBUG_ON= - -# -# ICMP -# -CONFIG_LWIP_MULTICAST_PING= -CONFIG_LWIP_BROADCAST_PING= - -# -# LWIP RAW API -# -CONFIG_LWIP_MAX_RAW_PCBS=16 - -# -# mbedTLS -# -CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 -CONFIG_MBEDTLS_DEBUG= -CONFIG_MBEDTLS_HARDWARE_AES=y -CONFIG_MBEDTLS_HARDWARE_MPI=y -CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y -CONFIG_MBEDTLS_HARDWARE_SHA=y -CONFIG_MBEDTLS_HAVE_TIME=y -CONFIG_MBEDTLS_HAVE_TIME_DATE= -CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y -CONFIG_MBEDTLS_TLS_SERVER_ONLY= -CONFIG_MBEDTLS_TLS_CLIENT_ONLY= -CONFIG_MBEDTLS_TLS_DISABLED= -CONFIG_MBEDTLS_TLS_SERVER=y -CONFIG_MBEDTLS_TLS_CLIENT=y -CONFIG_MBEDTLS_TLS_ENABLED=y - -# -# PThreads -# -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 - -# -# SPI Flash driver -# -CONFIG_SPI_FLASH_VERIFY_WRITE= -CONFIG_SPI_FLASH_ENABLE_COUNTERS= -CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS= -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED= - -# -# SPIFFS Configuration -# -CONFIG_SPIFFS_MAX_PARTITIONS=1 - -# -# SPIFFS Cache Configuration -# -CONFIG_SPIFFS_CACHE=y -CONFIG_SPIFFS_CACHE_WR=y -CONFIG_SPIFFS_CACHE_STATS= -CONFIG_SPIFFS_PAGE_CHECK=y -CONFIG_SPIFFS_GC_MAX_RUNS=10 -CONFIG_SPIFFS_GC_STATS= -CONFIG_SPIFFS_OBJ_NAME_LEN=64 -CONFIG_SPIFFS_USE_MAGIC=y -CONFIG_SPIFFS_USE_MAGIC_LENGTH=y -CONFIG_SPIFFS_META_LENGTH=5 -CONFIG_SPIFFS_USE_MTIME=y -CONFIG_SPIFFS_USE_DIR=y - -# -# tcpip adapter -# -CONFIG_IP_LOST_TIMER_INTERVAL=120