From 78dd5e379287cda26c2793c267a1998fccfb96dd Mon Sep 17 00:00:00 2001 From: Lukas Bachschwell Date: Fri, 29 Jul 2016 21:34:39 +0200 Subject: [PATCH] Changed a lot, added all current commands in a debug way... --- BeerBox.xcodeproj/project.pbxproj | 6 +- .../UserInterfaceState.xcuserstate | Bin 26083 -> 32456 bytes BeerBox/Base.lproj/Main_iPhone.storyboard | 188 ++++++++++++++---- .../AppIcon.appiconset/Contents.json | 5 + BeerBox/LaunchScreen.storyboard | 5 +- BeerBox/ViewController.h | 21 +- BeerBox/ViewController.m | 121 ++++++++++- 7 files changed, 289 insertions(+), 57 deletions(-) diff --git a/BeerBox.xcodeproj/project.pbxproj b/BeerBox.xcodeproj/project.pbxproj index d96b75c..a7d9f70 100755 --- a/BeerBox.xcodeproj/project.pbxproj +++ b/BeerBox.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 2B08A22F1BB48CF300B0B8B1 /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2B08A22D1BB48CF300B0B8B1 /* Main_iPhone.storyboard */; settings = {ASSET_TAGS = (); }; }; + 2B08A22F1BB48CF300B0B8B1 /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2B08A22D1BB48CF300B0B8B1 /* Main_iPhone.storyboard */; }; 2BBC018F1981879400D0BAE0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BBC018E1981879400D0BAE0 /* Foundation.framework */; }; 2BBC01911981879400D0BAE0 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BBC01901981879400D0BAE0 /* CoreGraphics.framework */; }; 2BBC01931981879400D0BAE0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BBC01921981879400D0BAE0 /* UIKit.framework */; }; @@ -24,8 +24,8 @@ 2BBC01C7198187B600D0BAE0 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BBC01C6198187B600D0BAE0 /* AudioToolbox.framework */; }; 2BBC01C9198187C300D0BAE0 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BBC01C8198187C300D0BAE0 /* CoreBluetooth.framework */; }; 2BBC01CC198187EB00D0BAE0 /* SerialGATT.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BBC01CA198187EB00D0BAE0 /* SerialGATT.m */; }; - 2BC70F0D1BD2242800330A1F /* Icon@2x copy.png in Resources */ = {isa = PBXBuildFile; fileRef = 2BC70F0C1BD2242800330A1F /* Icon@2x copy.png */; settings = {ASSET_TAGS = (); }; }; - 2BEEF2401BD7FAAB00003449 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2BEEF23F1BD7FAAB00003449 /* LaunchScreen.storyboard */; settings = {ASSET_TAGS = (); }; }; + 2BC70F0D1BD2242800330A1F /* Icon@2x copy.png in Resources */ = {isa = PBXBuildFile; fileRef = 2BC70F0C1BD2242800330A1F /* Icon@2x copy.png */; }; + 2BEEF2401BD7FAAB00003449 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2BEEF23F1BD7FAAB00003449 /* LaunchScreen.storyboard */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ diff --git a/BeerBox.xcodeproj/project.xcworkspace/xcuserdata/LB.xcuserdatad/UserInterfaceState.xcuserstate b/BeerBox.xcodeproj/project.xcworkspace/xcuserdata/LB.xcuserdatad/UserInterfaceState.xcuserstate index 3d703c2970298b9e90065fb2dc4640b3f65885d1..5f4772dd7d79dab2324c8637b0a3aa9320d28b45 100755 GIT binary patch literal 32456 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 literal 26083 zcmd7430#!b*Es&%XJ;P}kbwaPhFykb7{?0QG1B_|)em~#$|Nf<5=DGJd_uO;NJ@;()&S-D3 zbl6i;P7{bA35uWzhG6+Ee9wfaF0-w}Vr`ocWt}m{++^>V7-h0G&9=bfhA6wW-H$-a zx9ssHR}vh-6C((JB7le|5{OYmBB3Udh-4y#NF_8xB~e9G6E#FFF`5`d)DiWBk!T>s z661(A!b-Fg^9UQ!LD-2-qKlYMbQ8;n>xt#W3SuR3J8=hbC$WyWi&#%=AT|+w#J$9Q z#QnrW#3AA_;xKW9I7&Q0yg(cyUM7wcr-|2yH;K21_lWn2FNv>+uZeGn9}tT;#3MK4 zjy#Yj@Gy}~< zv(Q}Bf?81rvZHRa7%f59pk-(Ux)H5Lx1)PdKiY}zM|;sD=uxyEJ%$dWC((20C3F(K zj^0A=qL0xh=u`AH`UZWAendZ^-_V~VO){iA=|_$r{YeEGN`{d!WGop+rjV&*E?Gd< zk@e&>vXPuln#dVs6WL6f$+=`Z*+tGLmyp+xOG!*FBUh5E$lJ(uL%(I zY9qCYx`*0KZK1YN_fos4-PB{$Vd@BVlzNFela^qurN`Yw7sy@9@) z-binvd+4q74tgiOi{3*&Og};&qz}=D=_B-$^fCH4eS&_KK25(vze~SIzfXTae@1^! ze?$L5|4RQxU!;F$Xog`}#+{KdzKkEEU_zNNCY(_+QH+*JXEK;fCX2~ta+rLkh$&?% zm|CWR8Ow}gW-v`mGh=3EGP9Ugrj6-f7BP#NCCoLCG#uu8*`EQo%w_L zlexqatS9Tmdb2*PjP+&x*b!_vt7IcsHJijHvngyIt7G%o0=9~+W^345b`m?8ox)CK zE$ke2F5AMkvTdxDZD$v=OW14J8`vA!)$CpDdUgZ5o!!me$3DpJWglT5We>5Bv5&J) zuqW7)>?`ak_Eq*Y`x^T?`xbkieVhG^{ha-R{gVBP{hIxr{ek_3qdA^)<9xUfPQfX; z2rimSbA?B9@uj`p(G-RNJ0gO1Q9WW z3VUI10cGP9z>3Ae@K-xc9LCbtY@J_fGqsuuQ#EHheQu%JOi0L3DgrocsuG82^e zgqBDrGKfqfi^wK&h+HC%&|x1e!@k%LkHG#o00-icIA|wP01PN3iil#OgfPJ8GNK&I zfd?V@Rs4p4MhPe#2MZ_*r(*47zzXoGHq9`%G|FV~%{bdSzt+@cnPswDZByZaq1ghT z3Tv5#BN5g2JGW3=J^u9L0}RH7oxj>C^2_fX0^FMm?DBH zG0*6nHB01x6F+G%i@8ITDS%OGX)%v6*=IM(0t-7jz!WjH*(J0)s!a>5opxxbF}1L^Km-AZ|G^o3Idbh`Av1F}MUT1wyCdLVP#w$EQTGZq-Pk#!6{L8Q^i2|IUni-C zu|Qni!}^q&+bo^1E|dcpjS*pX*g?wc&FwaG2YfKu!C-?fGI4MxL=kBxtrig15OMv) zLShlIm{@{iaU71v3H`)U0s}R!#iMXKP@o8FCsdnf4oE_PI2os443c4z#2yj*iS?FQ zvmKqC!>l6Kh{N1K+(@h@Zo-LJjgxS4KPZ`UVl5E^#7)H-AUBXWWSq%nF~K^6^=6(g z;@weinm^9e(rJc?1iQAHTfh)CHyfL*?XWJDE{%@Ytu|m3C<;qE$O*h3=+eajy19W$x&1PEA3mtkV)EY-StYPVu zeqt*KNv*M_(=JY-!~#0T+GesX=p*`xZA9;sTI0|&CvmnDJBhd+Vh7IXA$H+RkqEve z;~EA@Twyo2c1Y;$A@=qX4-gOHES!(^P5}FeM+v`P;$h+uoQ-pOiT%U@oQw0YZYqEo zuJ&Z`T_j75X;z!X-q~y(7K;JJ)q4%alv#!S9e%j%&_?FW}7HN&d#qBXT{EE zu%U-IhfBrI(b5ta&<0l%dMAMM#03$++qkTUcn6nbZG)&ioUI=apAde1#D~O3#K*V- zSK_KZ;!}{x&v7+iwnW@{<6VY>wQV;WL8rFOa(o=*CTOrmS%7Qb0qMN_d70VTYPQ=J zNG$!9*w{mShih<}6R97GKZv+{iJyp{iC>6ciQkBe#P7HkkH%wg9j?bl+;A`PCvgc8 z2q6+th{j{_I6Mb0z-@RTUWBz%L?v2cvYSNFo-Ecmke?C-tKM6o^KmAUqjQ#nZ4!WRToA zK<65B>kPAP2nk?_uha&(jj>s~EHGfBOjS`dG^WvR>uj=j+RWmz7_t~ZQB)Kao7%ce z4lOj);NTew2c97%o`TaRbxoM0Zs}If?rH)f4Inp}+eE`_t}8tCP&elcqfsmfCW^t0 zJtz)O7bRO>ZR)UBwOQx4jqbF!SlS#&jkh%0XRGuU$Lb`UZ>y086e>zW$tVS-;u*LJ zH)C@@N<&(djxz8}JPXgp7Ob5#$!cvaH8la1Cl|wxV7861TH5T5vXP=(n424{?bYTk zbISnnN`Poll18g2X|N6=B++7wwZkGRv>H>ps^A+5qbZBDsVPZd>1eakmPq6&7$lDq z-C|Ti#BJGvwXdNvR8DxH3RH=zP&KMSwP-Z#PfmHMwl+ETtZ74Rl&k^h(FzN9=&@*` zwKbc&N6&P=JJg0daSQIob1}>_c|sHDlO)))Tx3`Rmo#Vr4GMxZg?eIRA2Ol_G#0nw zc5H*yi6)?lfH_IbMpGsYjWyPR1uVTnY`v;&;!uvL5lwHDDFBn9MF_)!Dsg}qW3t$K zk%{R2hdxe3nuu~V1`{BDuOK8TQh-5b8-@*a+*%5d?}h zltve(MHiL+^+U3VRkS7r5KAs>Z+CnZKMx?ATx9AnC$+Q#pyVrCbQ0A%Q5Wo~uyZ;2 z?39sSG+!jvm71hC7odfWvbf7RKSX?24cLnoiQxWq|3;aQxX6`5%Arw~IVfyZ7W-e6 zU6Q1Vo%0x``d&p#fhic-(6y*tbPi_#Z6?ECo4EznLzfv7croshrgc49KDO2f9P35b z6TOnWt`wKtDtrx2gWYD)qLf5sio*v<)xyfmhLySGG`b0`K{vxNx1hD?R&-mV%+F@E z+NFI|G*W9}oq%4LZOyX{g-P`l023bxE&n(z&HHO6?u>*x-2Ck(I--G$b} zTy8-diI>qPV*LaN6Sg$l%x&Y^P4L@3xk-fEW*7G-Fx#9$cs0&Uw%ROCV-^T;1744X z;fiE4+Tu_oeRw6l*0JtaNL1M>uHtRzUbG!whnL~&FI&aZqIE8sVe85H=pn~CTK>1| z=zzG6@T&iRtQc1g9049|B!CmddVC`gZatQ)T=W#Nu@^*OEii30PIGuMQ=p|KT z6yApK#oDP3FU@HeMdttd(?;ib@noX-P6GHI+i_VhsV0-~4*WRQPAn9?oHh_MXIBlG zak(2pW)kIOHr@%k=Lpt0)(e?O?Cl|Sc-Ige^kn%zxe8OOD37@qPGV zd=MYPkKw}(qqDtpMvJ9sAPfmxjk-zQVePav4Ps{`Cx9(ZHjrbKi-2Mzz_D5 z6Uj-0ikyP?;)lS2-zO3>XpFQ)IJdY4r%3@;@T2&^pfV!oksVHDMB4FwkziNTJ7hPx&{gkDQQOR2*16{T(u$It zE4%cc4EP=vX|^5`$cDzyce9&r|`4*IBc#9 z@d>PTVz86kb0v?Cd;pDbcyv$WNs>n=&Fm2olSlD0;9_M|&sLY2)EO;p!x%{(A|Des zeex)N89(RP^k0(Rd;&Io@=5Y3@@f1$egPl*A8z{O3CE`Y;=kYYW%Uj&D@8Udi)UNf zhqLQ|gI%j6)ZP{+bpgL}bt}zDt@laT1Vx9*`QT&nQxGmkkcj*YpT=4V;+LX&{EGY< zzlP5asfF*zA6-=4Pvp<|b$kZv#;EkmyInNf@8l)dt`vf<=deztZ^y%XQViuu#BHNk zilcbSjdG_v@SFH8d>+4zFW`5!QC^fcgn5|F!qLIk7`myOaz)FodG zoKi4?2R!gbS?JZeENGo!g_w58RoWZCZ2_n0DyF4U_v|f^5r0%Q%$AP2)`amgFo$|wD>dU-Y7+13p+$`&aPQh z4hSTbjX&?9a`6{fJLrT;i7u*uDuVrw(xWE)C7uT#s1o?_71oY%f+(k|#2yut9)FF$ z6np5Q$CnNzYwT=qhu|&DK?%r;!L?!fO_QDtUX3PWFtI|_Qw@WNkHz0%opX!{)TBW) zC*$u27Zf#(nl5VVCOof)GT|SF8k(t@VgrfWdK~yTmmoEVY8f1(75_9eMmsgnWwBCr zYB4BHs*~!X=2P9&0%{?(2>*hA#lPW;_;>sV{_|c4eaDDDlt8Sdt^;WacKlqz8UYa^ z1)_jyMu*@Ja#{>miyj%oLBJm$-PW=|%4A)kTREh;Oc3gW9-?7(g&u>3qXb8kkt_5n z7ITv3fw6*z^=TEeG@=M%_-`As|vflz<=;%7_UA6}6t)0Q5=`5Gx=zkyK)0(AYHF+&U!qgG(h0+Dc6z zLCvC;xWZZzZNK4*@3PhDl%pQ1Ph@_tfVdv2UqJldt&Q!}4oM*XL2B=#_KBM1ergZ( z0QDfXmwHG*9s=?dke7fU>FOgO**2K*BM_2SQ3t4l;;emPXM#U+0Xgy|p(6eu7$O@T z(N&lxtQv>s?uhe2yF&#w*h~M~bA!op%|X<6WGFCH^iGTFt+4uls5g508`W9T+F zb&9b{LtB@{W^EG_;f2i*gXrjxB(};d1>mWZ)Ttio6#)ebXrxnzIb0y>HR^Rp*bL-y zjAnZuJUK)3LhuE?OiSs`oY~YgGeeu%l%h?!3a9_YzUQRWThvEH+z#qIY%>?Acc^!% z_o(-&52z0X6pG&$P?&(i1*8;Egn%Liq!Lin4iJh@s86ZS;O`gIm+<>*Q8JEuSB8f#_8EiJI?Q-o8ncqkU;V8pKpBARt}Zpkkr} zY58zli4La0xJeRFvZxD0-8Q(I#1tzSQ2OBp6s@FHF0V(?z^POLX&_MtFH6?H^ybO@n&Au|x+X&c$lIWTG0X6q2Dz!3^K#LiL_l$(Iayy^96E+xQB_$(!U6VWp2BemFaNQq(EQ*Y`oxstiB`` zlFlx*+92!;ycs#D`lMQyBJ*sBkXa$SG^x zKEYub(7kjY2rGmv2aJP((lsy(`ssejO1Mh9qWc0Z)^Xt4*D4O|u=8 zO=@v`hE&Te@B~9EiYkf+M04~2mP2!O(tbC6pNj`VKS1vlh2TK}P3xh-s%#Vq>SG?} zDpr(8H6`?;^no6FzksF-$W)gkSw3gz$9gF+btXx~9lom^r5|@4>M8nJahrLXenvoM z0nO^ApQE1_kVQbZx=P;5lH|>7l$Bgn@<20y1>vaIkz!+)OCN|G1jNLo;c%foC4q*j zG5u9R|E*9D11q_&^lS7R;Dyky(`V?j^f>{|5zt%#fzoO1r{ARCqR-QB3#d&%-2z%5 zpqqzuj8kO{EKW)KszLaYI>e$WQOv-DchMYD*D(++v{*Yk8ceoX=7FL&hyQiu?oOx0 zshOQ=QP9omD?o3Qo;m6+Ku$#;p+g$iDMTOAAB!^ck$|i{^d|yp7w2@9N+kLV2t3hW z(q9Q^o`AZBY@~1LAHYCLWo z)gKJuIwU19B)%k|`C=4n$>R=F3Rc-w3E)_h3zYQH;i}U1KM>?(RpG&$^1E+Xt{>n8GlCfjP7~wL1Tf&0TqB^R z0>XVv5cLWJ)`Z~jRj$R_aT5Q=NdnU-i@fR#hsnl2ks(4P12`Dh4VpzvGy|E8ZA=Uk z%fvD9OacRSr^^I%y?~YrXoY}Q3TV|fM$IIFn=1ay7SIg>x(WPL@uyG}Bh{dHp>#-~ z686=0v(3IhIgoC1)K3kT^0;<#v_)NYawQg6Sf&M%>#7>o%{hj{A$92`MH#uprVKTO$UTNcx-T#8A@KOG-??k#!IBvDw!&0 zAk(RNF4qWsOf^#@=I92d4KosJH!kmX}ptA~T7B4gWR)!Tt|1o;&-QsmwH{k%3)koq+BVP_KY? zh(laSmpL`%z(k~FFrX?WL(fSHsVQklsr-`?{u`}2N)j!XK?k(zz_W_BnO12;uwGnx z54AW+F`Jnq(i67H^*s#iEF1nt+cH+rwoE$%s`hRH4TZ`WJ2M|tAJfTn3238$HuW;y z4D3et2x#+vP1`n4cPLON-k7=0bx6>**NfV=N7S}!wmUjYV!BFHC7=oVhHKQDm^IAJ z3`DlJ323W;`Wkj=+HxFeqVdZe9(#K?aVqbOPD(te*uA|bxkiQ z&-D(?xgBEF0}T6THr>N)b}@IDUgm!A5t%-wpV`W6BS$manH|hdW*4)Yxlcg51O&hL z2P8irzH6I zH_FQXL-=B(V8}>?%8ViZgLz(p{y?Kl_a8zR>i}J04p^3Z|IV`fTR{@*(@MbGfRhqt zSI`5N<-SH)@qdV}(G2zMEoFrb4X%*SNQ8LgzeZ*kCcY&>-`^;!x+>oPXrmZGrj@5Sx!Yvvo~Tjo0f zJuaXp1oWhUp6X|QV16W245Uq;7SJs^yntR1&@lnM*w1n-PpDXT0lg%km&J)3|396`*}xOqvje6q zN=?_o$t+DuMhaAhXtJ^)gP7txm&N+C@~h4#m<^E_b5cOB3@}FAZGKoGo7XQ9NRu@P zDUyYMo4BSMK!l~KWS%6+@nkIEPdZ{c#a{pR^ z!)CHs05C^DX9RRs1b9vac(^ov>02XSoC5VPX<7%&v?UW3X)>TNW@yHG)^JrkOW862 z3t_c41@x8(_Pm7W?<=4E!#s6SYD#vxSY(r#ow8)oqSVx^G$8B{O zselS_uv6I6f1N|pG#NvZwv=6VRXShKE|(yIf9}W$IUs?gwVhZM_7_MuvA13o(rxVR z5~Obh^xYs%U~Aoam!d$D*{qE0LGizv?SU9AyOG_*-otKYw+QG50fGPji-3L;(C=H> zUbc_zXScFo{rxGBegYXHkZOTUb}@0-U6T6!u~Alg)xG8KH*_hWW^^189d<}?m?gqK zAPw?!qin)|ILJR%un!;ZVQIKu|1N59SpD%o z-=BvL=nUtb6q#e6WS?!tX_8InB77XW00!auY5=c@Ysjb9X_89vj`x5&yL~Kb~ zAQ^#V1yU*%aQb&wI4mR=T{m;H)B@(~Ov|iJnb_7VLt*J1W%v&Txl~y}&{#SwH&@`!4$)`@TTB z3#5lYdJ3c$92a6gVn1d-!7~NYTOfS|()WMw#L(nL8PYi+O^TGpWxoOcko{JG+TFBC zDXEp}mUgvuT#a+yKe9i$cwX$U?4RO9o*KsW0haf(m)Pex!~y$9fCLC+fItQgq;xq3 zM&W?}{xHhi+1ctD73$^=zY*yFozrhzhB&EAfsBAjb(qJfQx~f1IxC%%%H?!GP%cj( zRsTj@ov#&fW#ZI}xf0I6l?r6EK*k7UtU$skw=}MTtK_OgV#f<4&;`=<|6AwUCN0ur zg3+V}J4|AsQJgI#Zb!jvYpf>qf-1EpyUB_61a6`$3#V`|;e?YxKZW;7knnN1?Muq)@p5YdA za1`8?aZZ%3+xf@01Xhnq5;d+Qg+O$k*A!w4)owfmYGk1$Ct#0G)gb)pP zJ9mdbf;?sSa_hLe1Tt43;lTN@jfC6e*ht8%|2*PR(PVAYYq}wj1V_aeB(=BA8V9xMWQi+fp66cR z_K5^26-a}F0RJU6I%dCD_u?)mKaX=~2*2&z3GO8K3U`Wol{?M7#=S0(i zC6LtuStF3O0y%m+cNR)+RNR}~Tiki>JfRZEF;IU4Yq?G!>jlyX|3M9iZlc|h@iUfG zO|o#PaY4XKDvdNlA|#r|9eu--lDpgAXMj zrKVPkSTq_i9Dtbdfb_X|_V2P0!4?7g*>0X}aoC>Lj_jngMp;^Om%Z76lNu7>(ls1o zTHr|cY^!*pTkY(e14$X@!?7k?YsO&VFZUJq4HQ#yUkl{e9`0L#94A#ki5V6t&Ec%W zbJG1M?l(w?aX)jvaK8%V1c96=kdykji`?%}xkpYG$WDmtifbzcq|UW=WuVRlEH`6k zt9X1-8o_9uC6)vNHN~d9UChC;qrIVb_${jwI2fOC4G)UytA`NB1;T?toj8JTW!V*xA%% zHbdF}tG<5jBLd}DxbdmiKLFF1=^ZK7pt)g>aka)$sA7ShkSw*@PKSntyDK9iRq$M_ ztb$QzmbRE?b-;IVrKt2V619B2Wa0%*uzZso5nbZ~xCEwkY=sD{2-f7OnAo`ZE8S!= zFko+7!r(O~uO_P9laf;ahw-z)8G@NPa50MaNfo6KG77r`I8B-p$zDwYd{57Cx!9yP zU3{384cccIWtt_L_2wj8@wp@S3Hd^?B1gJa@D*KtgLpz2BZ4PRQm%NDp7a4T^yu>&qj*$?*tJ`eYeoF(2RK7dO; zK0yd>0Q7}B{~}NnQp05ld2kg$HC#e4291Tg{iY)`oSE%J3(?JRKK5R80B-JkLZUK> zq`z<{lgmH!lt8vPc1OO5FP=J>zZLJ_=z~WkL@&@;{N`LwrF;#f(?KJY^A)@|U&X_Y z0eYcLAg!Pp1hQQq=WT-oXk%VWnR2g0Ag5CT?=jc&jb=o9JpGC zpT;*zL^1dB(?n~*SCgHbl98O6p)}c*nzWoWt!$2@W}6_xPI$qpa#lz1v-r8764=eW zg`XpamB?;^T-e9A@U1-1aIruN0-T8(Zb0%Kl7R=x^Z$!b4=s?y(di{pb+`d08a zh%i?2s|4~|fxNDlzmZ=pkjn(}`oF+fBS|_O8hhLY#%=taSBD|7?QSTfCP%ZInO$Nc z6k>k|#50Oe-r%~#`Ch(ntfRQqvC8E{B-|I84ws@8Fh(d6m<1jnMRGd0MX-tMhWi7-+u<;GEw_wY&aLEb;8t@zaEBn+>)Z~wMeu&^L9n(T0ekl# z+#-06`xx#7On^K8X2LChEBPM&Ab*H|o=0D{>=fC8?=D&4g-FP>5 zH%~WjH<_ECo4;G2Taa6@o5D@wR^>L%t=Vmn+j6%JZV$ShcKg`v2e&`mF1aIj%AIld zc9*&Px%;~Zx(B&OxM#bUxYxQ*c5il{=|0O1@4R7m$)x=-{gMK{k;26 z?mxT#>Op!?9*l>#hukC5Bf%rtBg>=EW4y;SkGUS*9*aDdcwmofJ(hXg<dV7X=Dm^1Tqden1M|r9}lRdLN zi#+Q*CwNZsoaH&kv&GZuInT4hbA{*ap6fiuIl7yv}?5;_c}j=UwVu@4eJ}wf7y~>%7-{-|fB0 zdz<%m@15Sez3=ya!22cdcYIi%aGyAzQ9f#)WS<-#lTVw^Jf9AqE}w3ng+6!sZ1&mh z^RUmOJ_mdb`5g9n*5`SjV?HnW9QQft^QO)#K94VM;smT#E5evJ{xh#U+%B< z&+yOk&+*UmAL~EO-|Ron|91Z^{=NSF{@eVw`yci{>i>lQQ~uBRKj(ka|BU}R|2O^5 z`(N;P${nfzJoN82EDF$-q;ArvopH3>}#;GI3F#IThLuW8-g|l-4nDc=z*ZU zLHmLZ1RV-G9CS43g`iVG7lJ+r`Y7m=pf7{I4*E9edpRTbmWRld@<@4}G$%5Rt7Dc>ybmG{fH$sdwG zDSul2to(WTG5JgKiiL{Bifa^DajoJ;#Tvyeidz+%6nho>6ptwOD-J3iQ#_-1 zNpW0pQgKRgTJf&peZ_~0j}<>Cep39R_$`zRbqnFKt`QiHTqVSUN z((v-|%JAy&rf^&Mvhcp}Q{g`;DJ84ql^#kjrH?W~nWRirrYSR&S;`z`k#e-MK{-x2 zK{-{~s5B{?l+DU{$}VNMa-njmQczx}yk2>ia*y&cX)dCQGZ6W(LT|NXjOE4bXN4}Xj}Bs z=v$-jh+Y@HA$n8vmgv6dZP7cTcSj$Mej@tm=;xx3MZXk%BKlPH>F6`j=c0dz;bRmr zqhg9<#>aHTtc=+lvpr@<%b1LS|n73js#C#F+b_>lW)7>l5o2>mM5t3tmlZLTqxZCN@1bGqy6;7&|@I96Kx465AF#FV-I0 z6}v3IIymaNQO8ETJnH1AS4X`z>b+4PjQVKQr-_=xg2dXyy2OUW z@rjcXrzTEMY)Z5xb|!WwE=s&6QAk{txFT^?VqfB(#3vI^CcdBeqnc8CszcPFYNa|} ztyfp5r>iaM7PVDvQ?F6quRf%HOnq2=RQ;0rg!+{FHT7Bb8|p9AKdOIGUsV5@L?pQ- zc_+z}Vv=H$;*t`QGL!O>3X+PF%91LRYLZ4LO-Y)TG(D*)X=l=-Ne7Y+B^^md$==B$ zlY^5(laV zhLp;bnv^jqV^b!iOir1aGB@R#l-`tGDf?3nr#znWRLb)y$5LKSIgxTU<%g6%Qi)V5 zl}QauRi>&^V^ZT&6I1P}OHyx0U7LD)>bleosXeLvsrRPtOx>OOQ0l?d3#k`1w1(5T zYdke_O^ha9lc-77Xf)}XER8`^uBp=0Xhv)5G)B!>%_7Y@%@NH9X>?kAnkFqhEekx3 z;2nF}+QWa7;0GM8tr%3Pg!bLOp?cVw>1?9bem zxjl1N=FeGl7MsOqd1Q^vnvvCOBvkqs|*}mB$vIDY%vZrOw&2G)M zX4|qK%YGsI#q5`}Pv(T>jLK2xBcw|^m!F|)p?`y z>hc=$#^ue+yDM*7-toLMc^~9`m3L7`>o}de&PylL$#n`{xGq8$rHj!e>#}qPU9GN8 z*Pt7(o1|;f&D2?Rb9HUHcHIKqb-J5$8+3iTt-5=4J9N8r`*e@$4(cA$9o0RdJEl9M zdq?-B?kC-^y5Dt|^2vOUeD8eU{1N$q`9b*+`N{b?`DOWI@{Rf9@+am`$v5ZE&Yzp# zn%|yp%U_hgEdQqb4f%cf+wynh@6O+ozd!#_{*nC0^PkFpCjXrRt{|X5S5R6|UofS> zQeZ2v7jzYL7c4Beu3&k=s)8E}))d@Qu)d(TU{AsRf}J+JrBd+SH)gY}{MaDAjcO0U*u>Pz&a_4WF(`U(2U`e}NLzC~}< z+w`6KZv8_23jHemjrukE3;HkgU+KTme_vQzIJt0YVPoNp!kvYW79J=(RCuIFUsO{x zx~Q(Gq3G_S?L`k2JyLX_=&_=sMNbyJTy&!7RMBfiXN%q}I$!i_aX@i=@#x~&#qGs6 z6t64ZP`s&lOL1TE*5W6Mj}@OOey8~T;*W|yE&ihT$Ks!he=Gi@geW0Pyh`M7L;0i< zxTmqiR?=BAzvSAIn@esfSzB^j$(E8GCA&-Zly| zXRsMM44sB+4L2Ir7}gqYH>@*kG4vU>8FmEmzI`R zlvbCHF0C(ZC~YrYQo6i!Rq5)|n@evky}NW%>6X&I(ru;NOCKsdT6(UGDDx=uFB@4F zT&5_CEz_2zmt~Y?l^M!v%f^(|mo=1)D{Cy9QPx~Gvut+RoU)FxuCng3g=H(sZY{f` z?5?uA%kC-bDcfCkf7yd&`^p|IJ6QHu+1ax1$}W|Y#l(s!6^#|9iX|1xD^^vku2@sCxnh6C!HUBbk5@cZ=~Ee08BwXP zEUTPZxwvvwroq28(te(8(kY$ zn_R1@O|Q+W&8aP}HPqJBPO3H4HrLLool`rn)?Pcmc46(}+Usjq*4|OOv37H9Z|&CF z-L?1EK3Kc2_L17dwa?ZbuS=`Ts4J+escWd4TsOO}v#z^tQQb9lLfx{u6?M1Qt*cvK zx3O+>T~A$K-PXEebzj%Z>x=8F>l^B))=#gu)VJ4n)~~9+vHte@b@l7(@2=lozo&k0 z{loS9>yOqyS^rG^^YzE-&(xo*f3yB=W45u>SZ=H|))?~A(xk1yA-jLIvYtT0oHB>d! iH#9ViZ - + @@ -14,7 +14,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + - - + + - + - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BeerBox/Images.xcassets/AppIcon.appiconset/Contents.json b/BeerBox/Images.xcassets/AppIcon.appiconset/Contents.json index 72875c4..a7fe4fc 100644 --- a/BeerBox/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/BeerBox/Images.xcassets/AppIcon.appiconset/Contents.json @@ -71,6 +71,11 @@ "idiom" : "ipad", "filename" : "Icon-76@2x.png", "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" } ], "info" : { diff --git a/BeerBox/LaunchScreen.storyboard b/BeerBox/LaunchScreen.storyboard index f2afbe5..0b34d93 100644 --- a/BeerBox/LaunchScreen.storyboard +++ b/BeerBox/LaunchScreen.storyboard @@ -1,8 +1,8 @@ - + - + @@ -16,7 +16,6 @@ - diff --git a/BeerBox/ViewController.h b/BeerBox/ViewController.h index 3649426..19a61b0 100755 --- a/BeerBox/ViewController.h +++ b/BeerBox/ViewController.h @@ -10,23 +10,32 @@ #import "SerialGATT.h" -@interface ViewController : UIViewController +@interface ViewController : UIViewController @property (strong, nonatomic) SerialGATT *btControl; @property (strong, nonatomic) CBPeripheral *box; +@property Boolean connected; - (IBAction)connect:(id)sender; -- (IBAction)sendMsgToArduino:(id)sender; -- (IBAction)checkCount:(id)sender; -- (IBAction)removeUser:(id)sender; - (IBAction)listUsers:(id)sender; +- (IBAction)listDrinks:(id)sender; +- (IBAction)startScan:(id)sender; - +- (IBAction)getUser:(id)sender; - (IBAction)revokeRFID:(id)sender; - (IBAction)revokeFinger:(id)sender; +- (IBAction)setCredits:(id)sender; +- (IBAction)setName:(id)sender; +- (IBAction)removeUser:(id)sender; + +- (IBAction)clearOutput:(id)sender; @property (weak, nonatomic) IBOutlet UILabel *status; -@property (weak, nonatomic) IBOutlet UITextField *nameEntry; + +@property (weak, nonatomic) IBOutlet UITextField *fileEntry; +@property (weak, nonatomic) IBOutlet UITextField *dataEntry; + +@property (weak, nonatomic) IBOutlet UITextView *output; @end diff --git a/BeerBox/ViewController.m b/BeerBox/ViewController.m index 594eb1a..58727cb 100755 --- a/BeerBox/ViewController.m +++ b/BeerBox/ViewController.m @@ -14,7 +14,7 @@ @implementation ViewController -@synthesize btControl, box, status; +@synthesize btControl, box, status, connected; - (void)viewDidLoad { @@ -25,8 +25,8 @@ [btControl setup]; btControl.delegate = self; - [_nameEntry setDelegate:self]; - + [_dataEntry setDelegate:self]; + [_fileEntry setDelegate:self]; } - (void)didReceiveMemoryWarning @@ -58,20 +58,104 @@ } -(void) serialGATTCharValueUpdated:(NSString *)UUID value:(NSData *)data { - NSString *value = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; - [[[UIAlertView alloc] initWithTitle:@"RCV!" message:value delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil] show]; + NSString *retstring = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; + //[[[UIAlertView alloc] initWithTitle:@"RCV!" message:retstring delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil] show]; + //parseValue here + _output.text = [_output.text stringByAppendingString:retstring]; + /* + NSData *retdata = [retstring dataUsingEncoding:[NSString defaultCStringEncoding]]; + NSError *e = nil; + NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: retdata options: NSJSONReadingMutableContainers error: &e]; + + if (!jsonArray) { + NSLog(@"Error parsing JSON: %@", e); + } else { + for(NSDictionary *item in jsonArray) { + NSLog(@"Item: %@", item); + + } + } +*/ +} +- (IBAction)clearOutput:(id)sender{ + _output.text = @""; } - (IBAction)listDrinks:(id)sender { + + if(self.connected){ + //NSString *sendString = [NSString stringWithFormat:@"!%@;",_nameEntry.text]; + [self sendString:@"#1;"]; + + }else{ + [[[UIAlertView alloc] initWithTitle:@"Error" message:@"BeerBox not connected!" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil] show]; + } + } - (IBAction)listUsers:(id)sender { + if(self.connected){ + //NSString *sendString = [NSString stringWithFormat:@"!%@;",_nameEntry.text]; + [self sendString:@"#2;"]; + }else{ + [[[UIAlertView alloc] initWithTitle:@"Error" message:@"BeerBox not connected!" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil] show]; + } + + /* + UITableViewController* tab =[self.storyboard instantiateViewControllerWithIdentifier:@"tableView"]; + //tab.anotherString = self.originalString; + [tab.tableView setDelegate:self]; + [tab.tableView setDataSource:self]; + [self presentViewController:tab animated:YES completion:nil]; + */ +} + +- (IBAction)startScan:(id)sender{ + if(self.connected){ + //NSString *sendString = [NSString stringWithFormat:@"!%@;",_nameEntry.text]; + [self sendString:@"!3;"]; + }else{ + [[[UIAlertView alloc] initWithTitle:@"Error" message:@"BeerBox not connected!" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil] show]; + } +} + +- (IBAction)getUser:(id)sender { + NSString *sendString = [NSString stringWithFormat:@"!2%@;",_fileEntry.text]; + [self sendString:sendString]; } - (IBAction)createUser:(id)sender { - - NSString *sendString = [NSString stringWithFormat:@"!%@;",_nameEntry.text]; + NSString *sendString = [NSString stringWithFormat:@"!1%@;",_dataEntry.text]; + [self sendString:sendString]; +} + +- (IBAction)removeUser:(id)sender { + NSString *sendString = [NSString stringWithFormat:@"!6%@;",_fileEntry.text]; + [self sendString:sendString]; +} + +- (IBAction)setCredits:(id)sender { + NSString *sendString = [NSString stringWithFormat:@"!7%@;%@;",_fileEntry.text,_dataEntry.text]; + [self sendString:sendString]; +} +- (IBAction)setName:(id)sender { + NSString *sendString = [NSString stringWithFormat:@"!8%@;%@;",_fileEntry.text,_dataEntry.text]; + [self sendString:sendString]; +} + +- (IBAction)revokeRFID:(id)sender { + NSString *sendString = [NSString stringWithFormat:@"!5%@;",_fileEntry.text]; + [self sendString:sendString]; +} +- (IBAction)revokeFinger:(id)sender { + NSString *sendString = [NSString stringWithFormat:@"!4%@;",_fileEntry.text]; + [self sendString:sendString]; +} + + + +- (void) sendString:(NSString*)sendString{ NSData *data = [sendString dataUsingEncoding:[NSString defaultCStringEncoding]]; if(data.length > 20) @@ -98,11 +182,11 @@ //NSData *data = [MsgToArduino.text dataUsingEncoding:[NSString defaultCStringEncoding]]; [btControl write:box data:data]; } + } - - +/* - (IBAction)revokeRFID:(id)sender { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Revoke RFID" message:@"Enter an ID" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Add", nil]; alert.alertViewStyle = UIAlertViewStylePlainTextInput; @@ -113,6 +197,7 @@ [[alert textFieldAtIndex:0] setKeyboardType:UIKeyboardTypePhonePad]; [[alert textFieldAtIndex:0] becomeFirstResponder]; } +*/ - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ // The user created a new item, add it @@ -133,12 +218,14 @@ { [[[UIAlertView alloc] initWithTitle:@"Found!" message:@"BeerBox found!" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; status.text=@"Connected!"; + self.connected = true; } -(void)setDisconnect { [[[UIAlertView alloc] initWithTitle:@"Lost!" message:@"BeerBox lost :-(" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; status.text=@"not Connected"; + self.connected = false; } @@ -147,6 +234,22 @@ return NO; } +//####### Table View stuff + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return 10; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + NSString *protoID = @"userCell"; + + UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:protoID]; + cell.textLabel.text = @"Lol"; + + return cell; +} + + @end