From 21f2e0fbf4729d3f15ab98199f3a39959e238f2f Mon Sep 17 00:00:00 2001 From: Joshua Pirihi Date: Tue, 18 Jan 2022 17:09:23 +1300 Subject: [PATCH] Make BLEManager handle Position packets that arrive under the PositionApp port number --- .../UserInterfaceState.xcuserstate | Bin 100418 -> 129299 bytes MeshtasticClient/Helpers/BLEManager.swift | 25 +++++++ .../Views/Map/LocalMBTileOverlay.swift | 61 +++++++++++++++--- .../Views/Map/MapViewModule.swift | 53 ++++++++++----- MeshtasticClient/Views/Nodes/NodeMap.swift | 4 +- 5 files changed, 117 insertions(+), 26 deletions(-) diff --git a/Meshtastic Client.xcodeproj/project.xcworkspace/xcuserdata/joshuapirihi.xcuserdatad/UserInterfaceState.xcuserstate b/Meshtastic Client.xcodeproj/project.xcworkspace/xcuserdata/joshuapirihi.xcuserdatad/UserInterfaceState.xcuserstate index 66abbf05c5972d37806bdf97770f5cc0336576e2..c932fa4414624c3f5e906a34fac5ce2cf5ef044d 100644 GIT binary patch literal 129299 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�SySMJwaQNTqzKi-m_qA@f?g!#m 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 Ve-8cs{VTKoto{G@uh4)U{|6sgzO?`V literal 100418 zcmeEv2YeJ&*Z15zb$51mW?ObcGZ+vA(mO>+g-8n|p+gMG0)ZqOvI#{+=VC8_pokrl z&_TeCVDAMBU<11%_TEM1J9lO$g~Z77KKMTG_xuEQ*_pZh{!h8*oO@?xO=U%>E3Q^C|T3z&t>B4#nOgt>sZkhz?>f?2^_ z#jIwoV>U6HnJvs#W*c)Gvz^(&Jit82Jj6WAJiuaU71v$v7Qn;2}60=i%YF6wkzExEu%Y zEIb>}!4-Heo`)-O4PJ;B;l=oTtl>-XW%zQu3@^tk@b&lxd?UUI-;8g;Yw{0j_z->@zk@%(hw;ZO!y*>5EX%PxE3hIfu@=_KI#@3o z!FFT2v%T5V*gkAu_H;IZO=OeUWOfLf!;WGL*l}zzJDHu%ma;S1S?p|f9$U%Qv*)rG zvX`=#vCG)y>A@*(d z9rgqEDEk}xJNpNFjAJ;&VUFcEj^`|#$~ie7=jWohp4_QiG}nt8z{PN}Tq2js4dwE< zG2D1=0yl-5!Oi5#xY^wKoW>DuDR%*PA$JjXF?R`fDR&vSjJt-rfxD4w;?{B7xZAkf zxjVS~xJS7sxo5c-xc%I#+#&7_?o;k7?kM*g_dE9ocZ`>L8*k?wyuy3=2)--dn?H^3 z!zb{Gd=j6*59H6_v-oU&I6smv>~COdyA)ueZ>A^tQaR|hy%qz;$U%@m?@4D z$BKnwkvK`5ES898iKSvdoF&c^YsHXQC!Q^yBVHh0B3>$9DJ~P&iyOp^;wEvkxJBG5 zZWC`4w~IT(JH_4N9_~Z&e(_Q9G4VNZulT(9g7~WVn)sFYwfK$rt@xezz4(Lpqxh5f zv-pd6OkyNSvPd?`E_tO0sjoCZijfkeL@8BDlLkqHrD0O0lq=;)XG$Zbang8ck~Bjq zk;4wD)&bTSYpgZS8gEUoCR&rM z$<`EWhIN=V&pO;X)>>d4XPs=FVy(4?taa9U>jLXS>muu7>)Fm}A@*5%e~ zt!u2;S+BP?SR1Xot$VEZTOY7KXnn}~u=Nq^qt?f)k6WL%zG!{L`l|J9>pRwWtsh%I zk&%pLR_0`07GzPDWQ%N-Wm%CUWS{Jpd&sBAedNCK>2iXcD36jy%VXrRa)CTf9xoTl zMRKt`L7pg2m1oLja)mrsu9ZV_om?-UFKaT9m&zB&SIAe&>*V$F26>~rN!~1Pk+;g* zt+iSMBZHH|i+P<)TY5U6di|tq2QQL2J&d%Gr+k4ng zu}9f^+E2Ad+k4r2+fTFivG=zp+SBbB_Dp-0J=>mRA7vkH57=kfXWQr4E9`Ua^X!%O zDtom(Xb;)Xwrh4`zs!EQ{R;cl_G|3h?6=vs+jrP^+HbetVZYOUm;G-0J@(!9N9<48 zpSHhb-)G-%KV*Ny{+<1M`w#XX?LXOnw*O-P)qd3eoBekOa!3w`Lvi>Ven+IEr{h$| zK*u1*V8;;08IGZjVUA2kmLuDd;~3!>>nL_iaLjO&IL>m+aa1^nW2xf;$AylI92Yw- zaa`)S%yGHn3dah^wT_z{H#^olHaIpqHaT`WZg)K6c-HZpW3S_R#|w@Z9WOcdIrcja zI9_wS?RdxWuH%T~Bga>cuN~hwzIFWSII6f6kK$D#6rbW(B9$&mSEZZMUFoUxRZdsp zlz1gw$xsF=SxUAtRhgztS7skrlzYI>OggnI#?a14p&F3W7G-iM0Jun zQ!P`=)qq;1R;!n)m#LSlSEyI2%hcuS3iT>=rMgPJT3w^wqOMcdtGB7!)g9`6>TY$9 zdcXR(`h@zH`nLLx`mXw(`o8*sdRYBXJ)(Z3ex`n_ey9GT{_4a|*2y_}r{Hur6=xr3 zU+3x0e$M{R0nQj_tTWCT?@Vx}I0rkkoY~Hi&QZ?M&SK{TXSFlvtZ~kF);dGZI%mCe zfpejAk@H;V1A^ocB3*JNG#6cRt{J(D{(_G3T?+ zmz?{Y2c3tUZ#X}29(Mlb{N4G7^O%cqAs2SBF3!cf1eew2bh%u9SEQ?_>r_`iSASQM zE6tVe8tfY4Dt1k9O>|9iO?FLjO?6FkO?S<3mAJ}Wb6wT0plhLPk!!JQrE8VzYS%Tc z)vjw@Yh2g4u6Nzwy3w`PwZXOBwZpa3wcGWe>mk=;uE$+_T`##_cfIL4?E2XCrR!VQ zcW%)wxh-z1TXx&rcDKW=xZQ4#+wYEacX4-hpW^QAKF!_F-QPXH9q&$c4|ET54|k7n z=ey5zk93c6k9Lo9PjpXmpXDxf&vci$=eR4~weFC+&V8kOnR~f=h5IV^O7|-F)$VKD ztKHYS*SN29U+=!beWUv(_a^sd_ZIh7_cr%!?(Oa!?z`O&xgT~v;(pZqnEQG63+{dH z_uTKhKX4y*f9O8q{?z@2`%CwC?xXHw9@Zmx+#a9D@9F31?-}5U@x*%KJn^0cPoigp zC*O0XXQXG8XS8RGXRN2dGtN`uIm=V(ndvF>lzVDC^F6hmkf+X5?>WbFu1E6_&q~iK z&()r5JgYs|de(T>dp3ABdNz4Bd$xGCdv&BbDq7P=RGfYUiTdI z9P+&3dDHW==NHefo}-@MJimMX@Er3pUgX7I*2{TCujF-j6|c+d_C|WUcu)04dwY4$ z@DBA3^JaRpyxHCyZ>~4bJKQ_Mo9`X%o$j6Co#Uh}99-M%)l_W5i7nH%DxUxGmz& zhR%SL&PTo8_zWg?x3s zbA3yE7x^ysUE;gSx5l^D*W_F0+vMBk+v&T@cen38-#*`d-vQstzE^y&`d;(B?mOr^ zS`#{RjL9{cri-^MB|+;{P-fN3xMzBp)e6ijh*JCDIxx zN7^FQNMB_4$R3fWMfQn|i;Ry2Y$&qD|<&o8q!N^eL`H@;A ziCh-BJaR?kRgo(r*F;_yc}wKl$aRt1BX>mJ7rDE*S9N`5B>cx(?-I3FR%%vydTMff zOhRHpVoY*oYD!FIUS>v2e0q9%d`5gyYGP_aiR#JE$(;BZ)ap_9bIyTT zN=_aSl@Om2zhpqvISCnw@%mNDk|pLar!kpK%w{H?$zTRDgP6h05atYKC^Jk`G*xqI zF3qiZG_Mw+`8LBKXEQlWE|bR$XGXx)nJ~_gT2QOeLRy`+0In8m14>jC+Eh3vxNuDA zf{NLt&|~9P^JQjj0Q&8ORK;}_l@)arfzZT?^13-jvi#~$4cKjhwJph-bLz>aO{fSg z%n8h_pFJBUPIZqCR0V4n53en)nbUIDY(sMm)1kWD@``Y|7PI>kndwZ-dS((cnVG^& zWu|Few60n=t-ID^Ju`zTVa{SonVH%tT8uV9o2X5v-HV!37Az0MLU|)A>SCMQ7TY|1 zC2F@nNusw8x?UKlgf0fkn=^xbYItq1zQ%X})~ry8+Wk)o$q$9<10k~mbD1C$vyPd^ zR5DdewHBrI)K1l+*D*EBe5RJE(Ryj8X?@@u8t%!fsH_Xr>e$O#JQ_Ly7BOhesM1hf zb4%#$5;dZ@dRB*t{YDvq^5Xoq<(Ta`n>mN^-+HUodp~m?b3UUnWQxIBs(}P289xJ| zX=4g=DggAs>eAZ9jgV^Tq%nnKb%ULO={D^t3<63Zp;^a8%q5J!fw@@g+rV6^olY4O zrGpOh><6ZIC9{lKUZQq^d85QvKuw9`12wgQ5U{0E+6t||)^Ds+aLqK$j0m$FUmdKU zTu~RO(t8T%1P)o3SymPZg#zV3ynz{^GRi&*f*}BLuzGqZJgxbVC$vNL3l4Wgms6tq z4oFPR7?PEjKYILx$%daCSxMRmG5YFJ=VO=&f?it0^I%6#le_JPq$M3sT6J+20C zM>XyD`6Exfu&iECR9E}DZgTe?9hFv0sWenP2H+IhAJy~J6EFF85lZgmTHjmlep;W7 ziY^>oS~DTL9(ZZh{?q&QKk<^UI}=KdNob0Vi|?ph7|7#?dTIeRE{Ey@)nx${?N3Th z0qNEr2OSOfboWfCEzPwq9s1Exb^8Yn8hqkyUwsTpJ0r7cXxy-l3Y%O|8>|b?te+K9 z@&4?b+!HUjhJ%8KCp3#xqF9nvwzCeX(wLVx@(}c8Kvt=3c8=wQNt${2I}fSyoXd_ ze_46p#0$P}3KTrMqG^uYy`yqfZvVW>suM46*-%Q$W30z6Jlt4Q+cQ7^;gN zR-@`y(ZiPQ(tk88fZ7)(tX~w@y$9v=E$|L=m+6!~ft+GP3oB;TflI^*?vGf|0Y-vb zV;%^Rvw@4RV%CG(Vh3{<^Az(cxG3IZjxZlHzafM?C>jkw2`ClZ3F7w&`sJRmYc;HN07RQ>`4H8Hxy%>r|Hd)+E z_Gp8kM}BRXR!IBgH5(42TnYlaTo>>qYH#y?W+kY!<%?-UtMh`jV*(2cO6x&M(EC@S zCP2Cor3(W2)u1PoR#q-H%gHV%HdI#H&^Z;A<+TArVwb2r%(C0+iZE;8%A+Acc6}}6 zs2f#UUtKn*&=~CTfmzUZkXNAG?bp|Qk14s zrZ)an=4Iv;U?mFk8uL1HkU0dOH<`DXx1n9;YH?JsOxMh2w1Bt(6eeh9vz|R3qz0&? z0pmX8tSYUjZb@DO3n!{wjh$td+44+dv~2i{)3USzn4e}%+W=vBkYjTf1+6Zl=Hd-5d0GQ(^(6>*S&zR4rwA5Lww?@m= z^0eWAorKh=5LG_QqK+Tm%$l0mUbHWLPX`rGSEIjXzJXN*%yI=VE zn9lmLy82q+lc#o;&RG4Gs69JN6kcckyDQZ&%S5N5I3{Kr$ogKWH#!aVL4DEbs2}PN zvOfmJYBRJF?JTWSo2iv)%S@ui%lD*PC0Ko1_%O!8V|Bz=~Y?-Tviu{hIlaE-nq5G&0L{10M#+qFdsE2itiEiXZfDX(6MY!UT1=Z}v^IPL zWLRAVwMDsF_dtih@!g`V4eqsvWx|prI{!f{#9LK-4yDY^h%h%SO(m!M0v zi-6y))K+O%Yu6A|Nzg)V6+u@Lw4CSz~B)P7k3V1@w-i_+SPP_SCp zVv1pa!y{pspbXtc39CH%GJSDnU`p$UQ8|HGrS+9{%?r@uEEa$aZ;L%kZ-S{!Mc33; zRDrp~e5^-BmA7T3pauc}!*%E#q2{(3qe~Z6R8^eathq#)#AlWjDAlV9iybPDqr$C* zwpP@DWs?p@fzg0brHh00b>_5Oi>{+US)*OtfUegrF@|tLQS<2OdW`|Ko0m}?6KX>1(0c7M?Q-pkCbSXQ%4Y3Kz}+&f_jJ&oTjcFDdevenRpF9O z(&*CJpoZ0#2PVS+7;TRpcG*>JsN{BZce|SIftq${E1;&UsKH6mhtDuV(xHnUR&}dh z#+0!&f$IEfu;GTN_|(nr=ppnl69ZPU0Y?8G162q;uB~qA+f(QT(70i-^bC3yJ%{$9 z=e29KHQIIB_1X>EjT_L5=q0odz7GJI+@#%1&`9kjg62_zX#*Rl(IcoG%+q1@({0=v z0d@=^Y`6*P^Yrkn0iR4r>OYl^{m6>ya@`=<9jL6nvYgUd0k{sv2j+vlu?{dz^&hZ0 znVotYy+=v-9rUhti?+5Ay^qqhTY;GaZMbOnGehAj!y2n5!5H1*-*Xl)QEF$Wj5s!=t4zlef)b)ZfGukw;9u3c8!fbhb%vR$x2{m`Fcix6hKU2X zAEV&@cmR%J4z?cO$y9v8j8)ZWw`+H3Oo=*`&hfywxH!sYLveG1p*i)XH5IiLb1LGf zr9SR>{kr`Py$5l+ty2GPwutER6er+B;FrKZ%!P!xIBCR5R3Yu?5!jt^3K%-lrcgVt zp{#3nYj>5Xx&M=fhV3=6i)fE(YJ+o)mJP&%rb4@@sz6skjd(D#wDpYx_zY;rQ05@c z!~>|?Z)RyIFcto<4OGI~V?h8GLHBC68-?ZITv)FGh8uB?-mRMYnUxh~hHWS&6s)f; z3xsJOkHAGBV{tw{6OY8B@MtjSjKu|b93GDgwcXkt?SAb6?LqA!?P2W^?NRM9?eVR+ zm#XUefkyuff&pz+-`jbSczp%!Upd%qljd+t)!{ z!aAq@Lts~uTCwa}*agF{i17pyD?)wiR8T?o#zQBbm>>ESBoNCU3cp47$~jATBnb8#&W(U10& z_O$*P3!yj}CLGSj=YmHDpQAn7fR|{`Q32T{Cs0{eYINFA1e%A<%ti2pjK2{t#TRIM zwdWi0MfhUv1?@$x_f*8_-4_#aH2L zU>$~6;#K%+ZNGLvd$|d(2B@vkUIA#mstYHbn}#PM6gwpttb#FXdy@)3$`!JL_0{Dt zq+Q!SE~u!k4wQ$Bh#nfYA{MAwX4h`TO|)wbxKTT(9ctCJ;#n{a$9JkkjnT_Dor=b& zncOC}ATYZ$R3B+5YC-{3NW()ol ze+CxuFYuT6EBrP727imc)4tTc(!SQd(Z1Eb)4tb!(0%{GvrSe8w#nMGU&3sYRe)`>DoUpx?N$1zIh^w{WO9)mfm9<$DV zY>dvA*a6x>g4jRL{;#s6iD6*3<1B0n`k6V%rlX_mKz0!NgCHxg7C@p%d5fDM*Kukv zdj>nyjr&vH zVlt5q_)05vHk^u`L750a%3p91wv2KSf}92$nfy1fk#L7v7zkTN83@$bk+-k?+*Ijv zQ-hAe429_2_>H;o!U6@R=+xt`$DYq>;G|nhkdL59 zg1QmZouD2qQ&VM(pFcc)VDAPef$m;yGePX->=ksJyAaeBEY)TjRruFt>pG*hQ~qkU zZZ>ACr!iYIPu6Ui&5mo|%~sQPvoUQw+fUI3^fSAO-3;Wj0eqgf5!6T9MNkq!y(sfLsh?qQB>VDDvjvG=jN**)z21f51uUxNA()SsXM1WdZ7 z6NBAg3|=2&@Vc3yE}7NUK_ha83huVEruz>FI-O<-hiRA-)=HY2x7t%2yU(E9n9fBx z`>N5jxWAg$H;j2rFy=LQvgVZvb0Y{PuG3LzHOX%nlbm2OfAzRq54LQ$#&;G#v$n<4@W?<&d zFa$k8nFQq#G@MHM5&uYfJ?Jks1PcAhS|D)(NP12rXlPi}b5;=boXj-Q4?)AUQTi7M zdw+PYITr_kw+$S~yQ~JzOHlTSiF+=R>jnaw>wcm1C&Z(0tJOw0BUfVZqvF5dN4VA6!knZzTnHEe zSHaEY=5du=6<5s#A#`OvS4+?&f+iC*g`lYfO(SSJK{E&{A?PfEO1E%z1|#4W845pl zE@cEWO-4}OqVmuAhY|b@jNo$02(BQg%wz=1JJk8jd0x$}p-kXff&vZPbp*{iK_+k$ zx0W)2n<*2R4NQQI#utIg-<}7U6|Lts8C1WKQhmjrtNFSS0pg-|7*Q^5=oKtZW%C-j zoz#jz9kJ~nQa4E0b5LSDZKH^AcXD?bL`p?iJwa7rBCR%f$8JzWxINtc5RvsD_Yn6m zLDd8W392DzK0$!}Pz$BrZBQ3asmmnQR#pV_*8iA#Uo*Z@kbKy_E3n%dvM z+uZ7=vusXjZ7IZp*N!i(o*e)i7ud`pz)6pN$*l&voo=#Ijl9%G*Ib-gOY57*7Z)tk zK7(y`Aa53^vc|Z>!57DjY5$D-oW@>FC@Kmpg1{DIn}%uIZsNY+zNAzCX9+sCdz%RS zn)?Cb(z$QAZ@KTd?+IE&&|-qlCg_}X+>abM9=Kl!I+q}#!JJ>N4VW}4Fe~gt)t&yP zPqo=MImIv{Qp4%w@fEY@=!wI%@eI#HZ9L*J&+;5WO9(oTpz{gR)&YZT!WV%ZgfiwA z3@+Gp0(fU>1OT`P0}H9GFEqY%p&q6Nw!SWHpN50F3(JDkmmk&Up`JZhTbC06YePj1 z_}3tRM4Kdf>D2vXwpHa_;0NWM;B0Q-K_9rF6Hh4b15YUL=OYQa5M0vD{zASRA9cKk zlJCj%=c5U_Nb?hPvDUkJM5BjYbgQlwm@Vkb4``P;1~SJH@OeY#%e3AtLkzh$waJ~# zr_%PP5OhTYII2eJ%?E#cC|DWD(>D#!IXb`(;s=A%ZanilKLi$|V+xyn#)csmaNg>k zKK2AH(}Bqk<%fZjqB%n&p9yY_RyTl{3^bHb)D#7EJnZLl7=_Q}^QfPr9DIIbo&3(W z0sVq_+W+*tkatu?vOtW!-9cmS-5zfQgv)p7+O2z!Qy{uMx>xV%V+vbsHi9-3Rn%1i zV4Se=$9Q0D|Dmh^Mx!`iw;l)ULwe8%Y{jBJTN)-Xfj-R7(Z?sRqLyw|2-O53&Z`!N zAe-*eGJKnAbHT<~gy3;u9mElgE)C5Cw`lWY$PX_4;el#!e9&k%AY8La&9M{tIYtYH z*Vg3cz+MdMqAgzpaZ^Uq4W^?Z*cK*eehK!6F&d|dPEAo+jn{lC>>6Wdj@+R}_UQ{D z`2%8NGlmY!96oZ?=%QlS^Dv`iW|^@M4MHUJO-cHmq$s)}iT+B7>hNYUbYWn6Q0)U} zuLPJ7Gl!{z?KmO$u3*ZTDAIhqq^`y)xnxvyyY;(_%8Sl3;gQW*+QqOU_A+$e|199;Qi7Dw6dh;D=x8qvOmgc6H0I0(aNI|o&iLj;aPai?k|6PYw7pP36M4QUW(zKOXL0+yeL2-?q?pCSCPA4-9jgODJp}Le`cc!2-3eCPWyQPJqD-roDN>wIXDRC?JR|JcCLg| zcCLbO{MC33oV9Z+-UFxU?8h(TS0NPN$|`IZHX6>yNdXgWE*N0*Atb*RtbLcVTiEBo zgz*WOFTUXHaB58=m&xUDqq(u%I0(eAg!5@G=hncvG@Erv0&xz;|3IB>{%}tdbd@0j zM)3K-QO!Vg;O0&I2>wiFDR4&`&tZzPQTznhzQ~W}$M9qM0)8Ano-gE!_+o-q5p*>{ z5Vy6OAW*p15Of_u*AsLD>|^97@ss%}{8WA#Kb@b!mr$X1BjN8L{N03qlJM^m{yoAU zCj5s~xOuW5zGq%d5O!&W^qrdE*@e(SaB%7oT884QyJtfX{0;u|&@^L1XJOf#0FCwY z7?%+H2YLc1hG8xoPdDDtP_fDY6xb5zWn{|&Pkp(bv7&A<#Grtd0qVA?r5V_#%8K!e z#Q-(PBqmgDrqoxPVTt+in4j5g28!4`(us& z{-Truy4}xAIk2<(!hY5lV-&a+O)AcW^85Nvuj_1E>Nhwi>bk?kvCbYyA zhMQ`3E2Xpi&7;7X1KG~elz@rbazq{;9UgmBIqfCfUP}4Z#+vOA5R;kgPLw&2+u_G zJy0oTRm`q8G&OUYdNn^b?wDjvmmhR#p=-*3&*PG1mX~MM*VTb)9^NPt4ygcQGD|S$ z%v|*WM~P`JrK9%c1?tM?=;fG=OX)Pd0p3wSg0!(M3KImib(&AFCmecc*3{Cnw!<(2 zb~u&7xqc9C+-5uyI;|lWBC+ch(-zUNMx#U%2KVy27(HIoys?LW5DY5({rm$2-A&Lv zjr>FWLj>Im|ELW|DJ?HI$}lPdLbejkN1lUVK#Gw1M@h|hwK!h8_ zx$)2P&+&Wt=jooNoYBVAfSyj!{RHhHXg5Jm{)fmSI`gqzui4Ic?E?sBa~N1FJz`FB9l zqDKjOj6gJO??TX=i|97-$z|p$XA(?}en7ws8k|RknlZ{C8Aj_QWGD-t@Sh$xc8&aJ z%+llT8EL=ZzXV;2j7b#&=IH#y z|J?S*QU15KH;xIIiD?uV0m9OsBWQ14DpJvs9og+|d zQqzfM%c&@x4d-XHArQeLIKbc{SOrjXtm1=veZ(0+nGCJ5|2 zztU!A{7FNaZ)es)eD2Kpx5jfqPikkM>`!}a+ zlig6uTIvb2(P15@ZW&0OH_`AfoxI`risRZFo>?JM=tk$Qi_n#z0|dR?D0CNk5cCQ` zuh9W%VP`ERwKS%g4Ky?DmR@v}UT=eLkD`%>`-N!Og7&-63zi+aWicB9+3E;-RVM=B zG@%cy_w|y&Kiw$wWtO(OHrwA%h=;9`LVsa^5F^A2U>?+d@ov?kRBm_DFM3#eW@wdI1Q&9_A1h6`IC=8+86x#A|cpHq62{(i+g5J@_7f#MC)LD{{M{f=%=sj&b#8;Lq zDlY@w8qOJ^8(e4*ELb-JwH0NCdK4IFWP;5#jlw7a+*KbCbXXfdEwd=98KD#5f(l+E z>3Ev7P$(kk2tgldd9%e_H)CM|H9=tsN?6=&1OlnJEaR!fZP9Glept+!*># z3Hpqn&&{EqBUA`;g?U0HL0=H`B|%>i^bJ8jP+*;`p*MP0d;AzLXc=Q8#o6@6IRt(E zuZ-{c%>E`p6Ns>spl=EKj-c;pc4d4~RBK|M0oScoO;g|!LUbX}J3RK6(qb+XE*GvK z=tqKnBIsv*0@9l&AR)EoXIl7Y^EO0tQdSA8+f52A8G%%fwoJ+m0&I(3FWe~HB;0IF z%5MbyPH5bWK@SZ=qtGO*6V?-Sj9`XfL@-ORaPlW*>+zGaIrlis+CVEnI4$}WoJ z`-I&Da|H7=rz@`@sx7};JPmGv@v^)EycFSCc!=hESa^hBkzffXAThp~0+JFF!=r8v z_LIU>Z3LX~tN^=TnuO zUVuY};G~yY08QM&g$v_mmDX0pR?XD!wpxJ*Msx;tl&F*bs>GJ{g|Sn*{f+`KUg^>6 zp+BweU84hFv^oj#r7hJ##5oO~E~$b;9n4M|YMAhWaD-y~u<#+lE`r_Q6%;;(SODyy z`26!F!E|%6PyliBVaEFfXnDHv-&FF1Zv@b5jw}5~T6#oy*OTx|yF9;(%<*|dO!L47 z0G+jn{PB52i)e#9qE!T#bRoD~qi7c$1ot4gcN>I=ZexJEo|FMTe#T>U#k5j4xP)4v zNc0=E!f79){(Tftg*O&FVIgx9o!C`81t>-ACUzI0$EOe+MQ~5>Z;3s{Q|Z8+O0a&` z6Foklq+nEjVNpqLPJYqY@g;@1qjIy0^2d%T8JRoTIA5S`g4{_3nV=Jx38LDSFd@G% zKWkL(cqoRJVN6h8=BWnpbb_O`p~j5?`ZiI}jawN>lhRXRKXp88Tn)1TF7|QEU@E{7y|Fw<`0i=m%5Zq523tTTdFADcG+~$GqWmgqX)!iC=LBGZWLOBosi%Mx6eoz&#OaWO z;6#FxwDIG>sH_$j(LzD3gng-1p`xJCjG46bGJ;c#((@rU5qA3McF986@eD4c>WW!l zt29#22JTKvH_8sHT4E)$f1O@uP^>X)O(!^m78zkwTU0u`5Ds&LBS?(0fy;#V6j9os zOT8HIJRAFrjjHO+js%;F)JLi{m{I{usfn$?bgpj3tTK|mkfmp^)>J_|!D!Jb+V3@>b&Ycax&3O|S~ zq#G4ZGx&TA?a&Y!<7tj#D717iz; z(2ZNIQWfTm3^gZ6NQq614VBM}Gc1#Fqbg>C*<*2>?mk&ak6SeRFpHjdNbkgrfWsZ= zuDEcoV&|NuZ?A}HP7y=5r-g=ev?t9hzopT-VGo*D3raIR0j;!^;43jiVN6+B<@~u- ziz{l&7X)UPm(|o%)znv%SC^H8RXR>zal~cS!%-)3u!t##BM(AQ9z2SvsG-9U48;{d z)Cr7xORst-#{b`GUU>ZG=;Qi-Zt%jb1CR_c$CIKad>g`2W(Vqqfc}%390Rzl48&9f zLy#c;G&q5)5<*cbszXD{f>p8l!`Sk=*yj6&Q8(=JXf5!rFlcI6i4$Mcj;0F7jjE^% zB%L@hQIh%xoc~kW`3IbE3W2F&EElf_PnNhsyh>att`e^nuMt;^*NSVz>j=&wIGf-c zf^!MZBX~H$BM8nX7-ad#E#eJ~zEM@YMO+I}VSU9$2&%-R!arJTQlm8(4q3~8uv(^{I{d%CK zxDNs?@uW_2n>k(=KcKKYC>|2u5Z@Hv65kfz5#JTx6W=Fz3c*te20aVZxETbO5PTNF zr3B9;xNHkv6Ncr-VOV|+L2a*^s4Qt|G2%tvgzJ_Zl2eD7q*9p8>#Phji%)`; z;zr3YMM_(la>S;MsiwuLQHy2W_(O; zYI0U`UUqJ3dR{^+-9d^s3aV*WP+D?&W_&_YQcPk>Rzgg2MpjZxR$dBRrl+K&B`4

$Z&Pd8kPfblsY2BisMnMbO6_lHum75t4 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 J3>`e=e*n6&!Il63 diff --git a/MeshtasticClient/Helpers/BLEManager.swift b/MeshtasticClient/Helpers/BLEManager.swift index 87547c94..6506b552 100644 --- a/MeshtasticClient/Helpers/BLEManager.swift +++ b/MeshtasticClient/Helpers/BLEManager.swift @@ -811,6 +811,31 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph } fetchedNode[0].snr = decodedInfo.packet.rxSnr + + if let positionMessage = try? Position(serializedData: decodedInfo.packet.decoded.payload) { + let position = PositionEntity(context: context!) + position.latitudeI = positionMessage.latitudeI + position.longitudeI = positionMessage.longitudeI + position.altitude = positionMessage.altitude + position.batteryLevel = positionMessage.batteryLevel + position.time = Date(timeIntervalSince1970: TimeInterval(Int64(positionMessage.time))) + + let mutablePositions = fetchedNode[0].positions!.mutableCopy() as! NSMutableOrderedSet + mutablePositions.add(position) + + print("💾 Recieved a Position Packet") + + if position.coordinate == nil { + var newPostions = [PositionEntity]() + newPostions.append(position) + fetchedNode[0].positions? = NSOrderedSet(array: newPostions) + + } else { + + fetchedNode[0].positions = mutablePositions.copy() as? NSOrderedSet + } + } + } else { return diff --git a/MeshtasticClient/Views/Map/LocalMBTileOverlay.swift b/MeshtasticClient/Views/Map/LocalMBTileOverlay.swift index 2b967097..088f6365 100644 --- a/MeshtasticClient/Views/Map/LocalMBTileOverlay.swift +++ b/MeshtasticClient/Views/Map/LocalMBTileOverlay.swift @@ -9,12 +9,43 @@ import UIKit import MapKit import SQLite +extension MKMapRect { + init(coordinates: [CLLocationCoordinate2D]) { + self = MKMapRect() + var coordinates = coordinates + if !coordinates.isEmpty { + let first = coordinates.removeFirst() + var top = first.latitude + var bottom = first.latitude + var left = first.longitude + var right = first.longitude + coordinates.forEach { coordinate in + top = max(top, coordinate.latitude) + bottom = min(bottom, coordinate.latitude) + left = min(left, coordinate.longitude) + right = max(right, coordinate.longitude) + } + let topLeft = MKMapPoint(CLLocationCoordinate2D(latitude:top, longitude:left)) + let bottomRight = MKMapPoint(CLLocationCoordinate2D(latitude:bottom, longitude:right)) + self = MKMapRect(x:topLeft.x, y:topLeft.y, + width:bottomRight.x - topLeft.x, height:bottomRight.y - topLeft.y) + } + } +} + class LocalMBTileOverlay: MKTileOverlay { var path: String! var mb: Connection! + private var _boundingMapRect: MKMapRect! + override var boundingMapRect: MKMapRect { + get { + return _boundingMapRect + } + } + init(mbTilePath path: String) { super.init(urlTemplate: nil) @@ -35,19 +66,29 @@ class LocalMBTileOverlay: MKTileOverlay { self.isGeometryFlipped = true - //let boundingBoxString = try mb.pluck(metadata.select(value).filter(name == "bounds")) - //let boundCoords = boundingBoxString![value].split(separator: ",") - //self.boundingMapRect = MKMapRect(coordinates: [CLLocationCoordinate2D(latitude: Double(boundCoords[0]) ?? 0, longitude: Double(boundCoords[1]) ?? 0), CLLocationCoordinate2D(latitude: Double(boundCoords[2]) ?? 0, longitude: Double(boundCoords[3]) ?? 0)]) + let boundingBoxString = try mb.pluck(metadata.select(value).filter(name == "bounds")) + let boundCoords = boundingBoxString![value].split(separator: ",") + let coords = [ + CLLocationCoordinate2D(latitude: Double(boundCoords[1]) ?? 0, + longitude: Double(boundCoords[0]) ?? 0), + CLLocationCoordinate2D(latitude: Double(boundCoords[3]) ?? 0, + longitude: Double(boundCoords[2]) ?? 0) + ] + self._boundingMapRect = MKMapRect(coordinates: coords) } catch { - + //print("MAP ERROR \(error)") } } - override func loadTile(at path: MKTileOverlayPath) async throws -> Data { + override func loadTile(at path: MKTileOverlayPath, result: @escaping (Data?, Error?) -> Void) { + + //} + + //override func loadTile(at path: MKTileOverlayPath) async throws -> Data { let tileX = Int64(path.x) let tileY = Int64(path.y) @@ -58,14 +99,18 @@ class LocalMBTileOverlay: MKTileOverlay { let tileColumn = Expression("tile_column") let tileRow = Expression("tile_row") - if let dataQuery = try self.mb.pluck(Table("tiles").select(tileData).filter(zoomLevel == tileZ).filter(tileColumn == tileX).filter(tileRow == tileY)) { + if let dataQuery = try? self.mb.pluck(Table("tiles").select(tileData).filter(zoomLevel == tileZ).filter(tileColumn == tileX).filter(tileRow == tileY)) { let data = Data(bytes: dataQuery[tileData].bytes, count: dataQuery[tileData].bytes.count)//dataQuery![tileData].bytes - return data + //return data + result(data, nil) } else { - return Data() + print("💥 No tile here: x:\(tileX) y:\(tileY) z:\(tileZ)") + //return Data() + let error = NSError(domain: "LocalMBTileOverlay", code: 1, userInfo: ["reason": "no_tile"]) + result(nil, error) } } diff --git a/MeshtasticClient/Views/Map/MapViewModule.swift b/MeshtasticClient/Views/Map/MapViewModule.swift index 1cbb43c0..f7468edd 100644 --- a/MeshtasticClient/Views/Map/MapViewModule.swift +++ b/MeshtasticClient/Views/Map/MapViewModule.swift @@ -11,9 +11,9 @@ import CoreData #if canImport(MapKit) && canImport(UIKit) public struct MapView: UIViewRepresentable { - //@Environment(\.managedObjectContext) var context + @Environment(\.managedObjectContext) var context - var context: NSManagedObjectContext? + //var context: NSManagedObjectContext? //@Binding private var region: MKCoordinateRegion @@ -40,8 +40,11 @@ public struct MapView: UIViewRepresentable { private var overlays: [Overlay] - @FetchRequest(sortDescriptors: [NSSortDescriptor(key: "lastHeard", ascending: false)], animation: .default) - private var locationNodes: FetchedResults + //@FetchRequest(sortDescriptors: [NSSortDescriptor(key: "lastHeard", ascending: false)], animation: .default) + // private var locationNodes: FetchedResults + + @FetchRequest(sortDescriptors: [NSSortDescriptor(key: "time", ascending: false)], animation: .default) + private var positions: FetchedResults //@State private var locationNodes: [NodeInfoEntity] @@ -62,8 +65,8 @@ public struct MapView: UIViewRepresentable { userLocation: Binding = .constant(nil), //annotations: [MKPointAnnotation] = [], //locationNodes: [NodeInfoEntity] = [], - overlays: [Overlay] = [], - context: NSManagedObjectContext? = nil + overlays: [Overlay] = [] + //context: NSManagedObjectContext? = nil ) { //self._region = region @@ -111,7 +114,7 @@ public struct MapView: UIViewRepresentable { mapView.delegate = context.coordinator mapView.register(PositionAnnotationView.self, forAnnotationViewWithReuseIdentifier: NSStringFromClass(PositionAnnotationView.self)) - Timer.scheduledTimer(withTimeInterval: 10, repeats: true) { timer in + /*Timer.scheduledTimer(withTimeInterval: 10, repeats: true) { timer in for node in self.locationNodes { // try and get the last position if (node.positions?.count ?? 0) > 0 && (node.positions!.lastObject as! PositionEntity).coordinate != nil { @@ -123,7 +126,7 @@ public struct MapView: UIViewRepresentable { mapView.addAnnotation(annotation) } } - } + }*/ return mapView } @@ -139,18 +142,20 @@ public struct MapView: UIViewRepresentable { mapView.removeOverlays(mapView.overlays) if let customMapOverlay = self.customMapOverlay { - let overlay = LocalMBTileOverlay(mbTilePath: Bundle.main.path(forResource: "offline_map", ofType: "mbtiles")!) - - overlay.canReplaceMapContent = false//customMapOverlay.canReplaceMapContent - - mapView.addOverlay(overlay) + if let tilePath = Bundle.main.path(forResource: "offline_map", ofType: "mbtiles") { + let overlay = LocalMBTileOverlay(mbTilePath: tilePath) + + overlay.canReplaceMapContent = false//customMapOverlay.canReplaceMapContent + + mapView.addOverlay(overlay) + } } DispatchQueue.main.async { self.presentCustomMapOverlayHash = self.customMapOverlay } } - if mapView.overlays.count != (self.overlays.count + (self.customMapOverlay == nil ? 0 : 1)) { + /*if mapView.overlays.count != (self.overlays.count + (self.customMapOverlay == nil ? 0 : 1)) { context.coordinator.overlays = self.overlays mapView.overlays.forEach { overlay in if !(overlay is MKTileOverlay) { @@ -158,7 +163,7 @@ public struct MapView: UIViewRepresentable { } } mapView.addOverlays(self.overlays.map { overlay in overlay.shape }) - } + }*/ if mapView.mapType != self.mapType { mapView.mapType = self.mapType @@ -210,7 +215,7 @@ public struct MapView: UIViewRepresentable { shouldMoveRegion = true } - for node in self.locationNodes { + /*for node in self.locationNodes { // try and get the last position if (node.positions?.count ?? 0) > 0 && (node.positions!.lastObject as! PositionEntity).coordinate != nil { let annotation = PositionAnnotation() @@ -220,6 +225,22 @@ public struct MapView: UIViewRepresentable { mapView.addAnnotation(annotation) } + }*/ + + var displayedNodes: [Int64] = [] + for position in self.positions { + if position.nodePosition == nil || displayedNodes.contains(position.nodePosition!.num) || position.coordinate == nil { + continue + } + + let annotation = PositionAnnotation() + annotation.coordinate = position.coordinate! + annotation.title = position.nodePosition!.user?.longName ?? "Unknown" + annotation.shortName = position.nodePosition!.user?.shortName?.uppercased() ?? "???" + + mapView.addAnnotation(annotation) + + displayedNodes.append(position.nodePosition!.num) } if shouldMoveRegion { diff --git a/MeshtasticClient/Views/Nodes/NodeMap.swift b/MeshtasticClient/Views/Nodes/NodeMap.swift index be4918e1..c9e99e80 100644 --- a/MeshtasticClient/Views/Nodes/NodeMap.swift +++ b/MeshtasticClient/Views/Nodes/NodeMap.swift @@ -108,8 +108,8 @@ struct NodeMap: View { userLocation: self.$userLocation, //annotations: self.annotations, //locationNodes: self.locationNodes.map({ nodeinfo in return nodeinfo }), - overlays: self.overlays, - context: self.context + overlays: self.overlays + //context: self.context ) .frame(maxHeight: .infinity)