From 1a932993baa957719ca1a503d40a33e919898ae9 Mon Sep 17 00:00:00 2001 From: IMback Date: Sun, 5 Nov 2017 17:41:40 +0100 Subject: [PATCH] Improve relay state tracking --- .../rgbcontroller.dir/WirelessRelay.cpp.o | Bin 14372 -> 14956 bytes CMakeFiles/rgbcontroller.dir/main.cpp.o | Bin 28144 -> 28328 bytes WirelessRelay.cpp | 7 +++++++ WirelessRelay.h | 2 ++ main.cpp | 2 +- rgbcontroller | Bin 10012 -> 10024 bytes 6 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CMakeFiles/rgbcontroller.dir/WirelessRelay.cpp.o b/CMakeFiles/rgbcontroller.dir/WirelessRelay.cpp.o index fb09d0e7e879f4b5cd8f6320973cc9445dce41e2..4541c61d15066c584d03856d38f65cc139a939bd 100644 GIT binary patch delta 2871 zcmZvedu&s66vxjU>tpY(k9F%d)~)TfJI4B0yN$tggN`9DCy&TuIB;ErIB5F~Eh zAQ(e{dNSM}BgQ}s228-B(TFc1Q6h`PXkrYBFN_#48Y5BTBA)ZRzn0SROWJU0DvI90P4X3WuORFl-uVz64_<16$7||-e^tJM<=m^_(#mq zxs< zf6&#G?VTlCl}VB(u~KiheKAWlz!{9|ZTOg8?{HZ&Q_qJhw0DaYpVOC=Jv&SGz&9kn ziLdMJ$_>1v_txrdeC65X1yG4Qi7SK!;_4V%ZRjx6C{JVDV8LF4NjZtz4EC~%6n^hO zjPL-3&rqD*;VsEjt;#x5SC!yJ!ERSs8@PzHVn4~{Bi_28U4H4n} zS=5YZ^DNhVEQF=bEasVbCvT|G)zZH^x-B}`?)BCC8bfVrqpz`TVgHVZ=4c72jcpio zxJm-SMt{q~{^1?FG{xVnHU@o(osP+@rY8oY-Ft=y2cm8)q=yS9vzbNVHjA_0>cXi4) zO1>$In{a#bl5yn2OYV8IV(z$A!_C-C%o*!IujelJdpvX0SUVo{EKKEaQjTfQ+U(eO z&ySi&0Xs4-@ zSdrYwTu1@5!fD*g@zUQXnNQU1l39vM<_CRLGXK^blFSd;WDbmoL``IzlmZ{AXC?EI zdORx9-R}eftZpvF4p$ypgB4g5T!)e1p{&w;{3BSCGc}Jo zq%?M{3{~k?Qm)(B6>{miJOJ5P+-AXjAyZD6?jI*T4|bfOsP0;TSMilv3tk~D(oEM& zec16Q(r%LG6Iw-!DTn`J_=FZ}snV6#(UT#xA<}%L@$F~F1Eg&vZIRF}kT#Ukz9Mac zG^5b+TTQy-Wa-(mJwzSxL&{U&b%K;aq3q01&XHmg%Ha&uX=vjv|BK(1b zFzQeV!MNryAZCe}pnr`-DE?t$%rNmUP5coOqY@Qj)DSQvYDB@rb8c^&+WCjK$$Ou3 zzURli_q}&}=g`IJIdAJ=AHYihKsOp;a6>aFg8zWw%j@!HcW)Cw0O&$vC*9J-9^z-Q zO7$yQT&?f+A_|ubXb>a(WtrchaHm?#sxJ2?du5gtHk0}SURGV6bIa5Ym?rge zJKj=#ZnIXI>`=~=?88=zOWB1tRn4+U_G=n$wdkHp%feT~CnW!*;W3NuRvneqg77uT z8}JfUdmcZsbcg0BCIDvg0_2I)#4CjbVzG?Z9O$w7Ob;Bm-s)3gxYz1(Z*f-Ew!wOe zeHn9Bm+~IPXqFvhf9b>zt=sCFbZ*nl)u0F4ZQV*5Cu}ayLGu55j~$ASVsbjZXp7Z< zEYjA9wA(s1gC_Z0%dLEUad z;D%y9dpGwmr=4@0J)Lvlc+hAldeYf~Z!Xwg@*OAN0>v!_gEhrC^5MN;bXiPiC}O>x zeUSBL2l4STJ{1bC2xpUcCA79w!%H>phqmLR9jT%3a-Zhfat%4#{6pn~xs6RoE$M^BZlak8+~I2E69e(A)U~Mx)dDg=pA3!wnr(07_lq zRPZv(PkW$@GsIr$AD7Ih!7j-xJuR7E{zH=aC_FBiU(VB#W5nmHU`7<>+mtHm<-=!!|5a4aR*`eVb z(xwe+Ms0Ld2invn(&9oJ9B8bn?IBBOlce1vEhV(mqz#fbD73do>kJjO8>AgBX}^=U zk2IUe>q<7N2gs^t%bBJb@fSeT7vo4t*;}EUB*nxz_G41vS@Ad(!f%tIx&;boq}`(9 ZofguRYEc)%^up5y_|>a4nOAr#{sBbTZ8QJ? diff --git a/CMakeFiles/rgbcontroller.dir/main.cpp.o b/CMakeFiles/rgbcontroller.dir/main.cpp.o index 3e2764f4ea1c4c92ef158827abc1169b56ba1289..78da0932b80cd5537c343c66a323ef10c3295739 100644 GIT binary patch delta 4063 zcmZ`+4RBM(5x#r=!L>n_WsGI8LDruwTNZjxKei zS{p(VhBg$ukZBq+VLY8ohqeR|Nt-qWLOK+fLZIz*+7zfuTS6Ji5JG?uAlTo9^FAzf9*a;~ng~UK8$FI_Q%ibqurvyKqM945n z<;qohhP52enZj@~$Csxutl@a8fe^EBvIlWBVl*R%1V(qfImCDZ{*kge=bnLCsUGqR znU#jI#6RKletARpPkI32nsxrGj-z{%6d7|$eAO2*2q^M6_~BQS76m@ zbXfR#q?pK zjpHtokGLJ(4UW|Vu4Vu=Rf@(WzTOnSLwHnHe?`A*ydv$Lx;MO()oq0%=@VAL3; zfC=g}zOo)a3s^A zF`55AqnJU`8a1=;Q#G4G(fTF?QDr8l`KnuBP#dK?p*brXsaWzmhD@ z!Fz<`lh_ZyUgYgW-cdyL^bhcPR_V}0!Kxwu=I74D8uBs8kL&+KrpEClVu<5wc>UE@ zLq6rl!lW8Rw#gglj|3wj-*jiO)9$IT*`4+Zf1q=js_=Sj_6oRWwMF>^mg{BGqTHO zcRQnHML&~@mxm&?1HGa4NNCx7?#ze2WS7%cWnw^4YmIWbW3@pR&tkt11z8Y&Eyd?+dgx zcvYWs6tPGEW|ruv0xc!QdiP@-!AQw;>W0H5CcWozl)EJ^^dgrUn6FX`^};~uTZQE@ zy7z(5Dq^8|p~+qVi|uL9ZC^yo;kdnAU-=jt$SZTuO89D-G0z>#q$|NMJYQBWxt;J{ znMIH3;@N(P^Ld$-%3yFY6w~wtpDo;W70oj}v%ez>>i}#sD>2~udHA*ff z->R7KIajex_QZ}r(Ak@EAN_Tu5QzsBzm?ruMezjt`htV}zIrh0!9K?IU`7Q1gR5YU z$L00&m#<$XVrJt+ztiuM{b-{-A3-vWMfB%Wb49)U!OY!l&*XPbrMnl{V7JHTa2nAi#(DvFTj4 zsORB%C}=2#wdFZ@twzcR9k?01;S1UozF~YFVnOqm6%<2V!9kI8Ia*mUPNG*}mQPP_ zK&$VJ_R8~`t@*Evbvg`VquBRBo&Py)%a@IYb;Y^l>RS4x`4w6Rr~EySQszQvh7H~Q zV8+z^7soC-KBL3yZcV}u@}VR2-j3l3TMM$xnr(zcKbWDU(H6K-vl!V6YKv(qe5ZCG z|D)}h@7&sU?qKGD69?Cy-|+6n3!C1}`Q^a2lN7c?PF)dgf~va0q2@OlnU|AvV^a(b z3*By7-5h8*IvfF7mHM>^`q=M<#S>%-@7 z(X5e8+v)WWoB!UZU;qA+Q`NuYoTX#EV=My3-%T5uwSmT8(3pZP0-w~CgQhb*>a0IS zsS)VcJ{)2{G_11tllalOfuoLO6E?;gn@^QulFH9bkZlRFKSBO_f*e+5zCI6NLjvKo z1bL5;7w`Zlk&6lQvFeS5$pS7&QUl(JgANOdS|PJvR~?x`=5l$VN@51z76hhY^6CWn zr3Cqn1o@o=`B*e>-T`W9kX_&E#LFD&?{8sO`cc2E>_s+4Z$5dRM$a@XOO{!M`cyh0 zhD^dM)MWy*J@yLB%FML_=fgAe15^vA=f5_Am6dlgu;@TrV{~xA&17C#-N7QvfF(4m z=hJj5W|h@Mfmvl`5ZHj&E-pbk$%J4mzibM;MmjLg1fRuN+?* z#@_~SFpMAf(O>{Sn^GHlwzUQF%2hrylW?1TI6lE_E21B@t&)aV;i&WD0~`Byp_{=W z|8Eh)&oO8Mgh{bu&5SwY!9=-G}0F>(5&6VuB&DUvx}K$PE&DA$DV|EJdPTHFGejLYm%gmjWF6- zBGp^qWT%lv;gilHDSshMUTLKtz^s);Qt?7qiNa~vih_F~{A#6D`bs67$Kk1kkRG;5 zwUwZRttoSS_=3RVuqkydeg)E!;l;2~3RS_bu$8_5r^7|kh5+0~{+enqc3Gv?8kmbi zq#gRYtaLZL+Epa&2*F|0HPpeSE^A7-j$N&sZj+SO0lsc4T?4`HqLeN5cw6D+Zd1yh Xd6+PGyW6B6>mcNHygRXmo8;|(P2nGp delta 3843 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"ST"); serial->write(relays->count); serial->putChar(','); - for(uint8_t i = 0; i < relays->count; i++) relays->states[i] ? serial->putChar('1') : serial->putChar('0'); + for(uint8_t i = 0; i < relays->count; i++) relays->array[i].getExpectedState() ? serial->putChar('1') : serial->putChar('0'); serial->putChar('\n'); } else diff --git a/rgbcontroller b/rgbcontroller index 685c7244a711f1facadee0f5e10e3e06e551ea6c..5f1fdb959a8652f6e45780511ee06453d53e5ad8 100755 GIT binary patch delta 2234 zcmZuzYj6|S71oix)~>wXl_JS6S(b$`=3yI*Cqo0H#w0N&g<3LgprjDXylsfVCT2oQ zM_wy1CX)tBcP&rGFrGTYlqQ+D3Bx1&FycoH888dYk32fX*AHHnK~j((Gc|SZt}H_z zJ9F=z``z!H@0_!Dr9D}Brm`&$bUvHiawAuzk_V+ysnlcu8E&g=G^=j-YBFGp@9<9e z#5b^1JvN4PkVnl+X2l)oMfeV?P@3Ah%9v^oczWu4>>V|x28xO83Lb*U<1iP^nFN>M zT24o{20Nh~?;JXS`(OfBcQvQ^Ec*GJxE}3RZ%W(EmW{aZdAJ6gXhYZ46&?pQBE5!P z`0cw5_$ooG*yBrXk8iuzfMt$@YA9R-%N~0LXD?nS5Gd!~IagvGbTN~XsnrO^M z()b?ki=1&N6I}QJb}Mz%Q2U1D#${8{!ejVB@i=MGR5~5mEA_#@=9=_6T{A4`A?O~C zbDxMIY2Ba;Ct9?hsOY2~(n1Lhrx^TH-c~t{*GZ>2@q2p5ojjcDLhayWfn<5w2P~z1+Xnbw1w3lKvS~lduy|BO9ew0Rg}r3=YqDE}PHD1C zGG6sWZe<-lh~=YCUK4a(Q;_1Ira$N9_ zy9S{nI;je(RAXl!GA4j*G^4E`b46-ZayAv*g0OlX>P@YOepJM+0voDj9S}PEXLd7y z1_9TfW(Yj;P5X=;roab26Z$(>!Y7b2A&!}O+Z@(Ru#<$hj?Yg`@Cb%}&oB8O&N+UO zCL~M?d4dDoea<%N@{<+`E0IHI1vA>JGtWiJBayti7d@vmHKcq_G;7?mcX<`jfJ@ID zo)mDacfcq4tUlgHxAVw~Bs74=K#O$>`_!CQBFgjLnJv$Jr$G?>0^L4Mejw!e9q)GU za<7f?mV4!;t_3aAcS9%oR)26qH~qfQDagL8*iFY3_jz~O{}OTIR^cOo6N7ZZx-8o}W$6HZnf)2?RL zFu!0bnGMVv%x{?AGH;QwjoHQ2G4)I%^A3}D*BN$?vZ4X$4W}$Y`fb789#7_yZ2$UM z%0YD9;7ENgMPx8mkafK<%SStnFGCQWHWt7o)Njlu_7h_%96<%9&BPW=r361`a+rd2 z?a_qBo>?o1H0gH3h<4Lc%`Hy+NvoMox>Xrt#S!F4Z_C-EpZ^AfB=KV;@ZHJZsZ!xm)Da%djinX5s{)!(C~FYvP=EGP66a~QjUZNY2ANlwYv45c$m}JvCFd|fI&$RQ zuX0NBo4C`)pT*8Y^KcvH#3t@daZ>t3jKOGH)Y2@R2L(lXiy^CtTPaRR6L3uE5Y)jF z;jVCDU}%sPSDtlPHi6l|U-tF*x|P5AkGtB^z9d6GpC)hb8)tiRzfD2!YJE`)I3kt}5j?8W79}5aHZ{@30KPMj{iA(+}k*|LP0jYvw delta 2190 zcmZuydr%YC8qXJ4vP(7_9tn>om_WoA2&L5NwO$d6NG)v=&|7OOC19&wEm&Z5^o}!R ziF9nIqb%Qw)6vSb9jEp&r8YCxbZ#L|Td~tAE7L#PPRFu8X6_q~4S?Ade9)6OjxIN9f6_ z;3+7TUmki@z6?`xb*I-LWF#);#4_Ba-D>c##n;{P1-Js7n1$bI%bJU*>(U0 zkb4RG6#IHk|5WWrgRF3hsD|8)@bI{g6RfTB?mS`egFHbF`GYBw;mdH~ zbTm&1-HFH1*52IS)85rS+dk3GiIJ?IN3v2)qVd8#@z)+>_xC-&I;A~oA`A77^aLqm z-)Q4}8Rw^_p@l!{5JJ76?chWQdl%#_vo1ToEOlAvFw8FQAgvzhv>OUYi{FxR861d7 zpKEe19a6EGk10)s!qea*(fTKQA?ClLJ$&c?MO%VZv8m09Zv&}B@vR8GG8Pr)St5KF zciuV$#k^a7RraWT)KaeuDZ*K(Q0^3w=UxguSts3v2}3ADesaz!ZROXy+7eP4&S$LjWLk`_- zYGt#7J(qU{XjQX|#EMm|6)VeE?pD27#xvX~|3fMxxoSrqTB*j{GupUezO~ii8gi;Rv5~3$tx$ItMEA^kMacExbI=WY ztD9Zlken;DKS>df?IA_-on)itJP5bqjuK_hf++pErEx`+a$xbkF3T9%nU{u|)Mkn> zpUx%aY^Rq2g{|~sP=;U94oC3Ce&)f)(K2)-aCGF2fcfGyt&%d4ZACwU43v&MSJLDV63*e>VY4-!u4B?ZN|2P z>WAs1^(Zi=jhhEtX)TwwUoBRSffTdv_5spoBzY0_2{=i}&moFr$3z2{#vdQ<9E6jh zX-!b0x#hpfm_ciy&Zj5+KY$iiLhS{V1AWw!y4 z_6*+}k~(e+GeYu7Q^%Wv34i7aj8UYRk6`J>%z4a9u+xOM$(XH=@(6~9j5+_q@f(-x z#`r&ZJO5W4USKCDWXCMySL2!l8>#n&1j~FRJBh?6tXgzNS3`8*M61p-_f+0OI&dd4 zhor_ zo-7ZJK>xipnq&8z6+m-}Bl%kV)_>`)a^kIc-Av3?XP6bQVR_1a-SFU_ zGApKGZ%P5I$3Id&f?IetwN*RAVQ$(N@F?C)%ZBIBkZys$;qvsgx{;9?;*gDX>Djgx zc7ngxDjP$#gqFOH>jYnK{8;`}9vxLUsdzrU4C?WZ^g-BxzdV#r;^-}z1X*cGC3C5z z2F~F779W{&tcM74)~c-bS_>=cxwEFfgfD=1xJ~B7dhU5~TKZ57!x*{$z5E4;pzkD1 zNriSM?CvAXp$PW4c$fSqUgJ;l+Tiht&WYTPp+QzG^p|IB1q*BJ5xRtT)xY_Boo$BC z$VgmFpWsBN|I0-`#Nn~*FQ5`PEy;my+`q&DPJC<0QZip6^AY@w%wJ>T($s$gmF9Z4