From c7e907451040b8a049248231869e86159bac0b49 Mon Sep 17 00:00:00 2001 From: Ly Minh Phuong Date: Sat, 21 Jan 2017 21:03:47 +0700 Subject: [PATCH] Enable revert state mode --- code/espurna/config/general.h | 1 + code/espurna/data/index.html.gz | Bin 3969 -> 3977 bytes code/espurna/relay.ino | 13 +++++++++++-- code/html/index.html | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/code/espurna/config/general.h b/code/espurna/config/general.h index 3d78446c..4d0e3b5a 100644 --- a/code/espurna/config/general.h +++ b/code/espurna/config/general.h @@ -14,6 +14,7 @@ #define RELAY_MODE_OFF 0 #define RELAY_MODE_ON 1 #define RELAY_MODE_SAME 2 +#define RELAY_MODE_TOOGLE 3 #define RELAY_SYNC_ANY 0 #define RELAY_SYNC_NONE_OR_ONE 1 diff --git a/code/espurna/data/index.html.gz b/code/espurna/data/index.html.gz index ef0a84a58a090b4305112cce31ed0ec9ccc410ca..4e3c56dc534d1012e5d9f9fe9ba9331624931a54 100644 GIT binary patch delta 1880 zcmV-e2dDUfABi8Z^aOvR_WlI4t<(T~mwVl^@7oJ6EKl>qye%{QAOO>%S@=8#v+K(k z%wfolwaT6#8?cocruuY8@@2da=E6AKp~{xnM9p_cS!g7YS>0G3$FZLqi-zlM7z@!{ zY%C|UjOA9*6ox96+7_OsZ02{7Dh8`k#ZGXVS#&aOLwC@G#{qx)SEkLR{p{u^XpP}y zbP@cSjOyCj(NK-ZU;+u=hrp1NfOA1$UBo~N9DEhQ*8R$T7HUy;E(t!^hQUlIFSeR@ zv#jP?#XlH3muY*sg*eW`aEu;^?ZLtWaX|xM3f3C!LNOyFu|I7-lb*Ll$9{iC&u?!Z zUxp$sDT6`45;1@8g(4_97;->7Gb)0mRnOLOO>2-)C&Y~VBF_DbXJW8f@xoqiu4s**u)T#CXdF~Uyn4*bb!}ckt9aLV1nAv~&90FD`8WJiu$&#er#Lj1%j<+zm zt@B=2GjUW#*5C&KK2%?5?g&6WC zm?WTX5I<=aVP=7w^Bh(VQpp#vmCI!1Cg5EnfnbWJflY}h<2`U&M7gWjQw#u~l0_H- z@)~ezIgAUytw=b~iLt4r5zM$VJ2J;alr!6>8(BF>df+nBvnJ(YsWR6z@aNMZgxG_QY< zRse*zc;IRe7W2Cj#Ixi$2oaAUYJ*6d?4zKCgN;QBD~1ubOhkzxoduAcBVp{dl5*B} zjE?As<~$UYHgPSfiigyYGehEcSSe`%6iY&YE<+W9t}eXN*z0dnPjPmS z=NK(tc)2cDL}mt0KUP>euCa7r03XJo;(^5~IBS|L+&O11vA#)F(SEzS~WuI!}{5SPs~C6MSNeMxAS_eWkSdlQ#+^0ojvW3N`_qlamTq0rr#Z3LO^g zVX?#Mn=DhI+BZbxlM~nTaO318_LCnAHz-X=!Ped9?&f?U$$5;`5nRET{WfJ$K{+U& zcU$*7B1|z#I>AfzAYYSy3mpPy1CyN#BMYL?|N0?|NUp`9!jsDj8y{BMk#yZ4%cXnz zEu@R#MFuak&q=*9Fu8AX=0zpyF3wBi!P%1s4JQ}a>=fwkx2VA4jPo)Dp1!RDFA+0pJjjzp4N6)@%YkOg zo14=k?s)g^lcL~>XKZaT3#58?OOcxj7|gSu=z91f#gv>7PoIv3kBhyzS7h2V4uRKp zj4+)EX)HH$lRtREBK*4nfYf!at|MZt)`wlkpBACA~4@v$AbK zgDE6N=bS5lH0sW5?rpmO8@|UFNmQ4 delta 1902 zcmV-!2a))RAAujR^aOt}ciW&n>%z`;p7^$9ULOQtRaCdnV=$+_j6uyqZmhNS1nJgR zV3_LD9m$RHK9~XHaEGc`qU)MZj36BHzuS}as``OJ;(8_<_jXiINwRM*yy zhH69x6G-qX1ah1NoNEE=A_h|6;HwC>?l11MP>ZtDNbtcn3}!-kvDLhrWi{6-{=wL} zOxw#X#AhCcWArR+4;CJX3mO1Zu-0gIi5VG*{b}==^t>%P_WLt>etY})G8A!184LoE zhinRBe; z?p*RDTHEi&S_3*c@xlpm4Dyn_6YWxt3hGt~R-XP)_)mX5^^&9U>To6T{^(UciK_bWO&p2)(>*$eie+r01^4@l}Fm9E)w}S0nRO-HG{j^!nX~l zky3^1@!aJ4WVUc?{olQ2cO0hjB*uBa?h8I*ak)t*gparJ*Um*D1wD0Ejiv(r*;@Wr9UVrm>inDt>pJ@5Q%XPUT zGBbGkvBJ`EjisZrvy(0I@>v%;!pnbkc_A{(^>b2V#+q&~0Nd18 zj%J+BW~2Jo>umy#mht=UoABFJiS!+_4_GLs2kWwHsV(Pqml=5(Go;9o!AVhZr?e4Z zqt?IO9)T3;f6CG?yeuGPe5zS*T+UtcodOE)jlz-RCISwL8wf2bVzj=Sc=Sz2fe8gW zWK?E4!rC?m_%IF?4=h%}S<__U&N*|5^-ZdZ_WMni2WQHxw54}Uebrz9ZX3%yzS||G zI!}{5SPs~C6MSNeMxAS_eWkRilRpY10g01j3N`_glbZ@yG^T6GU}$mG0d2O>7b7ee zW(HCK_Bl}wEddB}*wyaXVX?#Mn=DhI+BZbxlati*aO32J^^+$HH%F~U!Ped9?&f?U z$$5;`5nRET{pMs*K{+U&V_Wx}Axtq!I>AfzfL`bNAFtU3B2s7GY@xtQTSO>H!wxm8 zeqVtLCnx#m0F$K)BSlis|N0?|NUp_U!5s+@BVB;O(4d(OA)DfRRQ0t5ee9y zLfVmZ-5|@Qd-^S;i{V8EFSE}-y)rPlZ*As9CHD=J4GbRw=|qz*3>geF67hoq-eTWp zd+5!RQw%^8v#eL_;nO24pVwU_F0m5D(viE9rVLRSgs9W6yWgT}i^HPJlv{@*J60~v zOXGpqlMf9i7qILU=Goi*v-PAv{W z&b7inlfiEB;|i1c4k0C}G2?TwZ9s!5Bu3|)D}TI)#`>qElV$X0dg@=KuaED_Bjg{a olRpnCAWY#7U}Bg~eSm^=-TW8T^Xv^=(BI$sKOUVLN|j3h01i2ttpET3 diff --git a/code/espurna/relay.ino b/code/espurna/relay.ino index 68a5c760..bb3149f3 100644 --- a/code/espurna/relay.ino +++ b/code/espurna/relay.ino @@ -212,14 +212,17 @@ void relaySave() { EEPROM.commit(); } -void relayRetrieve() { +void relayRetrieve(bool invert) { recursive = true; unsigned char bit = 1; - unsigned char mask = EEPROM.read(0); + unsigned char mask = invert ? ~EEPROM.read(0) : EEPROM.read(0); for (unsigned int i=0; i < _relays.size(); i++) { relayStatus(i, ((mask & bit) == bit)); bit += bit; } + if (invert) { + relaySave(); + } recursive = false; } @@ -454,7 +457,13 @@ void relaySetup() { if (relayMode == RELAY_MODE_OFF) relayStatus(i, false); if (relayMode == RELAY_MODE_ON) relayStatus(i, true); } +<<<<<<< HEAD if (relayMode == RELAY_MODE_SAME) relayRetrieve(); +======= + + if (relayMode == RELAY_MODE_SAME) relayRetrieve(false); + if (relayMode == RELAY_MODE_TOOGLE) relayRetrieve(true); +>>>>>>> Enable revert state mode relaySetupAPI(); relaySetupMQTT(); diff --git a/code/html/index.html b/code/html/index.html index 51556ae8..9e2448f7 100644 --- a/code/html/index.html +++ b/code/html/index.html @@ -201,6 +201,7 @@