From ee4224ab6654c3eacd74785f2eee32b8e0afa55a Mon Sep 17 00:00:00 2001 From: Zhang Jun Hao Date: Fri, 20 Mar 2020 10:00:33 +0800 Subject: [PATCH 1/2] feat(pm): refactor power management according to IDF --- components/esp8266/Kconfig | 12 ++++++++++ components/esp8266/include/esp_sleep.h | 19 +++++++++++++-- components/esp8266/include/esp_wifi.h | 10 ++++++++ components/esp8266/include/esp_wifi_types.h | 23 +++++++++++++++++-- .../include/internal/esp_wifi_internal.h | 16 +++++++++++++ components/esp8266/source/esp_sleep.c | 20 ++++++++++++++++ components/esp8266/source/startup.c | 6 +++++ examples/wifi/power_save/README.md | 6 ++--- examples/wifi/power_save/main/power_save.c | 13 ++++++++++- 9 files changed, 117 insertions(+), 8 deletions(-) diff --git a/components/esp8266/Kconfig b/components/esp8266/Kconfig index e290cc52..33133855 100644 --- a/components/esp8266/Kconfig +++ b/components/esp8266/Kconfig @@ -221,6 +221,18 @@ config ESP8266_BOOT_COPY_APP endchoice endmenu +menu "Power Management" + config PM_ENABLE + bool "Support for power management" + default n + help + If enabled, application is compiled with support for power management. + This option has run-time overhead (increased interrupt latency, + longer time to enter idle state), and it also reduces accuracy of + RTOS ticks and timers used for timekeeping. + Enable this option if application uses power management APIs. +endmenu + menu Wi-Fi config SCAN_AP_MAX diff --git a/components/esp8266/include/esp_sleep.h b/components/esp8266/include/esp_sleep.h index e877c7df..d5c1a33e 100644 --- a/components/esp8266/include/esp_sleep.h +++ b/components/esp8266/include/esp_sleep.h @@ -46,7 +46,7 @@ typedef enum { } esp_sleep_source_t; /** - * @brief Set the chip to deep-sleep mode. + * @brief Enter deep-sleep mode. * * The device will automatically wake up after the deep-sleep time set * by the users. Upon waking up, the device boots up from user_init. @@ -56,6 +56,9 @@ typedef enum { * @attention 2. system_deep_sleep(0): there is no wake up timer; in order to wake * up, connect a GPIO to pin RST, the chip will wake up by a falling-edge * on pin RST + * @attention 3. esp_deep_sleep does not shut down WiFi and higher level protocol + * connections gracefully. Make sure esp_wifi_stop are called to close any + * connections and deinitialize the peripherals. * * @param time_in_us deep-sleep time, unit: microsecond * @@ -63,6 +66,15 @@ typedef enum { */ void esp_deep_sleep(uint32_t time_in_us); +/** + * @brief Set implementation-specific power management configuration + * @param config pointer to implementation-specific configuration structure (e.g. esp_pm_config_esp32) + * @return + * - ESP_OK on success + * - ESP_ERR_INVALID_ARG if the configuration values are not correct + * - ESP_ERR_NOT_SUPPORTED if certain combination of values is not supported. + */ +esp_err_t esp_pm_configure(const void* config); /** * @brief Call this API before esp_deep_sleep and esp_wifi_init to set the activity after the @@ -207,9 +219,12 @@ esp_err_t esp_sleep_enable_timer_wakeup(uint32_t time_in_us); /** * @brief Enter light sleep with the configured wakeup options * + * @attention esp_deep_sleep does not shut down WiFi and higher level protocol + * connections gracefully. Make sure esp_wifi_stop are called to close any + * connections and deinitialize the peripherals. * @return * - ESP_OK on success (returned after wakeup) - * - ESP_ERR_INVALID_STATE if WiFi or BT is not stopped + * - ESP_ERR_INVALID_STATE if WiFi is not stopped */ esp_err_t esp_light_sleep_start(void); diff --git a/components/esp8266/include/esp_wifi.h b/components/esp8266/include/esp_wifi.h index d132131b..ab156f62 100644 --- a/components/esp8266/include/esp_wifi.h +++ b/components/esp8266/include/esp_wifi.h @@ -977,6 +977,16 @@ esp_err_t esp_wifi_get_event_mask(uint32_t *mask); */ esp_err_t esp_wifi_80211_tx(wifi_interface_t ifx, const void *buffer, int len, bool en_sys_seq); +/** + * @brief Operation system start check time and enter sleep + * + * @note This function is called by system, user should not call this + * + * @return + * - wifi state + */ +wifi_state_t esp_wifi_get_state(void); + #ifdef __cplusplus } #endif diff --git a/components/esp8266/include/esp_wifi_types.h b/components/esp8266/include/esp_wifi_types.h index f0048aad..1aec66cf 100755 --- a/components/esp8266/include/esp_wifi_types.h +++ b/components/esp8266/include/esp_wifi_types.h @@ -184,12 +184,31 @@ typedef struct { wifi_auth_mode_t authmode; /**< The weakest authmode to accept in the fast scan mode */ } wifi_fast_scan_threshold_t; +typedef enum { + WIFI_STATE_DEINIT=0, + WIFI_STATE_INIT, + WIFI_STATE_START +}wifi_state_t; + typedef enum { WIFI_PS_NONE, /**< No power save */ - WIFI_PS_MAX_MODEM, /**< Maximum modem power saving. In this mode, station close cpu and RF in DTIM period */ - WIFI_PS_MIN_MODEM, /**< Minimum modem power saving. In this mode, station close RF in DTIM period */ + WIFI_PS_MIN_MODEM, /**< Minimum modem power saving. In this mode, station wakes up to receive beacon every DTIM period */ + WIFI_PS_MAX_MODEM, /**< Maximum modem power saving. In this mode, interval to receive beacons is determined by the listen_interval + parameter in wifi_sta_config_t. + Attention: Using this option may cause ping failures. Not recommended */ } wifi_ps_type_t; +/** + * @brief Power management config for ESP8266 + * + * Pass a pointer to this structure as an argument to esp_pm_configure function. + */ +typedef struct { + int max_freq_mhz; /*!< Not used in ESP8266 */ + int min_freq_mhz; /*!< Not used in ESP8266 */ + bool light_sleep_enable; /*!< Enter light sleep when no locks are taken */ +} esp_pm_config_esp8266_t; + #define WIFI_PS_MODEM WIFI_PS_MIN_MODEM /**< @deprecated Use WIFI_PS_MIN_MODEM or WIFI_PS_MAX_MODEM instead */ #define WIFI_PROTOCOL_11B 1 diff --git a/components/esp8266/include/internal/esp_wifi_internal.h b/components/esp8266/include/internal/esp_wifi_internal.h index 40c25725..91f2ca88 100644 --- a/components/esp8266/include/internal/esp_wifi_internal.h +++ b/components/esp8266/include/internal/esp_wifi_internal.h @@ -175,6 +175,22 @@ esp_err_t esp_wifi_internal_set_log_mod(uint32_t submodule); */ esp_err_t esp_wifi_internal_get_log(wifi_log_level_t *log_level, uint32_t *log_mod); +/** + * @brief Receive broadcast/multicast packet or not when WiFi in power save. + * + * @param enable receive broadcast/multicast packet when set to true. + */ +void esp_wifi_set_pm_recv_multi_data(bool enable); + +/** + * @brief Receive broadcast/multicast packet or not when WiFi in power save + * + * @return + * - true: receive broadcast/multicast packet or not when WiFi in power save + * - false: drop broadcast/multicast packet or not when WiFi in power save + */ +bool esp_wifi_get_pm_recv_multi_data(void); + #ifdef __cplusplus } #endif diff --git a/components/esp8266/source/esp_sleep.c b/components/esp8266/source/esp_sleep.c index 2eadab8b..bc3e7b37 100644 --- a/components/esp8266/source/esp_sleep.c +++ b/components/esp8266/source/esp_sleep.c @@ -18,6 +18,7 @@ #include "esp_log.h" #include "esp_system.h" #include "esp_sleep.h" +#include "esp_wifi.h" #include "FreeRTOS.h" #include "freertos/task.h" #include "driver/soc.h" @@ -374,6 +375,10 @@ esp_err_t esp_light_sleep_start(void) .flush_uart = 1 }; + if (esp_wifi_get_state() >= WIFI_STATE_START) { + return ESP_ERR_INVALID_STATE; + } + return esp_light_sleep_internal(&proc); } @@ -407,3 +412,18 @@ void esp_sleep_start(void) esp_light_sleep_internal(&proc); } + +esp_err_t esp_pm_configure(const void* vconfig) +{ +#ifndef CONFIG_PM_ENABLE + return ESP_ERR_NOT_SUPPORTED; +#endif + + const esp_pm_config_esp8266_t* config = (const esp_pm_config_esp8266_t*) vconfig; + if (config->light_sleep_enable) { + s_sleep_mode = ESP_CPU_LIGHTSLEEP; + } else { + s_sleep_mode = ESP_CPU_WAIT; + } + return ESP_OK; +} diff --git a/components/esp8266/source/startup.c b/components/esp8266/source/startup.c index e346a74a..4118fffb 100644 --- a/components/esp8266/source/startup.c +++ b/components/esp8266/source/startup.c @@ -74,6 +74,10 @@ static void user_init_entry(void *param) extern void app_main(void); + extern void phy_close_rf(void); + + extern void esp_sleep_unlock(); + /* initialize C++ construture function */ for (func = &__init_array_start; func < &__init_array_end; func++) func[0](); @@ -89,6 +93,8 @@ static void user_init_entry(void *param) assert(mac_init() == 0); assert(base_gpio_init() == 0); esp_phy_load_cal_and_init(0); + phy_close_rf(); + esp_sleep_unlock(); esp_wifi_set_rx_pbuf_mem_type(WIFI_RX_PBUF_DRAM); diff --git a/examples/wifi/power_save/README.md b/examples/wifi/power_save/README.md index c955ac06..888cc6ae 100644 --- a/examples/wifi/power_save/README.md +++ b/examples/wifi/power_save/README.md @@ -2,12 +2,12 @@ This example shows how to use power save mode of wifi. -Power save mode only works in station mode. If the modem sleep mode is enabled, station will switch between active and sleep state periodically after connecting to AP successfully. Station can keep connection with AP in modem sleep mode. +Power save mode only works in station mode. If the modem sleep mode is enabled, station will switch between active and sleep state periodically after connecting to AP successfully. In sleep state, RF, PHY and BB are turned off in order to reduce power consumption. Station can keep connection with AP in modem sleep mode. * No power save: This is default mode. And the esp8266 will work with full power. -* Minimum modem sleep: In minimum modem sleep mode, station wakes up every DTIM to receive beacon. In sleep state, RF, PHY and BB are turned off in order to reduce power consumption. . +* Minimum modem sleep: In minimum modem sleep mode, station wakes up every DTIM to receive beacon. Broadcast data will not be lost because it is transmitted after DTIM. However, it can not save much more power if DTIM is short for DTIM is determined by AP. -* Maximum modem sleep: In maximum modem sleep mode, station wakes up every DTIM to receive beacon. In sleep state, CPU, RF, PHY and BB are turned off in order to reduce power consumption. . +* Maximum modem sleep: In maximum modem sleep mode, station wakes up every listen interval to receive beacon. Broadcast data may be lost because station may be in sleep state at DTIM time. If listen interval is longer, more power is saved but broadcast data is more easy to lose. * others: not supported yet. diff --git a/examples/wifi/power_save/main/power_save.c b/examples/wifi/power_save/main/power_save.c index df1673c7..52154b4f 100644 --- a/examples/wifi/power_save/main/power_save.c +++ b/examples/wifi/power_save/main/power_save.c @@ -10,7 +10,7 @@ /* this example shows how to use power save mode set a router or a AP using the same SSID&PASSWORD as configuration of this example. - start esp32 and when it connected to AP it will enter power save mode + start esp8266 and when it connected to AP it will enter power save mode */ #include @@ -21,6 +21,7 @@ #include "esp_netif.h" #include "esp_event.h" #include "esp_wifi.h" +#include "esp_sleep.h" #include "protocol_examples_common.h" #include "nvs.h" #include "nvs_flash.h" @@ -44,4 +45,14 @@ void app_main(void) ESP_ERROR_CHECK(example_connect()); esp_wifi_set_ps(DEFAULT_PS_MODE); + +#if CONFIG_PM_ENABLE + // Configure dynamic frequency scaling: + // maximum and minimum frequencies are set in sdkconfig, + // automatic light sleep is enabled if tickless idle support is enabled. + esp_pm_config_esp8266_t pm_config = { + .light_sleep_enable = true + }; + ESP_ERROR_CHECK( esp_pm_configure(&pm_config) ); +#endif // CONFIG_PM_ENABLE } From 25e39348a266eada27555897489be97d6ac92145 Mon Sep 17 00:00:00 2001 From: Zhang Jun Hao Date: Fri, 20 Mar 2020 17:11:41 +0800 Subject: [PATCH 2/2] feat(lib): update library --- components/esp8266/lib/VERSION | 6 +++--- components/esp8266/lib/libcore.a | Bin 87702 -> 87830 bytes components/esp8266/lib/libcore_dbg.a | Bin 88966 -> 89094 bytes components/esp8266/lib/libnet80211.a | Bin 392000 -> 394016 bytes components/esp8266/lib/libnet80211_dbg.a | Bin 431848 -> 433864 bytes components/esp8266/lib/libpp.a | Bin 264026 -> 265458 bytes components/esp8266/lib/libpp_dbg.a | Bin 284378 -> 285922 bytes 7 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/esp8266/lib/VERSION b/components/esp8266/lib/VERSION index 1a49b1d7..6b76f341 100644 --- a/components/esp8266/lib/VERSION +++ b/components/esp8266/lib/VERSION @@ -1,7 +1,7 @@ gwen: - core: 71005fb - net80211: 484628a - pp: b7f598d + core: 1eac3bc + net80211: 1eac3bc + pp: 1eac3bc wpa: e1fe83a espnow: e1fe83a wps: e1fe83a diff --git a/components/esp8266/lib/libcore.a b/components/esp8266/lib/libcore.a index 597190a9bdbf7c45981af6e5c864da7a1a5e92f8..e599cb11cf1859526c3b4365016761be25505ec3 100755 GIT binary patch delta 4374 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 R0^mydkACj4hDNwJ?SGK6m!kjx diff --git a/components/esp8266/lib/libcore_dbg.a b/components/esp8266/lib/libcore_dbg.a index c3a01aa9fd0653fd43cb60960dc4459f5128cbde..69e2aba4d23bc55643b12f4b2e067bdad08e2563 100755 GIT binary patch delta 4385 zcmai2eNbH072or+fGNu^BnyjS!@hlxux<#uJQi5K!tO#o#zF#^4~SGS#S*JEj-o_O zyHOm}CJN0%52mTv_?cQYalpYDts#*~qD=#h=@^;NV5Bu_lVIw!b|z+f&hFiI+kbjz z?*4w~cYf#GxA)!m*r9hMq4({C{;b53GPTfC^rrnoSaeMX%m42jN|k;wS5#?zt(Kwp zlIKhD@uif{a{nt<`%>fM-8J*)$HyP8Ka?Qip}y8j|J7@Eo0b&kO(-sPyWQH}nmm{o z>h65Vpp6>zE9V^^{pXus&xAkt^pigvo(a1ry1b^jUw?7 z9wqdgvq%Z0z*Kltr<*R2;VhFI3a6K*O=@LbGMv&jc3FcbSl#T;n3w2gR~2{nWF( zRDC~nX+lfmrd#!}n@h;t+_>5AP4nH>)4oDhLV9>Q9Hd0yV_|!5IAH7;m33v37aXR^ zk0z#Or>D{;Rb`*vnG*=;-Zj(3H=VpqTz^%9VOP_w3DC=p`Rh(OOwEmxilL*SSXPdt z!^50#m{j8(h7>i>&lhT|O7T_GMbh?`tA_LN09%5TnOG|OTs^9>Lk`G>N1%&!l4JIQ zOv4qpTZqD2V6B&wP%7N1 zrg3>wXspHGG=AHUFSazUu

mv(>V4avH|D&-z`7UVojQPhaGmt>2ZPm^yZz_cj_j zl#_lq9x(;<%G8{I)T+8NO9#9G=?ALIS~}ngNNuVsyL4c2U}3!~*-Eru(`8f~wd$Jb z;O)#>*OKPE)STvkhK8;dd)`}8?_^jBz3BXDAhgpUZ3=~Z6Lq>rl5|zljon#F=U_^` zVW|mT;T4Z2(F%&%)NP<^3+a^Av~#+M^;c}AM3zFL{mHNz>R+X; z*qRADhT66|lc7obd5?{D>eZfw(5fBp@f&|c56LmEa-;-ax_!v<=<7*yH|wIqqaF5G zhGuqHlY%UPgPuCVr)Wwv|4uWLrb5#QI^B(eHxq9Vd_VE!f?p)wBKQhwuuJeW+>FL` zG?|wZa?g2l=z|97n!}u?^=p;EB@}aRjAn-5lY~6Do_PsP_N2zGy^c5!_Aqx6vL{HK zQ>z@DY+phmYukMh3W|i^-9IibW!q;+V-Ridpk&=RUUt zn}p&Zg?aLyiO|TW8QYJo!owQ#*nYU#Bfiq(!owQ#*roRiolmwW&c7$B2O}Z}v4WRG z0pBz)7l_Rt7dmUqV;4~w=lNWCSYsaZq=_5NkC89VpC{3wR{8K=!3?0q7iG~X-mHBgln4iWloTv z=x0eYFNi*92L&h4eJpr8c_IgnJnY{_ll}abct&v6BWHm0RI1~cJv<`!mpDIkmxcZf z;bwZ}6@T?)@VBJ1cZ^V`89SWkh0YrD*jc+EbbiI<5|8<>2%R(3%-T$PN4O9;YnKf36bEP zjXcVqkw_!*IFg4o=E*|eEByRYe_n9j`QHf6?`}8MfbhQ~bk>+h`eah@sYvik{Y$~G z3{_uj$b$vgZw41+;iwt9!HV8=_$4gF)9J7hveB9WIbcH{gNz*+&<1uK%b=Ws1`E~Y zV5Nm}x!BIpBJ5{aJThv59RPVFb=N~FfCC?002OcpjxM0Ab7Xb_+zhY;>#XoGbDf{Tu8|R+{2LzXBga=pH1Bhu_2psDsImvu?UZ6Q#TLlZ4?z_osDuOxQ(F{U$arp zix(KmFjpqA9M>{b;G+zcILuImGYrenY=<7G#z6)j(l0R=__2X`hIg^LkYF177{0-C1XAXM=vHC1l=~oVCxlfv zu2Oa_+KLEfa0`KCeh5d4D0vl49u9wo?H&qG;{gvWk><_8vmQ_qw$Vu)#W}^0lUQfs zKkk@cOmbxpJ%)G_$}ue+ev> zPR!SQg&BCV1X5`u&avY(CY2IgMHhjz->gk+%)q-!Ayu;O!0n~fe;QxmRL2gSpis(8 zkMuBl*^-X3mn;*w(o0R+aSMU8Y9|h|I)jH;y^5bRc+gZvNyh+s%P9F8woyp?_ZY({ z9^ho=AfDmm1co_u52B--!pCtWf;U`4Bz5qhT~|dAlQc03~ys6g9rNv zq}sjsb_KQBkLOr@4U;MfUPKqe7;a#A7lRB}@fC)@;y8iikooInps|X-YY62k>T)Np ztfE{;2=C_bAR>h@fQMK;E@P;iDy~rlEo532X;#WGfo%lRb#`noBgb>g$ngyxV9jdB zGs|de4f~#{rk0hMS52yWA2x7Ex0}PY`!K}eHatcl-)@FIXz@j$nn21_aI=p*SFw-P z0UTkq^?95oRWj$`b$-g8Mwg$mZ5Z@}1@H3Hg+w?Vshr5YeUGJf9A{U1)MX4rBwHXN z5m@k+sI(<2MS8svl@7&8*P@cCCQ?`$g*Jvw_*fJUL?P1QQVp%M3Bx2w_vUEw%^A3? zmZUduO)b^@1-l6(&kGo;g~bU+7wL2-@OQP4lcIl_C_VoC^KnwEP_q(uRnYJE`C6;0 Z(CMgNPSqE%b2&KU{>w1(#&S55{x69;yZ!(G delta 4222 zcmai1d2keE7Vp>21T>RO0=YC-PY1{lLni4QGdYILOcFyW$>Z)QP4#v zOAw+#5^0tfl_Cv`1y#!~SV2Q=rOa?BY($7)EvOuEfdXBQ=vw7bR%PFt`KEUKYrmrV z_j|wh`(A(j9X(-zj?OJuS%t??+FS zBjZ~!m#6(A)_US1<2S3OPK}I577m+5JkZl}>ld}&Y}F@4c+JHnE~lpVS7k%Pz^WC0 zu+&aD6!`I-Z>~=KNd1VMNO>94DhvXxOb~nsy}B zG9UiNuGQ9DQ+KvI_IWS-B^Y}b`arXRdd%T7Jg}R!XKbbyf6THQJ$lcVq((8)%Ebm-;pQ0Kj*vfiA*Mx1ugfF%&ph%^% z3+&dBBY_j+V<+NAGZ5m^ zWre*wfDfZ-Q-UYIeNo|sMS9kk{S#`ev}m(gH6*o;rcVl5ce0fdsZlDaw$1u)SEobo zK=A{flz(MtGW0FOSX zF8DPG30#rd@9AQ0BIH?QZXtd{aDLDby%Ouk33*WPIo+sjrHggew(6DFlKuTcNg!k% zeVT66crD>dkV+#2+>15l(L(=B=)Cr6bcOxbgw7iCu>ZEuc~6)_qxAWN z3iI&THwvBiFz>JMyY>m4HRfUe4x#f3x!5mO;3J{4#ync+yidvVD*{QnEKDpi51V4d zvhsoPP%d0FOX#dI5BsaxBj&F{cv!2@>wid&X%)&GQd)KYSIPe8gff>D=HWUGTt^JF zTX=HjBq7=v0nf8Ykr0F@UA&aocpoHJiKcz2;D>df*bw{3Dkloiu|lao~WA? za~<~oM{xe?1rLJg`*TS52SpCT50l9l?i>@rlOlL#1ka1$WrFi(l8-ajSxmS{@KJis zvx4&k=1P8g`^%(KTO$&D>X=6hy<6z~9o{53&oByZ5av^#aGl*kXN`Hd&c{OM&+tD5 zzc?^(vmqN&(Ub@dNW-E;SOw|0Hxb@~44jh$wUCLuNst8!9$>KHxg=->6NgGdCsS@Ze#+4dG^G$^4;H0BH-LRGa5p#sX5tU`Ksn@KQ7UEc9c)X5hXHaikOpUA z7WSo6y*wOCr=$bpGAPQ&CWZnuGN`(SM>8l_h~KeTgcX@otr%BlQdEM0Ov*WNoWX^P zLb+0GVJO2sg~W0^&QO6rFu2ifBbbd%43*ergHG_EMJ4cJuS%j10|e8nX%?w%qaQSw z7vg)E*M;~2=Jooar}B2!WkEFT!umX@r`PId=)>C#X;|qXSc5$T^7*H6%mH=KgpT~6 z>L-xTx8rC&sRuE$fYhbn(|zJPmK9$QP_ z13W`At-<%jkS*VM8I=;40dujo1hT<|Pcn2NGR(zc1_iGX$j7@d&IvPQW2){cNWwZN z#L=v@I?1sIH!yVJJ_317f-t+2K7nMJN*)GbAzlseM$~O{%B{sRpF`j@1 zTUziKS!n%lv-8t#OerPxAXb(JE3aUfj6DSM0UZx=vI8%%+JTeG2)3YuK;DJeR7S~N z=;v?`z6i>5*^4%blc{dlbgaw7f< LKbUtPoJ;&Kl1-&K diff --git a/components/esp8266/lib/libnet80211.a b/components/esp8266/lib/libnet80211.a index 5d2e6a6166d3c991e8073b058fbb962a32967e6f..9ac0318458d2539c3187436ac87553f8b27e235f 100755 GIT binary patch delta 27977 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 AQvd(} delta 26170 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 diff --git a/components/esp8266/lib/libnet80211_dbg.a b/components/esp8266/lib/libnet80211_dbg.a index 7f9aa531e8d4bfb3b2d7b9e0797d9bdb4a11f39d..11a76dff118af8b506d40fe276dffc0e0e3e573b 100755 GIT binary patch delta 28277 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 TeFze111ieup2<%?{@VWyUcOAp delta 26394 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 YOL$c0v@iLIV{cG-y#Ah8+Hp7jKk8{gH~;_u diff --git a/components/esp8266/lib/libpp.a b/components/esp8266/lib/libpp.a index 7cb3b798eeb13af7c4ac5090f37e24421235fd47..10b32286bbe0df51306bec03450349a7743d7b44 100755 GIT binary patch delta 20410 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 OZ$3l0BQ0tFxBmlqJC&6H delta 19694 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 Kx}?4L=l=na%Cgk} diff --git a/components/esp8266/lib/libpp_dbg.a b/components/esp8266/lib/libpp_dbg.a index ec44b598b5fb6198ea2ccc8f16d00fd35131e38f..75a7da932c44b37988491d439122103694c55ad5 100755 GIT binary patch delta 25538 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 Rcfa$kiAgPQO-ydD{s*^|(eMBO delta 24293 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 Y?QRRxKJ!gpXoQ>5OKaOjsbTg102M{(9smFU