From b16a9c29d993d9bd664b8d4bb6d94df5822868e3 Mon Sep 17 00:00:00 2001 From: lorol Date: Tue, 13 Oct 2020 10:34:29 -0400 Subject: [PATCH] Added json mode and worker to editor Example - updates --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 117524 -> 118766 bytes examples/ESP_AsyncFSBrowser/data/edit.htm | Bin 4503 -> 4503 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 32927 -> 32927 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes .../ESP_AsyncFSBrowser/data/worker-json.js.gz | Bin 0 -> 6923 bytes examples/SmartSwitch/SmartSwitch.ino | 90 ++++++++++-------- examples/SmartSwitch/data/acefull.js.gz | Bin 117524 -> 118766 bytes examples/SmartSwitch/data/edit.htm | Bin 4503 -> 4503 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 32927 -> 32927 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes examples/SmartSwitch/data/worker-json.js.gz | Bin 0 -> 6923 bytes extras/update_ace.bat | 7 +- src/edit.htm.gz.h | 2 +- 15 files changed, 55 insertions(+), 44 deletions(-) create mode 100644 examples/ESP_AsyncFSBrowser/data/worker-json.js.gz create mode 100644 examples/SmartSwitch/data/worker-json.js.gz diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 560a0fa10d7a284b356f160f982d03407cc61502..42cd5e87724f3765698a6aef40c852f786905e42 100644 GIT binary patch delta 6382 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 delta 5130 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 diff --git a/examples/ESP_AsyncFSBrowser/data/edit.htm b/examples/ESP_AsyncFSBrowser/data/edit.htm index 95099096172853e05dce9881d28b499dd0ebddd4..6620caab1b5d747bd72794f957a8d78c19ae9827 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF%i^Ho4FEds2Aco? delta 18 ZcmbQ=$TYu^iCw;%gX90S?2YU*8UQ^e2G#%o diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 8bacd4aaa83b52d87a0ee63ff1977aea05c24816..19b5d9e4e6d9b7d5ae8a330732372afda5406eee 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54i4wvZ5!FItOo#2tOz*( delta 18 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 MEMMAX) memch = 0; EEPROM.get(EEBEGIN + memch*sizeof(ee), ChkEE); @@ -199,6 +200,15 @@ void readEE() { } } +void doOut(){ + if (ledOut != ledState){ // only if changed + digitalWrite(ledPin, ledState); //consolidated here + ledOut = ledState; //update + if (ledState == LED_OFF) ws.textAll("led,ledoff"); + else ws.textAll("led,ledon"); + } +} + void showTime() { byte tmpch = 0; @@ -208,13 +218,13 @@ void showTime() now = time(nullptr); const tm* tm = localtime(&now); ws.printfAll("Now,Clock,%02d:%02d,%d", tm->tm_hour, tm->tm_min, tm->tm_wday); - if ((2==tm->tm_hour )&&(2==tm->tm_min)) { + if ((2==tm->tm_hour )&&(2==tm->tm_min)){ configTzTime(MYTZ, "pool.ntp.org"); Serial.print(F("Sync Clock at 02:02\n")); } Serial.printf("RTC: %02d:%02d\n", tm->tm_hour, tm->tm_min); - if (sched == 0) { // automatic + if (sched == 0){ // automatic if ((tm->tm_wday > 0)&&(tm->tm_wday < 6)) tmpch = 0; //Mon - Fri else if (tm->tm_wday == 6) tmpch = 1; //Sat else if (tm->tm_wday == 0) tmpch = 2; //Sun @@ -222,7 +232,7 @@ void showTime() tmpch = sched - 1; //and stays } - if (tmpch != memch) { // update if different + if (tmpch != memch){ // update if different memch = tmpch; readEE(); ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); @@ -237,20 +247,18 @@ void showTime() else { //enable smart if different if (((bmi < emi)&&(bmi <= xmi)&&(xmi < emi))|| - ((emi < bmi)&&((bmi <= xmi)||(xmi < emi)))) { + ((emi < bmi)&&((bmi <= xmi)||(xmi < emi)))){ heat_enabled = true; } else heat_enabled = false; } - if (heat_enabled_prev) { // smart control (delayed one cycle) - if (((t + HYST) < ee.tempe)&&(ledState == LED_OFF)) { // OFF->ON once + if (heat_enabled_prev){ // smart control (delayed one cycle) + if (((t + HYST) < ee.tempe)&&(ledState == LED_OFF)){ // OFF->ON once ledState = LED_ON; - digitalWrite(ledPin, ledState); // apply change ws.textAll("led,ledon"); } - if ((((t - HYST) > ee.tempe)&&(ledState == LED_ON))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. + if ((((t - HYST) > ee.tempe)&&(ledState == LED_ON))||(!heat_enabled)){ // ON->OFF once, also turn off at end of period. ledState = LED_OFF; - digitalWrite(ledPin, ledState); // apply change ws.textAll("led,ledoff"); } @@ -263,7 +271,7 @@ void showTime() void updateDHT(){ float h1 = dht.readHumidity(); float t1 = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit - if (isnan(h1) || isnan(t1)) { + if (isnan(h1) || isnan(t1)){ Serial.println(F("Failed to read from DHT sensor!")); } else { h = h1 + DHT_H_CORR; @@ -279,11 +287,10 @@ void analogSample() void checkPhysicalButton() { - if (digitalRead(btnPin) == LOW) { - if (btnState != LOW) { // btnState is used to avoid sequential toggles + if (digitalRead(btnPin) == LOW){ + if (btnState != LOW){ // btnState is used to avoid sequential toggles ledState = !ledState; - digitalWrite(ledPin, ledState); - if (ledState == LED_OFF) { + if (ledState == LED_OFF){ ws.textAll("led,ledoff"); Serial.println(F("LED-OFF")); } else { @@ -297,17 +304,17 @@ void checkPhysicalButton() } } -void mytimer() { +void mytimer(){ ++count; //200ms increments checkPhysicalButton(); - if ((count % 25) == 1) { // update temp every 5 seconds + if ((count % 25) == 1){ // update temp every 5 seconds analogSample(); udht = true; } - if ((count % 50) == 0) { // update temp every 10 seconds + if ((count % 50) == 0){ // update temp every 10 seconds ws.cleanupClients(); } - if (count >= 150) { // cycle every 30 sec + if (count >= 150){ // cycle every 30 sec showTime(); count = 0; } @@ -385,22 +392,21 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT)?"text":"binary", info->len); if(info->opcode == WS_TEXT){ - for(size_t i=0; i < info->len; i++) { //debug + for(size_t i=0; i < info->len; i++){ //debug msg += (char) data[i]; } - if(data[0] == 'L') { // LED - if(data[1] == '1') { + if(data[0] == 'L'){ // LED + if(data[1] == '1'){ ledState = LED_ON; ws.textAll("led,ledon"); // for others } - else if(data[1] == '0') { + else if(data[1] == '0'){ ledState = LED_OFF; ws.textAll("led,ledoff"); } - digitalWrite(ledPin, ledState); // apply change - } else if(data[0] == 'T') { // timeset - if (len > 11) { + } else if(data[0] == 'T'){ // timeset + if (len > 11){ data[3] = data[6] = data[9] = data[12] = 0; // cut strings ee.hstart = (uint8_t) atoi((const char *) &data[1]); ee.mstart = (uint8_t) atoi((const char *) &data[4]); @@ -411,8 +417,8 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT memch = 255; // to force showTime()to send Setting showTime(); } - } else if(data[0] == 'W') { // temperatureset - if (len > 3) { + } else if(data[0] == 'W'){ // temperatureset + if (len > 3){ if (ee.tempe != (float) atof((const char *) &data[1])){ ee.tempe = (float) atof((const char *) &data[1]); Serial.printf("[%u] Temp set %+2.1f\n", client->id(), ee.tempe); @@ -421,7 +427,7 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT showTime(); } } - } else if ((data[0] == 'Z')&&(len > 2)) { // sched + } else if ((data[0] == 'Z')&&(len > 2)){ // sched data[2] = 0; if (sched != (uint8_t) atoi((const char *) &data[1])){ sched = (uint8_t) atoi((const char *) &data[1]); @@ -434,7 +440,7 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT } else { char buff[3]; - for(size_t i=0; i < info->len; i++) { + for(size_t i=0; i < info->len; i++){ sprintf(buff, "%02x ", (uint8_t) data[i]); msg += buff ; } @@ -457,12 +463,12 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT)?"text":"binary", info->index, info->index + len); if(info->opcode == WS_TEXT){ - for(size_t i=0; i < len; i++) { + for(size_t i=0; i < len; i++){ msg += (char) data[i]; } } else { char buff[3]; - for(size_t i=0; i < len; i++) { + for(size_t i=0; i < len; i++){ sprintf(buff, "%02x ", (uint8_t) data[i]); msg += buff ; } @@ -488,7 +494,7 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT void setup(){ Serial.begin(115200); - Serial.setDebugOutput(true); + //Serial.setDebugOutput(true); //Wifi #ifdef USE_WFM @@ -511,7 +517,7 @@ void setup(){ //WiFi.softAP(hostName); // Core SVN 5179 use STA as default interface in mDNS (#7042) WiFi.mode(WIFI_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) WiFi.begin(ssid, password); - if (WiFi.waitForConnectResult() != WL_CONNECTED) { + if (WiFi.waitForConnectResult() != WL_CONNECTED){ Serial.print(F("STA: Failed!\n")); WiFi.disconnect(false); delay(1000); @@ -545,15 +551,14 @@ void setup(){ EEPROM.begin(EEALL); //EEPROM.get(EECH, memch); //current channel, no need readEE(); // populate structure if healthy - digitalWrite(ledPin, ledState); Serial.printf("Timer set %02d:%02d - %02d:%02d\n", ee.hstart, ee.mstart, ee.hstop, ee.mstop); Serial.printf("Temp set %+2.1f\n", ee.tempe); //FS #ifdef USE_FatFS - if (MYFS.begin(false,"/ffat",3)) { //limit the RAM usage, bottom line 8kb + 4kb takes per each file, default is 10 + if (MYFS.begin(false,"/ffat",3)){ //limit the RAM usage, bottom line 8kb + 4kb takes per each file, default is 10 #else - if (MYFS.begin()) { + if (MYFS.begin()){ #endif Serial.print(F("FS mounted\n")); } else { @@ -654,7 +659,7 @@ void setup(){ #ifdef USE_AUTH_STAT if(!request->authenticate(http_username, http_password)) return request->requestAuthentication(); #endif - request->onDisconnect([]() { + request->onDisconnect([](){ #ifdef ESP32 ESP.restart(); #elif defined(ESP8266) @@ -672,7 +677,7 @@ void setup(){ #ifdef USE_AUTH_STAT if(!request->authenticate(http_username, http_password)) return request->requestAuthentication(); #endif - request->onDisconnect([]() { + request->onDisconnect([](){ #ifdef ESP32 /* //https://github.com/espressif/arduino-esp32/issues/400#issuecomment-499631249 @@ -726,7 +731,7 @@ void setup(){ //OTA ArduinoOTA.setHostname(hostName); - ArduinoOTA.onStart([]() { + ArduinoOTA.onStart([](){ Serial.print(F("OTA Started ...\n")); MYFS.end(); // Clean FS ws.textAll("Now,OTA"); // for all clients @@ -742,5 +747,6 @@ void loop(){ updateDHT(); udht = false; } + doOut(); ArduinoOTA.handle(); } diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 560a0fa10d7a284b356f160f982d03407cc61502..42cd5e87724f3765698a6aef40c852f786905e42 100644 GIT binary patch delta 6382 zcmbO-js4wxc6Rx04i4AfZH??(*%=+S*Ppz#^NX1vbK#%W3VIwX#pTS8C_1ooxC`)i z9?vYh9x44N;!Wx8FPAs}Jb&YME=Q<}-oO7g^LEYrsN%JIw&#lN58maoo%?YmKdS(HKUe#|_q(4`>i=k^dUbS&#Z6%+Yj6MCiw)oDTi@p~a$MfwHNVKG zZb@qW>Q5Ugyt~z3gead)C`&59;s423o)UnNlyg^3p2Pjjb!4Vxyuj zA6~=~R=cG5UV_@{ZJEzEoh@w<+A%w0T2^+1>Xt z-#+;CvN&I?xEH{Z%6)y>hS#6NO51pi&pvRs$ZTHOp;Eti>rT&x2i4aS*?UEl75D{W zN^f1}epTJNG;dj`NcW0Y4_CeMm=SL9MCkC&hd-`=bqHBnT3NH|z%IFtRW1Cpjh8UK zioEV@WL7aF?T9=}gdAt_w6D*@Z7$C^skvg6p@Y7!liYT@oP~;$wl45^+uS}?PP{5a z(@@>$r1_`IesK%tz*Rc>^dHfZIcv&9b>nNd7B2Nskz%W-nAq@oJyZTkQ`r-7%J(;Wg+_B;nUt}*hqdIWbK;#_ z0ymUn0;FcHQ@H3T^o>QdVfJD(Cu=XMgj*64yYzZ|?3DMuH(DlPYg#{z!B=WQD*Ji^ zsh&g;L%9h>o3DTWs`=J&!^eFR=3g&3E%mkB8juhiH?>LV#+A$5#*vRJnU_~JEj_?? zv1;2{iyLzoCLYhze)Ylmq}P&#mzKE+uA3apxjKl=v1EbABIOX*^fdyLemY9~MB06D zIab_p_GD$iiG9uCCVmHvoL{(9)?Ysoz2VQf8jFcmmyLeRD~)3E`0Fa9`&E4RqlG6n zeVY)~A#b|AJA&O&)QEG5+k;^5N&ieHizEc;uD*Bh>X$x)_yf~UI#X+TxC|K-;$1)e{q<9Bx^rJ-*DaKYVuo`249-vtP6t1+~QoYD|~dfA#pL z*`Ad;C;8vG?Dy7N*A@3C<>TaY`78bEjhDEmzb}|RL;3#gMdH1aFNQt-C9U*#{qFpK z!P=@Xx7OdV=DgTB%*5C0f*;85nzy9sTEpHCgUua*c_vF_3l@T1% z_NPDkm)Jbzu-;D(UMUmV*OU6siraqLSTkeIZ*%SEKJza;tG{votFWlAWxmGBy+<-L zn&-O3$j%A*|L|Q*+2Xc^278`s-dXYL$jb?gM^>qxV%nH^xQ%tvW7qbS1uG_p&GljN z`txqiA*<_Q@Xi6t?~$~&S{madZ z%Ixp1=18zSk>Rr29R1~AmNwfqfn4@KSr?hAZ!_*USn}L3RKVZI^z;(mwQm+JSa$KN z|MfFD3t-P7$H(arT^h<@XlX{<-LBdh6-?X>b4EP5=G6?$!MV|2EDR{%0Nj*s<(In}7MS zg+-V2QpF9W5AuGD|5g0Aek#Kr5$^gFrVTSLa!M#$F)m&({mAV(mM%tn6(;h!yW0ME zdL~;qUO0Qde`v$)uYD4Y&ZZfYRw<>$wal3-ICtgoF#Yh`CzzL*$FAB^I^l2Xrac|c zIHaODW>v4e_`OBG{r11gPTdPH{fjt*o>o_1j#SY(ZSi3C!^;Q4E=6A2Yur=d)h)G2 zy8epqs@2@PK0T~d48L~i8M93p|9SH{n_PGAO|su#Fumli$!*oLH-A*u&t7J0zE)2$ z=z`SkyR{F@W?$P97P`#y?t>TX{>ASP?O3?`^)uNCRaRMRotIcgyXxIK6=!mSZ;M=v z+#fc()WTU8nm>4ndFpof>=K+}UX4D`b2Nm{<-n9is!b?m3Ge1i{TPa zu-hy6`C{*WQRBn6vp3)U`ki_C>@U8i^VbFSR9t^x_+d|R7^_UVWVxJYvtnVghP_k$ zMwa)p!tO?0*q!m_;G=zqpL5$N&63_z-NLqo5`o)oDzOxpEaazu=761L`*PWfbwJYy&9w|G*Bk1P6AdN?_g>Buj*S{E3 zq#jSYBs6`>8m_RydB<6`)UVD=lm3^dmTlL`kTG>)6}N`dE7l7&kLo9Xmyt8qWZQLw zt5#99rGZzxE=y`BuEXvPB?yL15p5EH~B-n6zkl^&=KfmVI1xwfDRJ<>4i4Y60xPDpk2zRttSJHVI ziH2=vs-3*SLX#Ur%DTtN8(E_pdn9wa@o}OWK!}Zkiu{1gdyVFS*jpmF?Sddcp)z zzNt<{y;jHfxBX7s@Fe`Pwd23o=IwC_$L`*D*;`e;`|}Egked!Up$#A0o-+k+sgEo9 zyEIm@%WuZ~@9$X^t|`scc(-!K7sm4`XQOr=n{jjDfiio}T}nAS&%_vOL`>MY=7FvA zOz&jfoOw%wit{{QD(Gq6@%or=@F^;;gv(L#hmpEcv%*I0Gdp;@Wv&a)h<;hZ|WXsY){)5Gp|ub@7!9UyK;PXw?t=_{c79#<>$jiH`1m(edHlsan^U8 zP$qYzNyxk94<;}9c>K}TMYdkBY49#{NFg<3sl?)|X4HzQ`x@ zruDO;Ol@A<-QZ)X4>uaWVw?NSmQ zvv#>;^Ze-SRg5^QZ#Ut5!`|<67_L7*+AaKG{gjOTix{^rnV$8tqWlVv)A^SV^b5W} zDmtE=H)Z7y4cp_#pFeQ=`6u>~>fGz)FOI9Q)qgszuxoB*iN9i5?W^`{+CC1~PlfHR z(OvrU^5d$*>T_&5D-Z0^CL&apYAt(PUVJStJ!rq19(mw`ix_wj>2+0jOH_0?*S4qTb*V23l$JPUT3Ds<#+PNP-d@?3r%b=} ztTz7L*xgg_tg~{`Jbvr57f<}SDY0b7y$9NE$F7@ZJU{rIUsyr;-No{EhcCsgQHh?g z_1cq9+a^za7X9>gUVK@*+B*{m6SJwGzZvkfFH-$omb^0DXy5Xt%vK~^7go~&B;#_>?O)uh7{ymB<0xMJ&9Yg=pDUpOh=#+N5r zUvkqnbJh|4ZFM2b4u5-k^yJ3IfH%)IPR)NC`?5&bkf(0yhQk{d&KB@uPBm`ybZ#vA zzTl~hTBg~{OD5cw7PrfvPp(<}xb&3i2j&+S)Z(J2<$6xrGpS~6-P@wQ0ZTU4#YvvI zbZ?H2+mC`17wxQ;Y<8@32(J%cR8s!->aMfcv$uGM z?QNT^?WdO-M!KuYm^&X`S7TS`<9RLPRLU0_!PJM}Y-a9^U#)G~yX?>FT`N{s|E<67 zUg@WCAxP$xL;p{~+AD?jSK=r0KU>3eJK5aXTL7K$HE$$53@vwWF_!}IPr z|5sV6yl{ENw7E+nd7;nSuT_>0OSgLX-gnmIPiqIpj=T!@9 zqaUl7PtszFRZvoK`{KG-<@AY_Rc4MWueiT{l<$0P>q5@Dzppa2W@n#Rk+W-YKHmXz z5i2Q9P1Sg-!iizN7prC-SSL_XF6J4&rbEG9$K|V4!*7SsKO7x<)edX2>e}`(bL7+| z3Qo@2{-}P6#yJ~@rQxe;8z&v`UaGOe`be=or>OtJV`l_-?Yex`{x%g=nxu4`o~7{j zhKX8LwoGEtl*lq&%dCV+%QbcWaha`QT+r}lN8ilnp;ww@7Q{*RaUFA?Y3hGhbBn}# zh3<*Y35M>w7B$TOymD&mCez(c)w=W6%Uq4V`~BO?IJH&FLkKTNz*-E-O=}U zLTFOqzdHiSId)Sns+D>=2{bG4NV}I?$!yR%a_iQn$`q;6mk%GB*edvGPD%2-wEs?d zTfovUaeC)0zvZCsMEb{@SX4W#!hjch~H5W7W@E;+MNt=lrzo^Yi+m`J>sl+m-C=36tMnyKx%d z?e_EK<@QTorhI+pRlR(hb>7|A>)zbGyYtez`l?-bBJbU(`S|AE?ULf;*NOG-3v73X z-;eqC=fmIK|JL^AyuA5&>fzPw-sk7r{;T=__uR4Dzphy^ec$Z9Htub3)&CWybKl&l z-M`)HX4Jja-`Dfr+Wafy{kO~IyYu5~as>OnZ<}}R`tkPfY|W0FBiU@jTK!TPI`IVx# zUNQY8{i!_jcB)Hh^#3g4O*V0g`>s$V`SNf3Q31ip#*a=NUs658PkS?`nx9Ophh4ke z|D`J|wAWZ`YLt52@il4w#_(H1?OEA&6|2NoEfUE~{#{>nI{Z|cW5DHGJRkfoF?gNd z@W?N0ef`$Yk;YpBqEw~!o-R`^jCykU%9>q|?lN!(-B#FF^z_%)y8B-e@;}Y|a4hWg z^|K7GHJ;s_8<(~6?ZnQv{Oc9xKS%^%g!}?D|}tlOEu7}cSidkmr+rh+YuojwU!QsP zXP4_SjTVuhGi(XvZEwGZm5JnE+2VX z|7mN9igvEgvVzt!Z7a9B8n+u7%x#`M~P~!3FhV>)KTh z3S24wn)HCx>$_d9y7H}b`#DV4SIuI+|LVuV_p&KJTz4K6JN&Flb=3@Jp8r3UP9z;N zbNj_~-*v&(gc}l5eV7^U^Tjnc1(lxPJ)yZ^|EtTk;<-jfOI|DPwDVQVxH{)|+|ryI zKcz37Teesve{$*WuW?<>_YE}N?<=l(m$8oq&59Rk&d~n z7RR~PR0020C#DN!=wOsSrOegl-Xn_** z3CGwuWpB5i-uj+V?LF^@iGIadq1*R$dTVB!-SR&E#mk^i_rHHz`KrEr`K-?o-|w4o zYrN;G`ngqG%!u!r`tL@Mbcq{Nn>(f%eS1?CYGipqIH~k%n#uj{=(wqSgX%ddtF7e1 zejT4QN$anI-mZ4txgIC)*-ZX@$>Wny&(%Y#Y*e!Seg^q$QZi)77QR?!6ze_f#_n{> zpyb(;1(?q7mh!*2py;;S^gm2b>->E7w;t*4pZL%4%J-eshAVf@c(JQ>#hr^Q?r=U6 zbB}ag_UW7Bt@*Rm9__vz5SemCps?}d%lc0yfv@|;qHSEHm$>ftt#)~S{`Gs4DCykB zg$$B^xO|M2B6Rn&35NBvb)9DsE?*P9;85#^yr?6hxA{+3wfb{KXsRDoPl!IaVqNT_ z82>`Z_gkj(x(woyd%iz2j5C&aFPfB7;>aF-UfF(GpYGd|=b{$#*#E7I z*`0sz+=DOE%wrd|^vVPah?y&2Gd>hju03nYX}(oy!kZ52Z(H1O?(9z|$qCbq&wrSb zYxKyu?$oIVbCeST`nnYzm9?5opZ#u7+3{%F(-k{nTF=h=c9E|)t2r&vsn#+~X~Q`+kv{mLUabWg{LA7WZvIS+-GRH&@` zT#&+jQ^Z#^_f_Behp7n@Tty_(1*}rHJ^$}p)H2z`PWpbBZUNJYsr8SIg_kav!79dD zwDZYB2HmOAuQvbR`Iuu@onWcUVzq0FA|EdZ-+bm<$sHe)r;W8IGW)t^4{9arSsE64 z1ZUj(y6Nw#s+T(_f4tkh#az<9JjQmqB3Fr=%G0QII&F^^EL?OWHSO`ro$myb=bj8W zAbINMB)`)fM`NOzRPBTVmj|{Ts6X-f`EjLN`Ad>?Ex+WqHH2(P;Y(_(@UNP3H)GZA zE3UOMuCL@?M<`Y85t;JfoVZS)y7_PK2`4vlNnNt4t_v-mw3zLr;_9r>JMml7R&8q9 zJ0T=QRloSZ>^0SE4ZA*DR}}qHwz2&Baf#7|HMIw$nD1{(KACg%Qjk&+bFl0V{YCrg zH?RNTZne2nU+4UHJDGofI4<6>_b^`S$L_>`WTw+ZE~!bo($=S6d*9x;W2@i1@9dxT z8Qx4+F1FrzZ#l2WoI7imDp!404L$w)lj`=Gg|cGuY>^e2+94vB{`Oxpvo^mq%XZnt z^}L=T-)HDt=E!-P_9yU9b^E{CziR%+`*@q|oF`A%7yw;_V=n*z delta 5130 zcmaDipMAl}swJ)cZ06~dzLA{1?7^j!2YjpBoMh6Z zBTMX0uZT}Fu%8I%#$({rO!tHm9t>FTs7i z-xJ@|ue#H#m#KMi^?|ugth;^fU#zRym!Eyy^M$@9~^JQE0dG#7PQXDyh0! z!48XB?`ZD1Rlv%;`ioVL?j}tYj+D+DYyr=CV!F+JLX>J*c{fD`KaJ6qNSV7> z2CKQ$zTUdx6D3l%hFADw@p5Nwu^kVTFLnslteM5;YVZ2V$IEZ4ci+gyyBU-U`FUn_8=Y?fytG}>s8Ljo?i2A!M)|O zW)m+-rLb<|;x)JykiCR$Wj1Ss;TPTZ50Sf;WE-5=5x3;@l}x>jsc%fhPa55uI!A1i z&)(;3VKZlGZ`c(u!DW+6cJ?&hEh~31JhD7{y-Ccv)hp_iQ1r5}9h1+zYKSppR`;lX z#}chjIb&^$Y@{M+J$u=bvwE2@_3b^l1CB=t)iEDW-(hGc7GsCrqCy^tHXQlaXz%;k0NG z)7H=%auZFBxidn}?P@>BXtFppgJm5@oai346^-|gtczROw?I^5>-Fo3`cKc@=&Sd* z5%tXN-KO<&dhs^N6F+A}8wp2nc7*Fx&h^@??70DWNgJ{NC30_kq z-+hn`_DD87sDG~fp-W`}5v`mP^hA5Xit?K=K&>Z>pM&L(?I zlJyOR3!_g>e4Mi5s>M&I5Wn;LejdK+etF-w`pX_%OO&Ty*kAnCB=2rQHP489ZS2Z>-)71aDqUMRR{LSB|c5TVF z{QOBI@1OLnua8ZAFD>Z5%(Bnl$lbPOeY5Q}6{BqnLY{SfV5soV*t3(}sLJ8)#W}K- zMFO8PBK!^N+nlby=}N1A`nOU0a{e=2)e?zKA@_rve2y8;3_AQ{%c3=BH8p?FGJEX0 z@Wajbp^lp?-+$aP=k|wpo0R9scNs766AV_ceyK5U*Nc7YN-lmb2vobdl(S4kJz0t2 z;6JAqJ9n_qA2}{4MtNd^*#lWmoPj$=SlR zQ~O=JwuPO=ft%X@k5}8Lt?j=nKX>n5&(rrO=l?IdzujJMuYK{m`V$tv>!1Izu@EoW zo%5*W)O*SF`xaZy_w!$TZ2zqI?`I9hfTMzmOaVUEuIKR`;k@xBkRjcAzi@KL=J)Ao z>~&v4rnJj{zf|B?TYvV_Ke2jIpFd}+#F%A1ITx4x{-)E{edgT!`JT&cqRWd?cn|Gm3=TLg;S=I)!uQy^bmT|Im6?t0(6 z_t!Ypntpy=_~N{DnFZ7S?u@Nm_u>n9yYjY(Tt8rJWpSlWD=*ccC#IS^W>4zsBUk@1 z{$6A9-P`Nx0@vD(S7%qPnf*E^G3v*J9oy5zX1?2SDJOHuhRj)E*SuCfy8YF&(A3NI zqG)Pxc5u75;FVLh7dD4-1&A>`Vp6j_UsvW_KW~$za? zG{Yc$^^xr_87DuyHD7lo&;1>)@0EDP_g)TJ`2O#tH6kb+IoLMDTWKvi0q^`c4)$LgJ-&qx&D<>U_?!V5SxA64@@Az%M zJi7m6K6zPhF;Uj{qR3Uj1D}>Nb3KY;VwKBTKcTf}+D2B(73EJwdft57# z`&Jt_OqeZwecA(-a5biuk1s#k7;SOPdSE7ckD;f3Ry}tfSFzTLKlzOpf6n1tx@_t6 zS-y-LCqDd~*KW>IG^HS*r}$KCot5gs5 zom#PB^^8>Sz%?t>y>A{2(n%3H7WtW%>tvgveA@*BgUZH*^Vjzoe~PY4=8&Fxf2Gho zk)ng1VfPrF7Je~Wus~$Rq|XQTJ-F5bHOC9wMC1= z0$Cd_eq`lLaa}#dmC`^2?8&fgNUXCu4O2gOZm#Qwy+UGrB({{JT? zVY}te?=HOh)ga@c|K7Z~hw=BNV|+DBO}0htz4q|QBY*EavnT&j-yZ$>@yl_O_f=^d zO3v>MzOHhhaI>*h{1&yZzvPtVAL*2&FL>j9{`Hy1_L(Lx(q~y)tvUbv;zobz()v{I z#W#PK$C|9J{(IfMQ$1tpVO~AQ{+}IoS~caaf!_^3KIORlSYd~Lk-_3V#VZ0q(wi)B`Qn@uaGx@KKE%b>4ZxU_$j+^qzO9n8TQ;`?eT*$j%7@XjA~MOB#rCp?PMEnFgx_?J6bwDc3reKh<#0z>4|-g zkK&vp?0;X6$lto8v`ZC~A`8KExopDMlTx^&^`3h$#@isFkW#i=(uy4=tgo2tEG zhVz!&=4SOJb4xTgEkFOEF{EnUE$%5SyFxdz@E)5mU)jk??AR1lr)I}lDJM4cy1t(w z^w7&#$7#81N;mZBgI$q-Bf9 zd^Y|CNB7+FFf8n|cQ@AbSx{4DJWa{+XzaSZT|c*~eqH%$ZoTv#o+=lXLurltPue-J zZ~GPZqA#~b%k%4>xoUC;o;2T9tZDR^U{G+-BpM>;IQx^u_;p0z^PlC`@O6c-(0-?GuOqbYr3XwJUVcC}rq_KzBx z&L7;hPCABXp%|}<&NQC-uA_Il6=odzE%h(oMNQRkOYM|1QjroDHu_CkWw~y9`kLYl zpX*L97OyJnj=g;EVtx4XkUu*gz6x1;mwStp+LzRj<+oOC3OKiW?FAdd_FnhjsjKGS z{hIx6huyAMU#IP}zh1xkYu_F2vx^(6KJMNee|=i)(J;Q~zo!>l?=QV!SLha2U$A8B zl;@Lw-^_h%@T0DBY2T^C@5863pFjS6?qTb-xi?Q27Gzm{x@13Z2LI=C?|*aG-V4*) za=R-$KI3wCTKTozukB}gJPzEwI`ZL*6QB3YxBu=Sr@C&xq3^##Pv&N_3NK!=BU&xi z^RV`1-b9+|-%XW7$N7yLM;rkrBr?@S;ELMN0hV8gr!lZQBGO3vM ze{*6tER;RG%;H_(q36thr=BZ`%%7DU@nrAby$y@QmU3PEyzg*8yN1|qFFhUp+&?pT z*Rh;mJdwGggzME;zpsXsuAVQ;h3_fkH(n23c}oimdq9KZO66_GJ5hSc0#hs#_}leoe~evX$v)v$YmZ0#|D_?EftkU3n^y>mao*$cG_rrCzv9J#dOps) z`8&gBn7kH#E`71JtB_~b@r{35{+Jx8cw%+>gQyUzn|a>{>j>rpZx7VXS$OBJ{(QDs ziW}a(S=7aJbiu;*Z(E<&?O2n+{by~Y%%9WWMgJV^PW`)KabCh&*9 z``T`I!Oy@ZhBtl*!2pS9fzyOjuPK#CKWtNoiDC#*Xs_U%G4LE*^fo`%CIF#XIZv2~;tp_8R(J zdunyr(dq&F9RF66SHYLwt$n+jEqY!jU-x6BU52tbe90GQ);&IJxLI-joaVC|uNB-7 z77?1}zUNH+gAH$gY5Vf?%{aA->tI4wi}Rj7%>!DQ7E-p6Z>KI>W`W zhF32cxv&K-F>3nKvLbikri{%;_AR-yOMa!CnRYcDDnz(TXyfv%bdS2G>ku*Wu0g#x@Z%jtlvL* z*?#8W*nfdPua+;p+WO6OTD|1G^)s1-_pIny5%YLcA$#M`rUjBaPI9sQw6k#w6*Q}e zT;6;wHm07frR`no)hyGc1^Nn~{Jrj6vYUD6p|n}}6)&d7`-!PqFncFqd@8X6>Z@k@24qFzh>j~dfd3-|l_LisRc~=VMZvJbpuVeCE za5DUU{}-2Mukvcwe2I-X%Dq}-xlw<{UY=OK3{JkP$kZ#juFKMwh1%3xM%%L+nlSFx4L)`U+tPV`+_&nKgS?$TK&keTLzV_hg zea_sze4W9*;}?&zTld&4FXw%D?OpH=>pAs1jyEit;iICqE=OSMZ@#I&R~cJg)Be=T z|8Z?vylegGu4~GNyHacCr;*J@_nt38_;x~(sFUe2_L70{14_|3x0++=%l){-I5q1Hfwgq zs|NheOx+qR*}ex=cy|<>O_cIe|DIo=ChKr5GH2DyS;fkoCCh_S+oC$t+E%W}`J7z( zl&39b2aovFd+gy&dqDV!97-uZUHu(`wXW09GH0X?}C;I6CeC~5^#Gj zrxgG1qA5!@I#2UkS5jYGxLL#QfxyA*w|&@p%nw|?BrtoszGbxMr*Ep0i#BJ9Zs_7& zQ+$X)FezKHj@R|L($O0SXT6zt+BR$A(XVDIuNc)lk}dzn)koAAJ?!~xWNReY^?J|6 zz?cIXm#<85*VIn^JS%_pt1E$__uNxN4v9>#S|YlnW@++4&YMkku7!L~_4@6$vsH_7IZ=Zyo;o$!#yV81wjZ2M^Dj_4Z5Iq2F76?Jd!J`ABg3QqRV-BL;S%@H|y8BTQe~PS diff --git a/examples/SmartSwitch/data/edit.htm b/examples/SmartSwitch/data/edit.htm index 95099096172853e05dce9881d28b499dd0ebddd4..6620caab1b5d747bd72794f957a8d78c19ae9827 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF%i^Ho4FEds2Aco? delta 18 ZcmbQ=$TYu^iCw;%gX90S?2YU*8UQ^e2G#%o diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index 8bacd4aaa83b52d87a0ee63ff1977aea05c24816..19b5d9e4e6d9b7d5ae8a330732372afda5406eee 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54i4wvZ5!FItOo#2tOz*( delta 18 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 acefull.js +type ace.js mode-html.js mode-json.js theme-monokai.js ext-searchbox.js > acefull.js "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 acefull.js.gz acefull.js "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-html.js.gz worker-html.js "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-javascript.js.gz worker-javascript.js +"C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-json.js.gz worker-json.js "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-css.js.gz worker-css.js REM update SmartSwitch /data: @@ -25,6 +28,7 @@ pause copy acefull.js.gz ..\..\examples\SmartSwitch\data\acefull.js.gz copy worker-html.js.gz ..\..\examples\SmartSwitch\data\worker-html.js.gz copy worker-javascript.js.gz ..\..\examples\SmartSwitch\data\worker-javascript.js.gz +copy worker-json.js.gz ..\..\examples\SmartSwitch\data\worker-json.js.gz copy worker-css.js.gz ..\..\examples\SmartSwitch\data\worker-css.js.gz REM update ESP_AsyncFSBrowser /data: @@ -32,6 +36,7 @@ pause copy acefull.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\acefull.js.gz copy worker-html.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\worker-html.js.gz copy worker-javascript.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\worker-javascript.js.gz +copy worker-json.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\worker-json.js.gz copy worker-css.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\worker-css.js.gz REM delete temporary stuff diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 7b9c3b3..5a00089 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x2A,0x97,0x6B,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x89,0xFA,0x86,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B,