From ddfc889a8cc4ebe840b6e3db419f8c37660374dc Mon Sep 17 00:00:00 2001 From: legop3 Date: Thu, 1 Oct 2026 21:21:39 -0400 Subject: [PATCH] basically moving docking flows to the server instead of being in the web UI --- dist/hornverifier | Bin 1966264 -> 1966264 bytes dist/roverd | Bin 7078072 -> 7078072 bytes dist/roverd-debian-laptop | Bin 7110948 -> 7110948 bytes dist/servoverifier | Bin 1769656 -> 1769656 bytes pi/roverd/auto_charge.go | 2 +- server/src/services/commandService/index.js | 41 ++- server/src/services/dockingService/index.js | 273 ++++++++++++++++++ server/src/services/roverManager/index.js | 1 + .../services/roverManager/rosterLifecycle.js | 1 + .../services/roverManager/sensorPipeline.js | 13 + .../DriveDockAction/driveDockState.js | 6 +- .../src/components/DriveDockAction/index.jsx | 59 +--- webui/src/components/DriverVideo/index.jsx | 2 +- .../GamepadMappingSettings/constants.js | 2 +- .../ManualDockAssistOverlay/index.jsx | 31 +- .../newgen/CornerPods/BottomRightPod.jsx | 8 +- .../HudOverlays/newgen/DockingHud/index.jsx | 78 ++--- .../components/MobileControls/AuxColumn.jsx | 7 +- .../MobileControls/MovementColumn.jsx | 28 +- webui/src/components/SettingsPanel/index.jsx | 4 +- webui/src/context/telemetryViews.js | 8 + webui/src/controls/ControlContext.jsx | 146 +++------- webui/src/controls/commandPipeline.js | 53 +--- webui/src/controls/constants.js | 24 -- webui/src/controls/controlMath.js | 4 - webui/src/controls/controlReducer.js | 24 +- .../controls/inputs/GamepadInputManager.jsx | 23 +- .../controls/inputs/KeyboardInputManager.jsx | 23 +- .../manualDockAssist/useManualDockAssist.js | 67 ----- .../driver/DesktopRightPaneTabs/index.jsx | 7 +- 30 files changed, 482 insertions(+), 453 deletions(-) create mode 100644 server/src/services/dockingService/index.js delete mode 100644 webui/src/features/manualDockAssist/useManualDockAssist.js diff --git a/dist/hornverifier b/dist/hornverifier index 67c1f649ed93d7deebaaed80dca41cf0e99ef6cd..8a202a523925e11d35bd325f0f6ee6bf24c31608 100755 GIT binary patch delta 379 zcmdndSh1tAVnYYNriVppc9EN3N^Wvhah7GWZ-{PXj=qU!U}cGqxmiwNPFQYQVr5ye zfBNK&{9=}l76JacMQNsKd69m}i4n%;=7B*BEDQ_`B0$Ux#O{8f3=^fMOFx(*oxJK- zt;-Hpo8(Q*$Nn}6v2yGJ(mOtrjn3QOenv`mqmX?@mY+z($o@AM3o@iicY@Q4hHBU`8 zH?lM}PD;LFf!9MG|)9L3^6dXGBmU@FmKPgDGbCSKr9Nx mVn8eo#1cR(3B*!BEWJJJrpy<0YT7y-Xsh1#>x{Aw{{aA)FL&7h delta 379 zcmdndSh1tAVnYYNW<`OEpK(EDS$eUNn}4`hN}g*#h<>DFu1ASmm8WHCaH)k+NI+(o znaSjh{9=~H!R}R&=@lVm=J6F-;VBlbRaMyxEDQ_`B0$Ux#O{8f3@`piygd`7q$HcP zO8i^VcXf|4AL%B6HUY*q0j4$q<~9MAHUZW)0k$>)_BH{IHUZ8y0j@Ry?lu9QHUZu? z0lqc?{x$)idcigUp=|=f@+ZAbQjJWKOihfsHjY149tV~R-3@zKUZVCgj2oQ?` mu^14G1F-}UO9HVJ5KC{*x+(KTotm~z2imH){W_!U!+!v{V|TIu diff --git a/dist/roverd b/dist/roverd index 9556fdae35c5cadb390d1ee08fd36785e382a1ca..b77dfda84e73fa46291edce698099e7b85348352 100755 GIT binary patch delta 88239 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 delta 88685 zcmZsE3tZ3F|NrORg&H49l8^eRBqZDxBP$K^>}<9ulM_0UgvdQ=k*Lj_D-W^Ff zXn%yil?xolTnyEXNnf%{8uL|w?Vf+iq{YC+T?ciLIBu2%i%-;CZWgE~ze3s*7E!i+!q#L#m5os!O$0m+Gl5 zPN^==sV;A&y3|N@shR4cPj#u4>QXz^h2>pSUFxK|xTU((O?7ckb*Y!?;*si7Kh?#M z>e3+9#q(C5jgf}UCnY6nRAS8QXvvW#;;hC>g6X5#{N_cYGL}CUW5E$2WtY$f= zOS|WwODh~s=tQ`fuqNRV_%8DDkm?|85v!|+=bN21OLK}cIn`fg+YVy{5y z#iCn_z09{38w&@O?_HAgiCN#s`;@(O*_`9=-L9I$XU^3ui1?&NU9(RM z@2d{dNOQ5t8RZF`@YeEno@U6z20bmbi|x(Gqtw5f)|0ZdS0Dk7p zKK|$JIG$2te?Kht^PeH5n)&Q0N!QIrfBznm-NRk@)!V-jmN)UAVRz2v#L>>@U)Tq?5*hSE} zwcz_l#7D^=+xDC!=sBllCH{ zwd_sX(7&}j(O-UpI8kXi8%ZHj(SRuZF`qs0ptbBLDK`45!#9+K?MAc!9}4sq!cm%N#C<>K595?=MwZy@>joi%shmGyfs*T*!a4h4QWgwezU^8{u zOk+L|~Mr5}o;agDHR#x>pd`m5D$b=ZSF%G`%1B?onn|k*DxzsX5 ztLVjwUuzY2ge&M6tOnI`&9_==Y6YAN@o}))1TnW<9pKVIZpz{RMc211Lbto4qWeyV zhDx(O_I`)UFmZybuk;aoBjf@04wdhNkr5#`m3H79lcg{iBjr%38Tv=c-eLK9<(5fy zHl?W)@kZ7XOHFbuf=nH#G5IB5kO3aps;o^t>izb!{d^Dyddd6;K)VrZci z_~V|{a#dshowpSXyY3vIk9`Bf2_$uw0}&A=|7kbvGd!Bzq8=i;$quv+UAxJHrKia3 zCeQJlbiE2^3~`>7H^= zSHqnujq1<5Lbw{d++d29P14^;h?biM{q={{Qdd|Gm&Jt+w6H=E+t#j9tsqvrtr2u& zR(suX9F68U)$5H3Avar30<7rx5*oD$1Byl~`d&%vn@HxFWq{C3$ zi|XG6;k_w#ZIIYo4mMu>vD7kLqaAmxmU&u3Iys2-PV|;T^-J$mDdRjyF>=O+k=r2ub6|5(cS-&hh$@>gPiECqiFF2u?M^!c7uX!k+x!=W9BQGM94 z16bRK#iMbw4~xHz8-3*YuB%yG4$LU3q$D0=`^vq2XEE7Oqbj*88&_+j746eFvJ%!&PIa5yI%?k_JA{^q-~r{ko3&n!Mj>Lq;{bWI zXWrE+Q9bdi)pA+m?}7oEs5X_VM0GVz43H<%QIZE%*y))A+3GE<9Y|*MK(+wxC>qG# zeFN7xzO_KO09K3@-~+4`pa!x9xPc-8y2CJt;4gF);1H4qv3e@j4x+u7id%!^ujucl z4VK%vuX=2=S;8gIX;XGzjB3h1RWs{A(FO;8^VcZK4vn}*^LH#1_!PV_6#9+ zLQy<~cDNMI@$v|oqQrO(jfZF<5Le^nvj(>-rIv#lf1gscqF>o&4KM5;DhE4v8>Z+? ze&M=@crcVwegpx-)B=@VNbhJ*o2O}hm>KI?w&X?j5c`|vWJsfDuM*4hv?z# zr#F%WaKPH(q&vn|#G#^y-twrVVr~%gLL?j${OC*eBNq86%-yFLoNgmpBHJWNtZ)#;dA(pr69dV*RdR>NQ@mz{k@M3A`v($68j@>EVW6G zun&lS2@*eGk?qJJaQ)id=GzSM*ix8ABiRD3W2<|hOFuWV}4mzIo-_j6}JMl!p_EHs&YF%Q!b@CduB|JV9mal=`-2Z9c0gxS4$Q|&zAi#<0B&6hxCtFt_Vjzl84c37-kXg48+cor`x?Bi<8N6 zbCk@I2QrSqO6}~FJNWoxxrsCpS+m*C>TpkHg>pm-V8KEG9^gc>JYR_6#~hk0B!A2n z{>ILaIUi3!sdzgB;~Yx#B_z#ZuTzjgVE=4?35E?fxZ~~|is>r&&ZX+mkk6Gp^`2D5 ziUpESTH!B9pUZ*D#o@VZ?IeokvTybp4=0ZNd93~o4D)G=zs0Eetlk{w=Cjf3&@YgK4HuU_vxu2a`0|ZOfQirJ z`Rt3h1@gGCYD^jz0>&GK^jVoD zMr(ZIk5qR&)hF+1%&q+cmWxiuA>l_M3=a!twhXGndE*q)Y@Xr89Mr zt%_Bg==K&QEu|hzLeWxkcO9aavF$mSIFpcudHR&hB{PnFW%u8|Z6AEAg0#*?7A}m=!%sr5`f)n?L2wTZ94Zy;c@@Rd~ z&s10AJTu7I9G0c#(if{JVBfxp&uaf&3w*16#({0VS zbJ?1|na`Do&Les?30s81)s*URgsdSIRPZ(I5EWbiD)<_j7$2mprD?Jgz#H|~$u(UM z5RsFvj|c$#AmoW*mUZmxASA3~Cw61WI-1mR$X`b~D4!s*J?8Ep#nKjY@_IJNp5|=e z1b-c_8)-d0Kc4AZpUk%6*UF-%&H+@_9hSiXnBfCtFfLweuCg*{}PC#1a; z_4!EH%fv5{wwH7HS?m{yC!qgap5q@!dWF=Se_B$p9$pZ%rLZSC8^g3I97d6sjjYd! zE!F(sbJjOZJ638Lqjlun3sy^ejm{SE-7kmMKEXwE zmZM~Zd_j{+bMXaP@c2N*3>0&gZ4{&^! zV&?(b+weB&Uo%NWdQfQ6(VwH)7lk8`$83EYW{X8mD<*}&`5?!OPU%59*gkA&A2Atv^e)rc#s^Tm!3sK_A?7IN^oyDQCvq_mb}a9>9VqlXbrZ0CAY_nFFED5 zLGG9A+d{a1C0_}ce3{*#6-pA2f5(oNT4rdCZ2I16@zz-81N|YnV{IMRtd%Sq|Gmbt z1&8E*LYNPclp=&3CMmyMv5_KTR6ir-u>7;35iw8FFxwIHd<`>wt*;qz8priuCFY;8 z|7*?zu^4M6|Ar&mEKjDp8ghhhO_6qlqfi&Oj>yCG4Rfl5_#JdT%GvoxY&c38+KY2X z$)PL+d_#IZW%s&h^Xw)heIsvSDAn~C)jkpOF|uOoRQse zHCvv;DB zBG-e? z>GW4s__k(O#hc15YK!={-oQ5vL6_)MmY6dxaivE2&dOmYbOHn#WMXQi>5iV57HGN? zgRYkuYMH_iTP0n0k#Lo3=J7pc7sK51Rnex2w11V+ru)dd%wbpw-zy~g62h-gl-gq9 z71Dke53VrQdg#k4+Si=6S}tfUHoL0P{)z##$~L)NyDE<`*8k+0#gSnVAsOSd829(w zR3v$(71=X1a@m}JmC8x4DC9>u%D?^eXO^v0E8zpLC6!kxwIUKUl98Z8l-%XaTY=0U z8423-yu@;d26iipzR#jZn01KSID*eYGe!DvKG)~-5kANBc^DF}QCMnV!!-(a0&=c# zxL>3A8oOHt{dLOsZ|HuV>eL!DuQTsDGOjZ(2S=~dxEzGz4dzux$PMQ0MBEMLeTu0! zE*eXJbRIO5Y65&3+>|7lGoR*}@peH%VJ{#NL$Wurs+g zN$@pDw-}rocd#lr*OCoYT3QjDV?(#(&|3cAR0ZdZCvB1PZ!1vri@btw$+zhx&Jn=d7{Ss) zCj)8s#HNZcB`XQVn&A;5?~pt9G4>AGyBrJeP$r#l;SS}#9t?TxUQdMQaR50*IOwz3tx1!_dca6Vxn_y$p}`S9w8~ zk6A6ZG-MHoEMQcp%^S#e9Mh&suP3sLvDXgK zbSD4gxOpP^PmW>$a{eT84%7qTaBIkiKj5^=(9Q$7U5$MY6y4G9BXyQ55jOk14bopE zs~rA+u_kv6{^Ce4LlzU=d+sc^MCkti{iy;x_=`5JUNsr{f2Ci?kQhdZ} zX{EJt`Vp4q%dPbTxn{3yGT`VC-~fj zLdE%_a0lBNuT6x0$S;*u=dXxG%mG~FSQ!Oh0^c%*q4rs2FV6iJtXwOL{dko6%trjZzp=emWLC~YowRS^X=Mwgj)Z|4H)?eDyPWaN3;NWNce}^x1gK> zw3pEHnOmWRIl7R*PAavAb6y zbjM#Px@p}tPv=*-z9hp#5b{#)>;4N(-biv%Sm7~*LMOR$6(v4F_DlBW4Dw!bxPC;y zD{A$2#J-Z}*ZcjD)q+YXX6)wASBmawSw-xI4s%5V)RxyIkXwkaXd8R?BfDj%A2-Qgvmy|`oT3>{- z>FWq78HFGxr3XhL*@=C>gu_lsAop4F#oJdfI4eT-LY$Rju0vnjR&?uGOEg*y(pzNg z9&~++Bp*fETZ*@I5&K2r$0!zwpCGITIYh6t2KzA{=`~oSDY69k3Ar_tVdQpDO?Iv+ zy4F;-aQCFJCK*=?2EF3PRdBeT?b8j?D_7_n1=Lca^rvr>S(a=4zKY~pL=}yUT5NP4 z@>#%j6$=RF3}|dA6&ndo?hU>*U

fR0iPSj}wseiG2)J!LXtn%|?4D|0`x+^lQ^0*47iEC-5V@`-y0h&q$M)9P z_V$JC%@L)p6o_5uT8CVYKvErYXB9ToVLcfq>W~8s5bs7_B_Yj?iQF)8BL|$2Y0k|Kg;b9!mnJe&rm{$4x?2YG=H=c|6ENOAWM?SYRnj+Vc_FA>ziPG2IpgIr%?Jq5WD%cLN_ z5r<`_Ik^!_(m8zK$D&se)|em;OB%C=pQyn-cBA5eOO2KGT*-ih5pJS zngM+iCf-MU6DEFvB~6sUhCyFhEeUGcy&1IQ1Nc0n*k%Q|9%Q!k+#J`GOkiX&CvBcKC&>JUOh#E)JVTcVNYCV!w5|)oFmHnHB8>+HedLLs= zEV&D=EtQM8afF~b`nWaB=#wpM1*n@nrXiXCydHEAt}dnmcW&8Sdiy4}jJ zak9740Cz)`1)TavwNXAdPFY_Sj_LOqnXS!i$cxZ*gB+&xu01QZYCFW|Gb_A5tQ~+u zVH_kzQ^JTofhVfS(#9CuR@v^Fy|1b_H+EVr+u&MYpdhtVT-dG1c4U-2;@c_9xHx*y zj$+sr&h3@yjBlm1r);i5R(o=28hpdap;_ks;q0>hCZp4p>iiHVIw)po4W@Qv`5V~T zkw&BdFFVpwO)+Og2-zBs>_{^125v->8##Cxscf=exSqSo`#s%pu#-}koI2Nu1G5b7 zomnFXVV#xHTw7#zCV_)_28gXQ7T#Iu;V!fB|GQlK3$a~DSbyyA!Y+95I1tO%ht!pf zc#TnA6>t4VgPvK2(6)$G{WYX_Rf6?pzn0iS`Aj;4+^!VWla%}ai+mRJZ!3fCet#cd zbW!SI?%Rq3ZN|d4DTNbo>usg8yTAAU>cvh3MX@J(^pB#j979SJ=g=<5i6V2uc=SgZ zVd%*AS5mC6Qk~YAY)jbne6Eh{ZiWr=v zT;3YZW4Z3}>CSOw)7{zs=NQ$U6l}nf?quRB?Ch>wqhQW_hk1$S{qJxn$gvwe_*&2G z+>?_rPZh*Q6NX?zG{>|vVtY}R(~#DS%w3EJ;>{2Ky?KIg6%W!Vi<~EpwCSA}G8ff$ z!|)iTnQ`5!sxa-etyW84O^9FUB6UZwGe(K3y`@K$5O>+C3Gs4^?1UDvii>-rz5nZ@ zc_22HlGP7;VwH~WS8p+fN8U81MW{TCb`dXQY45(F-c+1B@>wicS9o7@dcQzYA0^nZ zOJwVKEQ#55bt#4GwQO!<_o1XOgxpv0;D$%nzI+>j!+n)G`so#QY}3~=ME0YZUXA_z zDDNAP*N?*0^^F2N9@(F)eT1O?vK1%`Ji-V(;X%TCln_Pa``9ZwYg^RCi? zo@v+sa&|JN3h*Pc2GHhwi(&!3M9@HjZAcP;>L|cG6c41PPr=JLrK6q4Zgdz#L$V-F ziJ+sy+HSZRr!=P75%~6wnS(NG_&h&@^=ixk*1x&UAJ%_TuRV*CJ0-KRLlpOpC?!(B|%?KYx zq5cpF!&scb(qZi35abTym>fX(a58xl(uPxrxfmQy&EtAJLFs7JZ7206aT<;OooQ}i zH~PZjCp?lah)-Y(U6GkUIZwe$R&Z6vS}h&;tF&`Yh<=alU*_Q#mZeAk9+7j8<2^-n z{OnVTGxuYh4CwWqeKoWhLEb$<^avI?fte#{g{~oQgwj`k^+8$1X1SO>XCQo}vWY&) zt&z$i{qVHXf6wkjAaN8ePOV{R_&zPp-BFzI%aQax-JMqN^O>vp_u1bIwxp8x6&K@C zum4qos=x+wY-izJac$X4*uSjCBZIyXd8q%Fzx0h7FW z^o2>ykn#bCz8a6dC{d2JKPa;>>N|my7C{=vd@G8_lf)t8*qk2{ndEqTY?)=Vt4 zNd!!y_P0dJB;|X3%Pm#H^)~t^vD`AuOrkhn!qFrO{%tsZs7w}m`ymC7r*l4JkzF|V zp`z;dT`RHN^~orFLi-;8X|mE$e-Tx&_c4f`tW2~I9;2;4mLh+$5~%;3O^O-hIBONa zFoiTVLV^G-v1bZ}l{zDU3#6$^(|`dyps}3ZqWB3tiDnCXG-K{EQ`OyN+^boma1kJ$ z%E>SQJExM~LoiGu#r#){(GvV1`h*KmPaD) zV`Z5Alu;TD7m@cdy{*<5JBN0pH}=mVBZi@L4hQ!+40D<2hxoZn493p6${gAw{}eXV z1Mw;3Tt^=Bp+ug;jTD-?Yw(|^sIp&bmD^~)#%gJ(F)(C*gzn*dRo7u(q;3*n^}`R-B5LSeK-jhVJR0JUB(W!NBJ_g-2+{h6MTkr0(VDI zo^1(ZIGj){S!kk`vll!9oTl_JzCK)LnaBYW6U$28a1kY4w1Aus($h$tVY_y0mDCN_ ziu{7?G|qT8QJkiHP8T=h6D81n>H7a|Eed&`kdfS)TtPvZ4C4w?HxFZ1aD=)dXNA&P zFOx{I!{ypA?Ot;jSF(Ty#;&Ai`V{#q$pby~>2w)hp?f+<$P3BoN>k$>RL!|$fsUS2 z#Wd`j>Nq2D7INepau2MVi^wdce7f1-Qv`6 zofA~uSwyZ{ z#A^9M({^!mZ3wv?)ldttT9LJ$O-Cbk1E-yzZEuS0?TGEIw(V_0#hd+;G)>t*vgPLD z+(xppK3q2uPcrvAm5Ii8$OuWd;9e`rZ45_FoEH(nX+bY}zlmz=j2o0n41lr#&%GiVj}<3a`*`Xh{=GBE~mpOUW&vEft3 z26(`9i!#_Zj`mI5{OL+4T>BU{->-rc8g#-SWNe{Vbr4}&S@%866o4n^w^rCGDU*05 zglAI7xr38QLjJ)1OfDKrkRw1J6lKzqbQ8cEGY&SbiHL1VeMiUT+#`o;3x~QqEX6Li z!@_M`p*BI$HsZL#V^Uo1|AzhBmFfBe$)y&PHbC4S+d=ckM0S`Sr1hcyjCJ1QnJLoR31bCV zg!IqY$3)!vjEIioC5z}YzALfprp^u_qJ9Y9#T>fMyEqynv0)cE(+{`ATM%4#)1Fu3 z87lH$#e?0%|2~X+lu+Z2LAE2#;-I&Yi2Q#2n~9O?gxo}0K&6~;P^qVBAx%E*muYm z#ezh!rtSrdJN{opJT#ZZ5;bgy9%d2IiT^0}5nR7yFXjvWNKEr84PFWrfyF#9P6wSA-!{>PB>3Hz= zwzvzYrPnmapH&V>!Qeen*bbZ}^T}J%;_?v(qiUr{E_pWt7R+CeL1kLY|u= z_IrxXT2ai~z59QZ;A-c4GWsPCHxXYF!Uf33Q~@~Wp0`El_~x7Wd5NWR(vP7hAr`Bf znO3>x?gRe|bauE8bb*3#4AKuoaU5YkP@vZ1!VijSNM2>Tg(BEgn|+MY+@(~wUR0jZ zjyqpsRT*KIxTbHoL@-BqFsmwbbQzXhA~o}|=MoWjL;fWS0oRB*tnwV;IUMN?SewH< zJ#s`MLrgie=AUEiWe%8xtji4JeAfk+bCf1-lGz^a*I7ImVb`g@ z*+{%jU7C;V>m02-B;H^brep05CDbsc^)m)kZDH5!McjShvp{?0 z@Co$)xkAU!{j8`)X((5O)TBc$TMBo$q!sRF-J8TI@U({OO{I5Gm+fViJes@e+Wu9{ zLi%Ugb2OiQxQ8{4uu?E-&2F+e-X^?Bj_38#)^@GTVYkQ#X@@!O7n()G(^k(c{YW8Y z{9aF5RPmjIethnZqqk}P7?``GjF7u55QuqUf*Wm-d>+VOZ~i*)XV0{rgq00**>i_I zeN4fQ5g1(d9_t(LW#xa>yeuk;LtG8Ry2 zfPO&!uk?%N!}uGmCu7yWaa7}R_&17tEDC=k(#9~}Wnv6s?@}Th|DK9 z`XDi%B|XF&r{H{AO(*2%QzRB6?H(toG?d<>+K~7HMv!OYMge803CatIm}+pJILZ-s zpTfi4hx=q8FS&`tNZVTpZrmq+1^PlJ`XQ{4tK%U!TF8kn4f}s*3!Liy;7l?b34c&; zo*?TFT8a!r{;7o8-+reIx1~k~ZdI-QlT<%J(Vw*FygK(l39UWvd{toX%(XJqHt_`N z@&{b@Uq|Kxt~h2|c|wj-^yc1ID)L#En*j+Al|Xd)OWDdfu<$Q3s1*JdM$nhoa-1G2 zKH_e|Llzz*l6uqc%6dqrwxs|bh$$ko{3@Oec3%7p0M%Ozd7p8mmIy8S(h@t1*f%E> z7b(Gx*3wu;eK_!EJ}99Q1eLT*AoJ zik+pFC)({yp5!TEPHQX?ITM*PL(5@os)X|BCUQLCQ>xV0_hq(|mR*jnrQF7TmW-t( z42DR9>LnIE^PMG}lOXzec}(&sE(({v7y=ST#=9g}-k6E&fN(bK5%n--HN8>X^Am zziV;Hzt`7a!u=m*gzK_5lJcioEd@OA(yXujxVJU4^ev?4RDeTMD-3^E%zaMO+?ssO zjnl{dU;lgka{?Y}xNv}X%DqHxOCMtT zM}(q@Y(CH7v%t#<;wABJh5i*MoUh>jipIhd-CxnrWn$DT5_%9>uV^Jc$GKM=zMIg$ zW}XQFua&{}kzKXUug9L(6r07kB|x{e&MMu3wPEUXspi@&b(mP(O6o-E7oPJ`qj+24 zf}{rWJb$UA`c?C?GwJ@WZVQs7BFRqmlk&`K?bJ<@)WIC&pwiTP*>{O`p$-jS@O4rVN|s1{Mu6R52Yb|3a11sPdk7FU=o z=&ctEe+O;X>}|NZs8Q}s{-YAR@4`yGL?y0jT-5rUQp#P_pBcl>byb@>u4SZl7+&&` z%RK)&WbQZUUPo2k`*xz&#QxS7F(Ec4jv2H-S{)L}L(l>Mg>}@9A~fnoK24=YwqaSZ z>sOOIQ=-l}B)O@6jtbjY4&S$1_=!8nZmh~}ZZ}qKfq=SX*>=R$C9mosU4Z7eK%n1v z+{Sl-Cm4EnRV-;^-PNd;*41T}Zkp{gOk@yEn^Wy-cG7jJXVRU#%!v4*2;C3gM(EDF zn{*f3R|t>&rjD94{*B0b>Hz!MmG9SZq8?>o09-xDk*?`hOKpVn(Rte>`u60(aU>=B zyJ4<}>O{|Ui3d5_8HFBdXV!8b>N!UGNs)VkasFf<_Z zh9jQIEc^$Wm zOx%w6hH8}jReDuG>+yK2#aZL(z_50@s|`)M=kp_VJ-to3UuQ<@&Lg)W`xS>wZ`IHK z;CL-y)z@y@tGq>n0gR+D|$cyCC)?8zM;wJ}dt@!6Bpu+f(VN)YEuHWeYw zSM~O7z0r0U-bEYf7Nn{2TKrA!cU(n|uR4x_@~}n~eMxSlF5{siXFoN{aq-GBi!=KB zQMQa&=tqHDfh+;ykmsj%)_*k4YWYCxUl+)Y)p7PO+G%X;ixZ7mk4FO=tATcJeTbpk zkl0zZzw@wxY}uq0w#qz-qauwH1NzCKSBn%C@fK zXcHCOT#9YVf%ptJnzAb@49!&4HQ+lXI6b%>bX~sfrP}EHIFl=Oj z&a~CSw|&YAV$ms%iavocK%L`yl}W;}7fCsMzJmP$w070r$Iw8v5e<1jbJf$gpwxB) zK)CsxY4o>gwRp|q-WER7&^PD6Ek|Ua>W0(JsRTC=A4pU27mA30+vCoGYM{Q>8`N?) zBak@S|*HuTh|isGI`K3r>*-gqFVgF*zgpbc=q*cR#taq_zbNA*79WD-EF zkkvrrVaZQaA_Ip_}xe@Q;H@0h!@L)Aq z|M`fjeYfpM4(3GUf#P7bV?dV)WDQNTIB_99w{@}MGs`edavHNgLUM+2@F`}kI1VR} z+lu4I0dB<}e$Qi7svE;`T|?Nl92^eeaOCl8SgJRtNn>kT&2Ftty5q>csr0p<6{>aU zM`X8F0~`3TsewchCJZ&PKwk59sQmBObD zCoLnw+NcA#ftB8dWKF{UHl(0GN=4!WM2C@6u2>RA{&Ou7M$uf0yfAfH&J`Rl6RB{Lz zB_g>UjnyV(wNw3!18AHo53SB7cZCp&i9<{Y9DsIeXWve}td?e)*a|4bHk@gqs2J5$ z^lwjAmtsSEHPG3x#WqQdgm3cz27+R1JF$aB?b);Wa1Eyb+aXMVzmXuoUsw{(ydl`n zH{)$ur^>;uBu4~|1vx-*xEgA7B{NoP%$UTF{~U=oRXE1Ffl*~O(X|6P$LR<_EivJ3wISAbQ-^T*SlW$tWiUk{s%GE)a*UG&m{VTc`+P!el{VNJnV_^ zSTgTC5@R{i3@He38hHZLGrRXuSKHaIX~R4~AJSBy|qYi{9y{&afY=W$+L} zQh)WLy;}Ls!2i4IZGCZQ2}2~d;N4r0nl$jUFATNel8%{E2B?2X)a9{pBw!#m2+$K3 z1c*R6fqg5ju;W{d*sVhBm-XD%U8xac?^c=qAl_>E6$wM>3)~&VmDEM#3}(Gkt+hth z!Z3u+p*s?Xu*+wWIYjl;_vgG?Y3at|!Vq<`UH&6X7^1f1U81CTmhgR}1dl$(69sSa z2|#y!sCtSjCk-Q++<+0_cb+{X;5S)@QH2g-|1i#VU)zf8MeK0qeTozTR@sV-G3N}Y zG}9xlsKM(N3F>n@T?qbpPgUq!1dL!=Zb}Ql8-fB{#ZdzLv#qqD*f`i~Nk-P0+8*#3 zsV*1C4@a`tBIFU+&(ex9ZWb^~-K39hRW%TeAmteR^pS5Q)mvTsx1W6oEA>86L$(j7 zto@qj$*B1JNX7d^S{AIeeR&YS@rA5!*>=om^}PL&%8XB#aSFv8AoLug_H>-e_urAZ zx2~u8$QZT09X|}3`vIvW`^J$|*I^t-Uz2Ca#xd~+TOz;VFiu@9eQHh_uU?bv0$O5Y zoT}IxTbAIDtp=Gh4@vNyK^zNfWvDIBa|4>C8#$0dYW5 z0dPDlGFBDwNzok&LHe5bK| zO@vQV3wV^lcRF$LwDNQ&o<`zyQa%&DGiaX~Qk_9JejxNS$s{8`Uqr*)6uC1gT(YeK zmv$eKNtY2aOWp3cv%l5y6T|xrJur8Rq2{{TxIo;++sVpK4bQX#wT&8_Zmwid%io z3u)pWP!lTK`W+z)$({+=vyda@h?fhA_!SJPs;A-E$f`3mLj4zO5eqY-Q)wKIASIOy z=9fiN+5B1*rK(L`@60W&FcqgYXNmEJMe4Hf@oP-FVcQ~gMH3=*_4&NHTBPpmYLo7C z&33vr`gS@O@vGfIH}aG2y7LXgb;Frws?|X^W_x#CEQ%Jfo84httorG1Q9~+;{|V8H zIV`;LxR~y*xUiU`cmM%Q*nNK5W(i3=j+`Z2mz+ex(%y zg4<}E=G48EY|KOsb2(8<%UE_Xf|l{^ym{0zN&~lgvX&DX@p3sc|AL&x6@&#{)5wlG z=7njhx80CU6lKA*oK6g&{%u=7?2oZpUO#{Rmxy6*wI8qhx@{-j$0s9oHQ8IIh2grG zbaLc}4!Ye7!gcponsj-_PP!R{VvX=(g-Q2KFt1JR^LqgwrCAKAh+V1rIgBDw#JGDm z!`79QU#@^xs-yM4jeh;_H(R;WoX&;VQk+Pq@R*@r#WDU80jubR|IF_fsUE(o2UdL~ zX)P&_;I!Svq{WUH#papuRdf~j0ijjw@fo~aMQQvJk*n1a_8WRve6J<|S68de7z1Ns zAdcU3_CmxOwI)N^6$t~=YIx}{w|M=p7cdB!Ye-dV$ZN^k&PZ5GcW`8v(tl@PPOWRz zj>cSuX2m&mz01}D@gdA1+=CKpAmLTSLt3W>I-H{(WB4M6`aCw%eI5IF5F6G}31~IJ zai0SjYG}}oo~4$ang|<(n?eNldhyP%=Awu`i?lqZc}AC7I3I1K3}ql;Bh9DNdbO_m zGntCdVp~ZA7ep1sJ0oa4y~xNPN-I9a;`K(v?H-cWt8RKFv}*dKjapBAbGH#V!bTuJ zZnuHngEMkBsBXrn|DdT8)8>+XPa92kf~KbKL;i!D-N@KTaz4B8zvM*O$XVUGiX7fx z5`E;k^-YwC*XEg;gEuOVK>lWRfMayD_%>(kNMFx&uT>X}$>5-O zz|;(C<|Jfgu!Mmn@{p_6;Ek_O)qXTp<)5nFSo5hmk|vGM)9JM*ZJ`MdM!o>Nsj!uR zCkzDm4MCX%XOJlX?-*?(Sca5s6^5&H8yi~B(?je>6w%86YVu!j_Dllj4q+HUj1?-})JQP{G zC`0^E>@F$*=VNIPA-C1{FbrFWmwVJJT-oI8RiA~drY2Tn3*wByVm?bwTMIrBus(Mt znKqx#5tQO3gu*lk4?6?ppVQn(@ZCqRs#*sq`x(jJw~z5P6LR-4R(Tile)f=#z&_Qx z;#O-LbJ~9OH@nz^rZ#Dec|#i2AghI2um$4NW8HgKJm-%fbdK1XFScga@VOf~&`X1J z2`g!#yL*t@ea>8TP(5ZRWtsPUCF1nFxpr8cXo&Tx@`!5ifL%|`!vBn%!{m8=v;J$9 zJ69jzftjzo?{!4|&CrP>Uz5#>P1ufnu57BW+4rbgLvo+&Z|g$0H@a{Nk>99pzGJm4 zpEt4&D^)07Vd^(*Xf6(aL*4lhMFNb3|1nBM6gC{A{>wZ#Ls8+!xsI#b^`SjknRG}T zidOJFp$?eSkV)0}>P47bhX=;^o5i0vL`YKKn!)Fd{I#MfEay@}d=gotf5@~o{F$ii zZ>EoD+9&+A(9*~7xw6ZRx>_wwiNncdW1*yr&v)Vt*kL1m^>8>zv+ZW~J*n1iF1`iv zr`p5buQNXoQD`*sf=b4p>U^)pk&Gu&bQ%#>BJ9=H_R#?NtaCMC`~!+is5$)s&7bR~ z2&;wrh50`ap66&ELGfQ?X}H10?KfGvq)`>dAI<(2;bp&zu!m|p!)UE`f5OT}XNK_r zJMu5{PW;w~YBye$d+?AZV>ygPRD^^4Vgg6uHvAu{eqHZ%6!l^R$M&}4KH@w4wb7)e zE@f00+Y$9`BsG3xln?k;wO7W?SB^4ciI3?0%|O;;_K$Y`32o6kZ7x-Ms+dSIVBevo$&q&QY_&yWv1`?mK zeXiY~(R*nM*D?~-2i?omc6Mqw8vdg;$H6kjb@>&BGEU3>cu8QV3rDAN^?e>K*;CF6 z50PI^@_9n+9}*12{==fDM4|`w{X+@-6c_$sk8%<4oEmfp8P8dZyUfqkIZ~>*{|nX6 z&frt)zij|dZoeXle<1f23Fg04c+J>^?^-ua+_+a#Ia}s?RrR;I`J7~GC-HE!WN#Y4 zO|&?B)AWkZ0GO8Xl2xuf|L?_Y2h(`F;-(ntU}}rTj;0v9%i7C9N7EQ?%BNT7;I*h` z+AYG1;`vYU%!#17=@`Q;6-mRLnDhWCZ!z1;na|(Yo^Oh0P9$%!=nz{{ObydqK|&1@ zmcTtk(+F-RB-J#DFJNWWG|gw+DnxIZ9yuzbwBlsRTxwUfHsX6eHb^JRkTD__%WmhY!;X*J2kEH^UEvf~+@J&if8ya4NO^00d`5|j!e z4!iwLUcC2x&Yvt{Kqk7W>2|A+IHTFNF>Rj*7F(GSl&n@7#{>FRopwuYZnX@hjYZ5m zUS62dj1od8r5Q)BFMI5SI8!lH}x=DytTwklj#iI!SEncsD1SyE4GYiy+5pg^V~iDBD6ks z(WGi(b=&Z?c*9yAqoh@`-U0C~$-46>Y-ws|cw#91_k$Hz=_}-F!LT+63pRP{Px2e= zl_9x3ypU}g%yn^gFsV9&qF~C{O}MsVZ$c5>$~3^;H^F8vXVYqn6Ipfn6*_wyZDlH; zKxKrGt1S`KnqA}Vm)0gX!yc9UEShV5{Kad_K+X039LcRs;-uAv)~4QuGmT3ve`>w- z(t0U1EwwO05o+>_4yk7AusC>DX+lzJ^E4S{?~*J!Zkv#6l<-UL{7um&-s*f_prLK5 zq2;$lLrre_39MepFEi3ZO^fW`^LvIZ3El?#9@|Ra_%72T#J2f=Y@G>sO;`80-4j7n z5ClO;5QK(%lY5Mfp=uVxSF|XaR?MNQYN{bc+aM|>U4}+QsWC-KkFi7>rN&gXs43M@ zA_$_U@PAkC&0oH+KhG2I+4FGrUTf`r&fUj8o!y1>ru4=@o>$PwW<02{{}CSL>8jW} zg(|kCH0Q6l3k`G^+TR_o@Pt~!Cpqlp1ADrI3Txv;vM8t=gQ>awVz|%$QPP0_qom^h zM@gJ_s3qkUbyc=-Nu3In^qCd(lKpDY>A_6LmrzP|-3(IF5Ve|Wa;=t}hS%V_g!{T$ zA%DL@@hcYcFVA%u^6`NMtqZSxKWmfw$=-?*BZ{mjHNu+P#(t(~^vPgXEz;dQu5{Pp z2-gL*IK*{9Ee;g&|DjO)eTDq@aILl21q*6%)k<$~$Kt7KWp=QaF(Pl(V|T&bvKw3% zlzUCDY57%H7G}a@KDk+*?zkE5@QcucGS0&yHrENjcl4TnY7rEZ-kni(yzJiD{>-<$ z?calFkfe68m+$1|4k|oudY61I5o%M2+E34l{QK5+Aznd&i^RXHeGpP-YFB%unrHrx z*g=J2j}DY>J?vGi6J71E*upQ;QLnHSu0O5vWC%P)hUoP}C7s|Iup;B8`?@&SSzH&C z%gJ@!?03UM+yxe%CX>9LPm_A?X4G=WE8N^M64TvYzNX**QRgVKC@ATh0IA;9KF}Bx zEYrH$D+b!B2kP9BUB~r`=w&yrxv9&73-0T`U_o&h zr2j$4Rg~oa*tfFf82PF_EYR=&C^M?W^F-h9BY6AXz>KH=u3AW;XzyDIz3lvw^0IjL zLDYP2E$L&IqPn>4Z=XJWBDJ`!wlyCrueg50Es|;$ zaSfRwd9GR%?(43_bga8fm>TYQ_n-V%ZKcs0c2Dn@iCEATbFDUS*hd=Q-&^(ox-;V~ z`%sV1EB_<6-a^Vx7nhVT^G?g>>U~Gm`_ky`8V=e0wmrb3cTG;#nCauk?$5)wQRTl& zo5A*~-m|LS&${l`qN8N^U=&zQT|X6iG+&@m*@GC2^6w+QQFcAkKRycADLEBI{ZmO( zyG~-Jm%qNG=R3sS)_aG?^L{lXYKZ+SHewx=-e--6yslppgqY9-? zv6c)~^9hS*IJs~*{ct)pNoJ3*U-hl^@Za~Ic{UOy;pYx2Ja3|m=e1%CkF-zso|^k8 z>jSqcXQe)hyTW%AM%mY3wf2s-xApztWml*6c;WdkYVDF7ZLj26YP6%s5jhlXZ{=A8 zTlf~|T?aSuF2@q6px16n&(ZeoJPt@2O~ymSdkhBfWoa`8i{VFWz!>{7PabJLe2=~y zBjMw@`+{@MOpu(%_9Hw)@%;i_UF^r8N zR`7?^kX2sFOuP7I-EmcPW1$S2NaQSgdH)P|(5ym1A!Ha?g?Az)o+zD8xuf(d6eW-- z`l}S(s||HG^RPQ!VH>tmp}M_kWzVu#HT+i6)|ol>ESvYMY&8^gz)&lF9(ovg5j@|%%kxic=r~FG z48d-Q*QfUW<;Hf#+6~|p=9>JpxLji9sLIlCp}nS!+4ZR!>}zhh`l_&EyDMYk>4-#k zP+|Fc?E!D0|4&CObjK?^;Vu%dppNzAXuSP64>uD(!~CqkPkHVAeP(w0?|My>kcEW) zWc6HVzh%SrZj)dyAO7ece(C5guDZM5SKa*g)W1!<|E<`IJXMKecA>MGh0ED@{i9gIrdWZGVPP1(L08Q>}B@#8mgL0>c4(k1z8 zYIuMjkFq}eEX?+)O2Ly|pABE)i?V@U;k;wqG+;zjoI7 zwf2i1EKm1rB&(O@+D2BXp%R>oybF}*WZHU1g1@2AOEOk*Om--CTeeO1x<&P&&Q=nx zk=|SFtvsajeVOu4SfFg*N+tM;=2rVI)sCP676(27p6Hz~^N z9IJPbO9@HeLGcg7XD7v9wR-Qgk15L2uC(v%V~kB5q}yuh{rXzS_BuTwW4es=cj8gAQ!TOXENpmTI5H&Q^9ReQ>M2bX%)=?I*AEGIc+G zhuh1Awe~vJjs5oR9>&Rb^8H48eHOOq2gq!@`21vVYpiJ}qmxND@hAIYwg!C;Quq+* ztLP<3ikGcx2en_CiqBE%62cGCNbWCFkJ6%2l6sU5rNCoEJuGR89pZf)tg(6@*REJ1 zaVJSQUv``%;WT-8l7!J#_^;X(?^wyF?Y9h015Eq_iADB1&J&y`dFM&Pjk-XZKV|p@ zJkzb@3u@Yp=SM&Uj*w252<*pU#sqeDp})c$vU;5^?1vRxv$N2hCajLI=*`(Pr(NvvcNK#oyGm&w%j27X!dp) zp95c#fotqlCE

u8y}G=))ixkWKswk^~G7V)SI7l(@;@xnl+2v~T6ncZ>WRVLWOs z-7ec(8rPf4{LA*2(YA4SFo!AeE_ZoZb6yl`5E>|J@7e>5In8CXos4eauuZbO@7ej< zZLA#qhuYAi|IivL^?;HG$kYeqV&}|NTs34oFiJO*`PE5&?jgzZth|Ss+*|hKk=&4L zc_gQ+pOPTMihgQ;>|wK6!wp9Vn{AV|#lz9vLnT#lN3Gy7kM!ekdWv{rX4GTdD{#H; zHXQ$6Tn~j#7-dBicWm(R9fx~63yFOwuWcwIUB9s<_ktr!t-==^yF5ncrsUz55Fxc?P%h$q`q77Tq^Bo z%~P|$GLG*0T1FYiT+R&0D?@8WO1rY4uf!=j$f>e~)s{#fM_Z5bVfSUE&Z>hxj%pqr zxbo*%iE@s?{Ax71oTG!s@lXuf#Y8z>&QV(jhTrv^6$4 zAbKqUX~6yF&DcE+NxfTajY!QAja_Qbcu2*){vCi2YNBFL@taFmQ4KLl2oT`{4FDZvi>i2-N48axYtN7JQYV7bR z%7eAl%}KFet~Dpcw^ncqZS5~sP%B54VXI{MyzKZ#Kd0>V3W75DOW94;r6!*{{ymVtYBN@Aq@`$7=c8Oj4fQ|jVO znjVf;9z)n)9<;Y{u*~Y==wWoI<3~~JA!Q9C0M|yrg(BIL@SRNo3 zwy7}d?-<9ftJfO@pw1JBR8wVBWtwb zc$tlLD`W_B8-06ixT98JN(Pbwsj(QTvEfgbq|jNs34fIq$yUe+#{>`GgSZzXE%a!I zg7?Ky2+>H3JDhgq*rgAb#yDy)R%6D{xrmT4$cp-xaq%3^u#SO->0uG$fWlj&saK5nn3z_lB%GS zCjthgqK_<5ykcccbi7tf@5*#CUnP;#$#oH5n+LNbV>-Ewlb{*kEk4i&dRoad9N2NF z;utb`BwioV8m7sIxPFx+1=B;Z*>cQud|6D#N-UW_m4~t9dQ+OsVfI8~lR4Xb-67cXScVDtTq$Jztl=Qtk{G4o%BOGJNo<^+V z6G>MvZ5D&UR^(zWV!QZ!NfGqhm*h=PE3i4fByaAUg6X>g^tWcO&GF2lIyeEO%0C!Q*L$+*VOd)ntD2S@1Py*#CDDOM6&XfTP zZmHr2$^6do%$VsVlP6F>iR~0HRzkKTQwMoT$%*(aRzK_#^=siJOVzL54*Y_xh#fk} z7IHELrC~?xr5Lq20h4|o`7`Mi$VEkC%P&>?EQf<9sO?3*g98wG`x$H4dq3d9Vpb$r zi9hHd%a-t;$^5cJ{YE* z6z|^v-@X4$i~35UekZ$lNmj6@rHGdB)1bf1R$y12)}j(+>P3p8%Pt}%vNAiUnjer;*|x~NrYmt6`!S}jCK57M|n@%e9L^`5D$JreDpEFDE230G+LTH zA%}r7Nzsj8$PyMVd5RaMO&+Lf&CYXdGHhcK%+R{FsDuHbt!%v$68XPf!uimA>%#_W zNtB|Twaykgy{K^~S6bE#t)q5yF`}N9c*Q|UFGeIwe2asxrLTg~P@E)cvzMX-L}w|Y z(zn3qa!+>V(u;qW3Ju_V6fbWQ1Y`e!%2vF$rbFwOBONlT9O*8|Bn7jx9C7wwfdQmL zd9ciyU0zd65zoq`U@lZ9DrSa)n^KuLd>Ka3NK8La-J0YVx~mvc!VCx%UXDB(fNxXr z2?UHg1v4=)^eY|AHOZ90T$9`w%nGJpO`T<2Q0;!}i8irR8ONFY=pUYHa)nV}`oc**^tysxcM_+w98xg9Oi<72 zX=-*zm&Q1eE()5az@BQN*)hSw$qrQ)PClqQ1*$GQ6jk@P+zAiOS9L8(a>1I^QuA9T zvs>YuBZm}|#Je>ZX7y~X`5{KyliyY8-JW6ad#0514rMvrKD3(gQ>JuN$Ak9t+jrvE zfn@Z9Vv&{9L9^y&cErieRL~Ed05`LfW{ni;PS#A1BUy%{>UC>Hyc!J*|@tfmbn_lA-Z6{>IY zj~^0R1HqdxBy)WdqF(W?1djp?2nCj$f|Y$V+1!%2 zXk4e|T6E~E421B}fUhnomPn>zmNXj!#z>r^AIFM@cF_s<4#f|W@e0(Af`Ky@FsT)l zBthYc!3FM0(7PZ*qTl5ft&!w+xkaB#j$*c$4^IwPISA(}p!5NcO5VnXQKD#IoM%>RjGL6K>baAG)22CT&t ztp5~@!YP1+Q|Qtj;`ISt+DxJpH6>L+ji-WpGD&e>PALwEV;a~bannMF^0HO#G&*>O zbeaxE^08jfhgaeOy)Xm3C`%NT_!ciPq)iOSmV}tlk(^&=`;g2S4T;y;_p|0B_}$>ow9QXG$s9asi(;DeoC}6ZvVxA82k00D9iyOQ;zGwE^5f&^!e^4J zz}T7(j>;Ydn>?QaWQ^iNxuzH{5eop8l%k3F##8%;5*1ILe{wJ+I4u63fo(ELktnAW zABkfjU^FXUmum~D{7W3ph$~1^6s5%{0nil+xZ(b(Gx zmZ=Kt)m4BoqUa_&6wL3{pq}(pV5BM7QCiK6J}ALoQwd9=6<^C1U?d!s`E8hFW!Eqn zkt1se8Yfc~Z%L}6r+BWVD&bb|wV^zM`$NvJ!}n(iTn~0glwz%{Q;1|M=z>M^bNUCkb;6X z0SZ!3km6OzQ@ku~HUo#u-c0TN<<#a-J%_|=3!cv;LcxeuFx3@D#P3_MO9m*`OOgTs z`z^PFj@e2_GQJfococ}AZGaXjx=V_JJ>e99fK}+a0bnJkPP~=A-O1=-V7gp> zyQlA~yLX+OYRSFpBIY>|*30BcLdTuD=4YySwMWPpNk_9Kj8lDP$Ws(0V*FSzCYpmK>8{W_zLu^f&qOHG?n3sx}0DKDoT#RQ_Ms3{0&)h zDBpGd5S7Rk|DOTkU%@g}fq|(=5&y#gNu)@SLK34o|QLC@2o6ZBw9d8lY0 z?b1PIiC17Tq$3q?@nuY0Y(Odw$x#J1;z@u)J4xk-%j%Qli5ygPkdR+NV;QSJm@6vC zLxqQgp8|Iz<`k8`AnEElD!#vg-O^XFK@t^9B|{M_LBE5EGF*WMQ=pB1r{@`9r}JG) zPE!dsI24V=?+mCTeHF}21#5Z*Yx=VQwWjz@mM9RvXUS!*`2PVWOQeDpDQJ;`7M%mM zNI{FvQF$NnJWtOf;LqcESEedZ8j5uBya2d4icJ!yST5-bhTBDYo)%rC2hm5055#r} zpiLEhWC`$SyO-BJ4r4Nx$Utthj>#a*U#2QpS}Xn$-#@`liTsnS*U4(dV!5XHSVAs? z_hqaiN>UWPIC2fNmGHl4LnDd%3s-eX2Zs0ea(y~#!k&p?_GFJVoPpy#9ITELGl_@# z0>+^|@<@YPUm@Q1J<>7;$1EHw?yhiS=8Ml&;;q>u^*;=2X~-TKq5OD{tXEFhBiEHf z37-jHBV5^maAgz1m30Z91+#a{h*@DT8|QY*H&9jbb!tPSfw6A4OrA~X;@$E+)MjT9 zO0%_^HrUupMxl82xw2 z(z(P~dz%;?CH*!75BnyEQu3s?0x_aM^D5B1cL17KfkITE5bw|=428S6-jx_dq@*b@ z>h1w-5Ct}f0)?n3C4RZ!u?)!N<}gHYc|6|XUXRtgA6iYfKkiedKV&vA4)2hXS?pW= ztwGpN|Im=N((@l;u$`trJ1UUF4*{V*r%<)mL&|+5k-)gNU4C9f z=;`fJI)TuiB;*mTL2^A}8eyqCB2vP3sq#6IW^I>&P_2~5WWikoM$he1UkGizT}DG4 zzE7A+RXBf)8dj5#JStO4q7_dhS;0x0igOb36daLg#coM{8rs2FZ%LJ6{Wy( zD-qURWkv~HHRNcCuvb<4d4;`ddxzCi3#fEh zz6GSf0s_X8ty2Au&?=voA;KpTT!xSd5?v-tS0`y@!dj@2QWj6vKMGcX3L2$g9Qy#q zv4U}|U>y5|jZ_I(j^>~T%Z0tI8{6fzZR(u=HPDgm^Bf+1fSG?OR=Q(3{7^8+mK{KAH+!1AMb?CmN5dt0$g&MUAhtAepI zTk(dRQ6TB7fl!I5M(tVPRU@h=dJO zC#=7*FTVj~F@^%U z)dYMd>l8GmsjD$f$%e)#STHmL*rW=YqM#|w0qefzq(gT%4;!RorUiqWwMYv_$(wRW z(M9}U0?c$pprk2~x#1M_K!%4i)H5X|oUUZD&fUh{|e1%}`muIQq3rTSFB4%S>qOs+S4E zu2L+OjF+j{N0y^)*mN6q(w0|9;QO@r*!)wlxuIb5PrkKRmjh$Sg_0Cl zPMrY-DJV!m?<=sJx_}R)Zx>oHOxAS?3p4t!l5Sh5T4xFDN+8kz81+_3m2YWBrByNz zVgNcK2+fu8ioaw>1o!AT$GOn0n1c#Lje@--1&!(sSdA<6p)o+F_W-P*6s*R3P=74j z9^{E-+Y?~fDl#NZaYDTQ1NKUU;v0!quvGgG^~bV(6&H3OFov#_>N}_?rmgz66SEg^ z$|OZC*`p{Yw%))d?RqnqSUb5~*}bVnj)e3984}%xmht3UT}Y+Zz(#4K_(Eb7JP1`V z6J7_bpkF6XR?vz7Iix5f-hIJS>8W62OL0!lD3}-hsJ$i8{ldajfApjFOIApqebgS^ z(VsZz4#g1JqUbHTidUrB8vu#)1~o*)y+I$c-8BHPDWE7LDT*gz8wjpRgaR{N!REMP zGv}}X2HPNN&k}kNd7_=(1ZXD(+DU8WNdd;9 ze{ zE)6F}_7_s@I3xbt7t$H(eHuY}jAR8X0|hGs1t#)H?g333Nnh&rG9-L7krcW5*D|C;WjSc z6+MoM#7nXQ!&`yqd=D^J73_8>*zHg_czXZ@^7a6@%G(3v@|)x+uod11v`Rs%6trpr zpj8T5HG%%eWSD>e>b^v#ou_Ij$cY59fdh9FP2vWi z$|uv2XC+qglblkp%{m1nNwh*Yv%wVc`~VD-o{HX*s9GY{sb zQqZE004@56$|p<0M-2WIa!5Tt74MJ1H0h~`mIMX&M}d0&1T>dOMX;>?gr28G3U=^f z^Ib{6c(zDN-r^}(33V=%fw@>~?5`~#)G2}S)P^_L6iiq}QOSs>rtIW= zhKu(I6vrh+!3#->O=2!YT#f%s`n}*}WwH=C!(Qt`vcz0dpeYssG=&09p+Hk40Ax@C zH|097lWeo{|7c-t;m7a^KQCkii0b!D^ zs3ks2KzWWr1RfHvxXZaCtadWQZz<`HNz_tA)^=+TuA;Uxme-eIAD6IMR{WZJ0}Wk_bqhL0dagA)<}i&x8y>XD7f8KKmi>+h zh_~+;Jr`mVmNSmO_%5uPaV$3B0@vsC`ukWJSc=A0v%;!*d=r~1dmFO<^ad{7fwjnb zeymjYCdN7ZjA=wyN44!ZM#su>b-aN?P1fzit{p24^Qhdf+Zj*gC2u=@!LnutRmk~7 zZfekq9hk9~K9Pn`ar}it?XsQ3`(An~nCUy|ItI>8#@0OX+lA*88K9t-6n!OA(NThT z1C+A@%XW9zIL@XC+C$eNOZG5Eu*>$)by%6-17wL}i_BJ_R21>-Yy)KdUUIFDpNsy>7=M4v5HG_D3x4j(SAUS6tqb3g`82$75^Uq_g#TB z{(;tFGyOnoY0-~((jo;dQgGiDY&@m`%x4AWa~iGX_8y?M$om77j&xKk5U-!W4C$mm zdnw+OLkbLG(6iMpN({R)K!`nOx8> zhrv|otr#Us6#d!f28`q*-27&~<3oGeChEpuh}J zpfHaCtN>sn&6MTU$mG(ou-EnJ&2g5E(KF?O`fWbW$R99M2KwW;t&Rv{tHXYRX@CuK zf(nO7f`WZA1v57tU@E3l2#ZT~v30Cq>-ZPIT0wzLsyHBL6yLEK4p{svPzwsQ&q;DY z`}_*fJ_@vtqOx35(9%)r&E5!IOyFPSfIQY>!hd)}?0v(n*0itT@N^ zI6z>Z1*{j(k{6m!T|B!`@a*Cbz_SYlTLTK7T`0zj|2e?Z7zM_O0)2FjTuMsddFuRd zx;(8y?<3HD`h|IbX5>W!RLKL3;JL(^m+ z*U}n?ZnFMKh1aop4v;enR%e&NB#F9AzL+lR!gNt!y8H#+lHrQ~$T|ham?BhyGXV=4 zMLAigz}(9um!Bl$3iwXODppI1Vv#&l(9)}bmMU0nTn+19JYp*6AQVZIL8jAJ?0<(< z)_M9j;b^*LNJ2CH3Q8cRp z&8k4cDlkKH0Xj98+)K+2b+P>ijGL2OZ%n;$A7ytzCf&#H*d!U)K{cuRvHgUfz8d=v zKzS;#=7G^`l9cwM1{EIAhPD#^fb2shMiD4!in8MM5YTi5O;=!7J)~RMEPO<_Fijuf ziOs0Mh)^(W9|P{J0*g_B#rT+^z}CnURA39)@`S21kQ_x-apZv)WUS(`Y*A!Mj^Yn- zJOzhk>{E7oHp}^^VNKW<_k9)?=7ApQWH{TZ43WNyKC(p7Ud|{Qi=QW`BYhP}B~NnsL(VIHmcU}pw#JU}vi^J+A0jE{tZS?t zFWoNj(CNow&U!k?h@gY4IAD+!cXrnqRNNV+kGqOHUsWklf{d9q3f9jGY*#NpA1iK2 zoZ_M!^`bpIS1XB&*;A4{H_8%qp|BP6#P0>b&;rJ&_w->$6>0h~w5-f}7Ft0i{|osQ z@h?R*q@n_;sAwnW6>NKWgCH58@RdXbJKu_2@h=S+)1}FUF%66*}AP3^Ov`k)?-e-X%YpcS5|X5M!@ID87++1{g>DFY#Fm;x~{)b)n%DFNnWCcq{`HNM8kG*Pod8B(ORz zejlP>V_LzB4GPxzH2^<0P%Pr36@YzT#d{JM0O-vCa=~g)U^OVP8Ug`Ug958TfqkUF zKB`H}H%VMg?m6~CO*}DZYXK|;#TbcG&@e@W_|^tAtTwG>V$>!%qce!oX;Bbi*Ck0^ z=o1CAu?}EhC>Wgzgijq}a=+^0`bwgJu`pVepXHI~!Me_B#>{BBppFvtaEy!QX%mi) zICQ_M9qChOrVMNc1-63%+o3*pE@hNlILDn^P@h|j z1%V&$jOQsn4X3pA3~2@kn|Al|9!sR zKphad4GBZ!s%x2?S75(40t^_%NX|?G{rUA3F}aU+T!ST2(MysPuSkZ%DS-~aN?pN9 zUBOCSaZdt60lgebE?6cCl(*tz2?+!5%UEDUjgW>{X!?mTnvS&7AT)}THY4qvw7I6F zI`Q-oPm}mXMo4GVng6^1r?yXhj}Djlf0K*7F}cvn#x(s)Iog<9nDkAk3e9Umd?vlR znDh!JeN(_NRWRulO!}t84D)fTyEab8{3?_e0P{M%+_I`j?2Sjv^qXf z$H`&xjXDnEP+`!V92i_J0K%XJxg!h|2m=Me;3a@CP#_Ex2m=MeAe?3(48rM*3`q;e z6EV;dAO;kO0bnE!m2Nq7!tIuH0z$qOK{UISOANGfiGkMCf!WfUFvNhm5CaOtKpVig zQ6L5sh=Df5F2!c;k$zHgZxzO1V2?P_`a&2cnx&c#oTfXbe6}KZ#U4{s^Ypnck_?ltw6+r z(36SeuA99b6);IOu`3p01LDD81K1l7=z>diIj153rnvIcrnFpkdBNhS^I-KXf)^dt&x5s^ZC`2WJCzvmX-3 zqzWERHMh&r;bi%j*hVm7=F9jI3;;_~Mv#DWdPiWe#k?xj6PzvC7>*i=Z-gX|q}aA{ zYNYc^EbH;37$nU&jm6o-@Of39=23}gD#2;B(S&5k0L4j3P^8IGg(aS&DV4JmMmx8% z*^sTEA!D3#eM18HoN+CV?+De-4EyeNh&ckdAdXIIsFoFjWrGkFn*8W+hoxA73 zu}S^hekJfL>-Os{W5+SDcFOE=6xxZG;;DEm$yAu){hqUKu?97AvmOLU%h9^|^&Zu( zEHUpnyZCzI|B1U6v)r}#i#O+;U3jJzGTwRDw#W*6-}#R%SaY}+@ZXiGOIlPZ!$O(aFR33>!iQy*AIMBc@hKgXW21{0l1^O4!}j3Gnh=@ab1Gz zSzK?Ghm)K$eUDaSez}j4Xu}-SGr9Un{A6c&@2{UeKV673DJE0Ibc*of&>y;aGDW;E zUQ?Vkyhh_YkZ<>m62}y0CG5{m>N^nMio|_G#;R{0iJjuC6&QihT=4O}>xK z-;4ZtR^yxQa#W+eL~wZ$H+M(-(aCr3_&dU1XOcTP^4-+|?CBY&kS$|mPE+5d?UY4pp35wu81>9227)jWinoUKf~8XUJE2i zedoxIX^hN~k}=J>HKZj?p3$DK<8kkgyry5tOUUeipN@;7T))D#j*Ajpw~^H8&X2w7 zke{9bP+NM=AiwJT-jyo);@cYE@-V-1I9k0Ue_iZW=HO(D=ydK z7?pyP9s5}6GwC$HhEz{a=4nct28F81x0q%lfVt(foi$j7N6&V4_uWsOY)qUt_;NxI zw?^Qb4YQpMd=nezX6Yx*RCj$xKKjF=ZI;hRPJW_(NBm-)ulbzgh|76+pM|5~X)7ic zY34H*_YvHNosa*b3TH^#90Vr6R+@{zog(3LksdoFb}pVyNuTR%8~CETrYazGB-C@e zi{dWFc&RPsJOpx889$FiUb1JNbFR-t%Fzz(fe38v(jsxr4JuUU6KSh_e>UOaBA{(C!K3bX1ZP@cdEI6P$t#H2ia9 z`EH&_p>Gy-%-1*4G^TP{DJsqi?0otO;e(~8kQS99)S|r{QoJNN3N-U#G*?O4q4-n! zE^$ux-S5k#S;>Ug``m%)7+Z{@0tP>gSf*tv5|o zPZsXl+#7o!qul*XxgHXdNWBm_iS)oPvLunwh_qMimotg9_gnE>?ri0|vI51qYckPY zlNgC!?(AaBsUQujmtaR?;O`qtmxUF4f%U2|5AZcH5>sm(5or z<%W�z}(>JNZ+o!5RIRua|zFqN4bIONzD9=36EM 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 E0IGa~s{jB1 diff --git a/dist/roverd-debian-laptop b/dist/roverd-debian-laptop index c9b48a0bfbe35ebe42b3c3b8fa90cd1b4b16e306..69b3940df30eddbb507c349f87928ae5dcf49388 100755 GIT binary patch delta 137527 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 ihHI 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 y{z%YT7nl@oXR@&^_jld)tkj%n3lK=h#a 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 JlU;m5{s%@IXNCX( diff --git a/dist/servoverifier b/dist/servoverifier index 6a16f5a45c295c864eca3277a23b7299ec0d1961..b32f7e89ac2ee0a54d69e0ae63a37ea2d1ed8199 100755 GIT binary patch delta 369 zcmdndn6slXXF~_SW>tK#x0h>`qh(5ZWM*(sP;haXiN0}$c~pK`da!dqa8yNlrc+Rq zOWx#-{9=~5!IsX36)A?km0?klK3*=mS%vWoEDQ_`B0$Ux#O{8f3=L)yt3Ue9`MtKU zR?=kV88;5i-q)_BH{IHUZ8y0j@Ry?lu9QHUZu? z0lqc?{x$)DZ32SlJ-iK*5=~N*Qccs+5>t&0jEu~aEYr*r4J?h#lYyemZru@ ziCjsgnK>z(Wy!^QC7HRYwnhd delta 369 zcmdndn6slXXF~_SrgMc?Rial}MQ(nMS7@f0kB3WXgnp>IX||M@xlMqjO@OscfUQk{y-k3lO@OmafU8Y_yG?+nO@Oye zfUiw}zfC}3n}FbX4{wuHBa#%XX 0 + && Date.now() < (driveCooldowns.get(roverId) || 0)) { + throw new Error('Drive blocked: safety cooldown'); + } + payload = require('../dockingService').protectCommand(record, payload, options); const id = uuidv4(); const normalizedPayload = normalizeOutboundCommandPayload(payload); const message = { ...normalizedPayload, id }; @@ -124,7 +129,14 @@ overcurrentProtectionService.configureCommandIssuer((roverId, payload) => { */ return false; } - issueCommand(roverId, payload); + const record = roverManager.rovers.get(roverId); + const reverseAdjustment = payload.driveDirect + && (payload.driveDirect.left < 0 || payload.driveDirect.right < 0) + && payload.driveDirect.left <= 0 && payload.driveDirect.right <= 0 + && require('../dockingService').canAdjustReverse(record); + // Only protection's adjustments to the active reverse inherit controller + // ownership. Zero remains an ordinary stop and cancels the sequence. + issueCommand(roverId, payload, { dockingOwned: Boolean(reverseAdjustment) }); return true; }); @@ -315,6 +327,22 @@ function submitCommand(socket, { roverId, type, data } = {}, cb) { if (!isSongCommand && !isRebootCommand && !isUpdateCommand && !roverManager.canDrive(roverId, socket)) { throw new Error('Not your turn or no control'); } + const record = roverManager.rovers.get(roverId); + if (!record?.ws) throw new Error('Rover offline'); + const docking = require('../dockingService'); + // The controller owns wheel output during undocking. Discard all ordinary + // drive input, including neutral, before it can alter protection's intent. + if (docking.shouldIgnoreDriveInput(record, payload)) { + reply({ ignored: true, reason: 'undocking' }); + return; + } + // Reject before recording held motor intent: otherwise a rejected input + // could be replayed by protection as soon as the docking lock is released. + if (!docking.intents.has(type)) { + const guarded = docking.protectCommand(record, { ...payload, type }); + type = guarded.type; + payload = guarded; + } const driveDirect = payload?.driveDirect; if (type === 'drive' && driveDirect) { if (!isAdminSocket) { @@ -361,7 +389,14 @@ function submitCommand(socket, { roverId, type, data } = {}, cb) { bypassed: isAdminSocket, }); } - const id = issueCommand(roverId, { type, ...payload }); + const isDockingIntent = docking.intents.has(type); + const id = isDockingIntent + ? docking.issueIntent(roverManager.rovers.get(roverId), type, payload, socket) + : issueCommand(roverId, { ...payload, type }); + if (isDockingIntent) { + // The server acknowledges accepting the intent; telemetry reports its completion. + io.emit('commandAck', { roverId, id, status: 'ok' }); + } commandEvents.emit('observation', { ts: Date.now(), roverId: String(roverId), diff --git a/server/src/services/dockingService/index.js b/server/src/services/dockingService/index.js new file mode 100644 index 00000000..2ded154f --- /dev/null +++ b/server/src/services/dockingService/index.js @@ -0,0 +1,273 @@ +// Server-owned docking operations. +const { v4: uuidv4 } = require('uuid'); +const io = require('../../globals/io'); +const logger = require('../../globals/logger').child('dockingService'); +const states = new WeakMap(); +const intents = new Set(['enterDocking', 'cancelDocking', 'undock']); +const ASSIST_SPEED = 60; +const SENSOR_TIMEOUT_MS = 1500; +const UNDOCK_TIMEOUT_MS = 4000; +const REVERSE_TIMEOUT_MS = 1000; + +function stateFor(record) { + if (!states.has(record)) { + states.set(record, { + contact: null, charging: false, latched: false, assist: false, + operation: null, error: null, seenAt: 0, timer: null, + }); + } + return states.get(record); +} + +function snapshot(record) { + const state = stateFor(record); + return { + phase: state.operation ? 'undocking' : state.contact ? (state.charging ? 'charging' : 'docked') : state.assist ? 'assisting' : 'idle', + movementLocked: Boolean(state.operation || state.latched || state.error || state.contact == null), + cameraLocked: state.assist, + error: state.error, + }; +} + +function publish(record) { + if (!record.lastSensor?.decoded) return; + record.lastSensor.decoded = { ...record.lastSensor.decoded, docking: snapshot(record) }; + // State transitions use the same telemetry event, including failures when the + // physical sensor stream has stalled. Never manufacture a new sensor timestamp. + io.to(record.room).emit('sensorFrame', { + roverId: record.id, frame: record.lastSensor.raw, sensors: record.lastSensor.decoded, + overcurrentProtection: record.lastOvercurrentProtection || null, + }); +} + +function send(record, payload) { + return require('../commandService').issueCommand(record.id, payload, { dockingOwned: true }); +} +function stop(record) { + // Forget the previous held intent so protection cannot replay it after unlock. + require('../overcurrentProtectionService').protectCommand(record.id, 'drive', { driveDirect: { left: 0, right: 0 } }); + send(record, { type: 'drive', driveDirect: { left: 0, right: 0 } }); +} +function stopAllMotion(record) { + stop(record); + const payload = { motorPwm: { main: 0, side: 0, vacuum: 0 } }; + require('../overcurrentProtectionService').protectCommand(record.id, 'motors', payload); + send(record, { type: 'motors', ...payload }); +} +function mode(record, opcode) { + send(record, { type: 'raw', raw: Buffer.from([opcode]).toString('base64') }); +} +function camera(record, angle) { + if (record.meta?.cameraServo?.enabled) send(record, { type: 'servo', servo: { angle } }); +} +function song(record, notes, slot = 0, duration = 10) { + send(record, { type: 'song', song: { slot, notes: notes.map((note) => ({ note, duration })) } }); +} +function finishAssist(record) { + const state = stateFor(record); + if (!state.assist) return; + state.assist = false; + camera(record, 0); + song(record, [83, 76]); +} +function clearOperation(state) { + clearTimeout(state.timer); + state.timer = null; + state.operation = null; +} +function fail(record, code, message) { + const state = stateFor(record); + clearOperation(state); + state.error = { code, message }; + state.latched = true; + try { stop(record); } catch (error) { + logger.warn('Unable to stop docking operation', { roverId: record.id, error: error.message }); + } + publish(record); +} +function armDeadline(record) { + const state = stateFor(record); + clearTimeout(state.timer); + if (!state.operation) return; + const deadline = Math.min( + state.seenAt + SENSOR_TIMEOUT_MS, + state.operation.startedAt + UNDOCK_TIMEOUT_MS, + state.operation.reversingAt ? state.operation.reversingAt + REVERSE_TIMEOUT_MS : Infinity, + ); + state.timer = setTimeout(() => { + const stale = Date.now() - state.seenAt >= SENSOR_TIMEOUT_MS; + fail(record, stale ? 'telemetryUnavailable' : 'undockTimeout', stale ? 'Rover telemetry stopped during undocking.' : 'Unable to leave the dock.'); + }, Math.max(1, deadline - Date.now())); + state.timer.unref?.(); +} + +function handleIntent(record, type, payload, socket) { + const state = stateFor(record); + if (type === 'cancelDocking') { + if (state.operation) fail(record, 'undockCancelled', 'Undocking stopped.'); + stop(record); + finishAssist(record); + publish(record); + return; + } + state.error = null; + require('../roverManager').stopDockGuard(record.id); + stop(record); + if (type === 'enterDocking') { + state.latched = false; + if (!state.assist) { + state.assist = true; + camera(record, record.meta?.cameraServo?.minAngle ?? -45); + song(record, [76, 83]); + } + } else { + finishAssist(record); + camera(record, 0); + state.operation = { startedAt: Date.now(), socket, backoff: payload.backoff !== false, reversing: false }; + // Full mode works from an initialized OI; start only when OI is off. + if (record.lastSensor?.decoded?.oiMode?.code === 0) mode(record, 128); + mode(record, 132); + armDeadline(record); + } + publish(record); +} + +function processTelemetry(record, sensors) { + const state = stateFor(record); + if (!sensors?.chargingSources || !sensors?.oiMode) return snapshot(record); + const previousContact = state.contact; + state.seenAt = Date.now(); + state.contact = Boolean(sensors.chargingSources.homeBase); + state.charging = [1, 2, 3, 4].includes(sensors.chargingState?.code); + if (previousContact == null) state.latched = state.contact; + try { + const operation = state.operation; + if (operation) { + const manager = require('../roverManager'); + if (!operation.socket?.connected || !manager.canDrive(record.id, operation.socket)) { + fail(record, 'controlLost', 'Undocking stopped because control changed.'); + } else if (Date.now() - operation.startedAt >= UNDOCK_TIMEOUT_MS + || (operation.reversingAt && Date.now() - operation.reversingAt >= REVERSE_TIMEOUT_MS)) { + fail(record, 'undockTimeout', 'Unable to leave the dock.'); + } else if (sensors.oiMode.label === 'full') { + if (!state.contact || !operation.backoff) { + stop(record); + clearOperation(state); + state.latched = state.contact; + } else if (!operation.reversing) { + operation.reversing = true; + operation.reversingAt = Date.now(); + const speed = Math.max(1, Math.min(500, Number(record.meta?.maxWheelSpeed) || 500)); + // Track the controller's own intent in existing protection so stalls + // still stop it and subsequent adjustments refer to this reverse only. + const drive = require('../overcurrentProtectionService').protectCommand(record.id, 'drive', { + driveDirect: { left: -speed, right: -speed }, + }, { bypassed: require('../roleService').isAdmin(operation.socket) }); + if (!drive.driveDirect.left && !drive.driveDirect.right) throw new Error('Undocking blocked by wheel protection'); + send(record, { ...drive, type: 'drive' }); + } + } else if (operation.reversing) { + fail(record, 'modeChanged', 'Undocking stopped because the Roomba mode changed.'); + } + armDeadline(record); + } else if (state.contact) { + state.latched = true; + if (previousContact !== true) { + stopAllMotion(record); + mode(record, 143); + if (state.assist) song(record, [84], 1, 6); + } + if (state.charging) finishAssist(record); + } else if (previousContact === true && state.assist) { + song(record, [72], 1, 6); + } + } catch (error) { + fail(record, 'commandFailed', error.message); + } + return snapshot(record); +} + +function shouldIgnoreDriveInput(record, payload) { + if (!stateFor(record).operation) return false; + if (payload.driveDirect) return true; + const raw = payload.raw ? Buffer.from(payload.raw, 'base64') : null; + return Boolean(raw && [137, 145].includes(raw[0])); +} + +function protectCommand(record, payload, { dockingOwned = false } = {}) { + if (dockingOwned) return payload; + const state = stateFor(record); + // Raw OI drive packets must obey the same movement lock. Other raw commands, + // including mode changes, remain available and can interrupt the operation. + const raw = payload.raw ? Buffer.from(payload.raw, 'base64') : null; + if (state.operation && raw && [128, 131, 132, 133, 134, 135, 136, 143].includes(raw[0])) { + // Explicit mode commands remain available and take precedence over an + // automatic sequence, including while it is still waiting for full mode. + fail(record, 'modeChanged', 'Undocking stopped by a Roomba mode command.'); + } + if (raw && [137, 145].includes(raw[0])) { + if (raw.length !== 5) throw new Error('Invalid raw drive command'); + const first = raw.readInt16BE(1); + const second = raw.readInt16BE(3); + if (raw[0] === 137 && first !== 0 && state.assist && !snapshot(record).movementLocked) { + const limited = Buffer.from(raw); + limited.writeInt16BE(Math.max(-ASSIST_SPEED, Math.min(ASSIST_SPEED, first)), 1); + return { ...payload, raw: limited.toString('base64') }; + } + if (raw[0] === 145) { + return protectCommand(record, { type: 'drive', driveDirect: { left: second, right: first } }); + } + if (first === 0 && state.operation) fail(record, 'undockStopped', 'Undocking stopped by a stop command.'); + if (first !== 0 && snapshot(record).movementLocked) throw new Error('Drive blocked while docked or undocking'); + } + // User drive input is discarded at submitCommand before reaching here. + // Internal safety stops still interrupt the controller through this path. + if (payload.driveDirect) { + const { left, right } = payload.driveDirect; + if (!Number(left) && !Number(right) && state.operation) { + fail(record, 'undockStopped', 'Undocking stopped by a stop command.'); + } + if ((Number(left) || Number(right)) && snapshot(record).movementLocked) throw new Error('Drive blocked while docked or undocking'); + if (state.assist) { + const scale = Math.min(1, ASSIST_SPEED / Math.max(Math.abs(left), Math.abs(right), 1)); + return { ...payload, driveDirect: { left: Math.round(left * scale), right: Math.round(right * scale) } }; + } + } + if (payload.servo && state.assist) throw new Error('Camera locked during dock assist'); + return payload; +} + +function disconnect(record) { + const state = stateFor(record); + if (state.operation) fail(record, 'roverDisconnected', 'Rover disconnected during undocking.'); + clearOperation(state); + state.seenAt = 0; + state.contact = null; + state.assist = false; +} + +function canAdjustReverse(record) { + return Boolean(record && stateFor(record).operation?.reversing); +} + +function issueIntent(record, type, payload, socket) { + const state = stateFor(record); + // Validate before mutating, so duplicate/rejected requests cannot disturb an + // operation that is already in progress. + if (type !== 'cancelDocking') { + if (state.operation) throw new Error('Undocking is already in progress'); + if (Date.now() - state.seenAt >= SENSOR_TIMEOUT_MS || state.contact == null) { + throw new Error('Waiting for current rover telemetry'); + } + if (type === 'enterDocking' && state.contact) throw new Error('Rover is already docked'); + } + const id = uuidv4(); + try { + handleIntent(record, type, payload, socket); + } catch (error) { + fail(record, 'commandFailed', error.message); + throw error; + } + return id; +} +module.exports = { shouldIgnoreDriveInput, canAdjustReverse, snapshot, intents, issueIntent, processTelemetry, protectCommand, disconnect }; diff --git a/server/src/services/roverManager/index.js b/server/src/services/roverManager/index.js index e8ae329b..14c1e8c0 100644 --- a/server/src/services/roverManager/index.js +++ b/server/src/services/roverManager/index.js @@ -274,6 +274,7 @@ odometerService.odometerEvents.on('update', ({ roverId, odometer }) => { setInterval(tickPrivateAutoClose, PRIVATE_AUTO_CLOSE_TICK_MS); module.exports = { + stopDockGuard, upsertRover, removeRover, lockRover, diff --git a/server/src/services/roverManager/rosterLifecycle.js b/server/src/services/roverManager/rosterLifecycle.js index 362738bc..504335ce 100644 --- a/server/src/services/roverManager/rosterLifecycle.js +++ b/server/src/services/roverManager/rosterLifecycle.js @@ -117,6 +117,7 @@ function createRosterLifecycle(deps) { offline, while removeRoverDrivers still receives the captured record so it can clean the reverse membership index and Socket.IO room membership. */ + require('../dockingService').disconnect(record); rovers.delete(id); removeRoverDrivers(id, record); stopDockGuard(id); diff --git a/server/src/services/roverManager/sensorPipeline.js b/server/src/services/roverManager/sensorPipeline.js index 193eeaa4..ba866cbb 100644 --- a/server/src/services/roverManager/sensorPipeline.js +++ b/server/src/services/roverManager/sensorPipeline.js @@ -389,6 +389,10 @@ function createSensorPipeline(deps) { function evaluateDockGuard(record, sensors) { if (!record || !sensors) return; + if (sensors.docking?.phase === 'undocking' || sensors.docking?.phase === 'assisting') { + stopDockGuard(record.id); + return; + } const state = getDockGuardState(record.id); const now = Date.now(); const docked = Boolean(sensors?.chargingSources?.homeBase); @@ -564,6 +568,10 @@ function createSensorPipeline(deps) { }; record.lastSensor = { raw: frame, decoded }; } + if (decoded) { + decoded = { ...decoded, docking: require('../dockingService').processTelemetry(record, decoded) }; + record.lastSensor = { raw: frame, decoded }; + } /* Rover manager remains responsible only for decoding and routing sensor frames. The dedicated service receives the completed sensor object after @@ -577,6 +585,7 @@ function createSensorPipeline(deps) { const overcurrentProtection = decoded && typeof processOvercurrentTelemetry === 'function' ? processOvercurrentTelemetry(roverId, decoded) : null; + record.lastOvercurrentProtection = overcurrentProtection; updateMovement(record, decoded); const hasDockInfo = decoded?.chargingSources != null; if (hasDockInfo) { @@ -589,6 +598,10 @@ function createSensorPipeline(deps) { if (bumps?.bumpLeft || bumps?.bumpRight) record.lastBumpAt = Date.now(); handlePrivateButtonHold(record, decoded); evaluatePrivateSafety(record, decoded); + if (decoded) { + decoded = { ...decoded, docking: require('../dockingService').snapshot(record) }; + record.lastSensor = { raw: frame, decoded }; + } io.to(record.room).volatile.emit('sensorFrame', { roverId, frame, diff --git a/webui/src/components/DriveDockAction/driveDockState.js b/webui/src/components/DriveDockAction/driveDockState.js index 069f30a3..939aa498 100644 --- a/webui/src/components/DriveDockAction/driveDockState.js +++ b/webui/src/components/DriveDockAction/driveDockState.js @@ -11,10 +11,10 @@ export function deriveDriveDockStateFromTelemetry(dockTelemetry) { const oiNormalized = oiLabel.toLowerCase(); const chargingLabel = dockTelemetry?.chargingStateLabel || ''; const docked = Boolean(dockTelemetry?.homeBase); - const charging = docked && chargingLabel.toLowerCase() !== 'not charging' && chargingLabel !== ''; - const driving = oiNormalized === 'full'; + const charging = dockTelemetry?.dockingPhase === 'charging'; + const driving = oiNormalized === 'full' && !dockTelemetry?.movementLocked; const dockedNotCharging = docked && !charging; - const dockingInProgress = !docked && !charging && oiNormalized === 'passive'; + const dockingInProgress = !docked && !charging && oiNormalized === 'passive' && dockTelemetry?.dockingPhase !== 'undocking'; return { driving, docked, charging, dockedNotCharging, dockingInProgress, oiLabel, chargingLabel }; } diff --git a/webui/src/components/DriveDockAction/index.jsx b/webui/src/components/DriveDockAction/index.jsx index cec25319..2d192620 100644 --- a/webui/src/components/DriveDockAction/index.jsx +++ b/webui/src/components/DriveDockAction/index.jsx @@ -1,13 +1,12 @@ // Drive Dock Action // Purpose: Defines the Drive Dock Action module and the local helpers/components used in this file. // Scope: Keeps behavior unchanged while isolating this concern into a clear, single-responsibility unit. -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import '../MobileControls/mobileControls.css'; import { useControlActions, useControlSelector } from '../../controls/index.js'; import { useTelemetrySelector } from '../../context/TelemetryContext.jsx'; import { dockTelemetryEqual, selectDockTelemetry } from '../../context/telemetryViews.js'; import ControlHint from '../ControlHint/index.jsx'; -import { useManualDockAssist } from '../../features/manualDockAssist/useManualDockAssist.js'; import { deriveDriveDockStateFromTelemetry } from './driveDockState.js'; import { triggerTouchHaptic } from '../../lib/touchHaptics.js'; @@ -91,14 +90,13 @@ export default function DriveDockAction({ const isMobile = layout === 'mobile'; const roverId = useControlSelector((control) => control.state.roverId); const actions = useControlActions(); - const dockAssist = useManualDockAssist(); const dockTelemetry = useTelemetrySelector(roverId, selectDockTelemetry, dockTelemetryEqual); const state = driveDockState ?? deriveDriveDockStateFromTelemetry(dockTelemetry); const { driving, docked, charging, dockingInProgress } = state; - const [pending, setPending] = useState(null); + const pending = dockTelemetry.dockingPhase === 'undocking' ? 'drive' : null; const [confirmOpen, setConfirmOpen] = useState(false); const [showModal, setShowModal] = useState(false); - const manualAssistActive = Boolean(dockAssist.active); + const manualAssistActive = Boolean(dockTelemetry.cameraLocked); const driveDisabled = !roverId || pending !== null; const dockDisabled = !roverId || pending !== null; @@ -124,64 +122,37 @@ export default function DriveDockAction({ const chargeValue = charging ? 'Charging' : docked ? 'Charging soon...' : '—'; const chargeTone = charging ? 'good' : docked ? 'warn' : 'bad'; - const handleReturnToDrive = async () => { - if (!roverId || pending) return; - if (isMobile) triggerTouchHaptic('button'); - setPending('drive'); - try { - dockAssist.exitAssist(); - actions.setMode('drive'); - await actions.runMacro('drive-sequence'); - } catch (err) { - alert(err.message); - } finally { - setPending(null); - } - }; - - const handleStartDrive = async () => { + const handleStartDrive = () => { if (!roverId || pending) return; if (isMobile) triggerTouchHaptic('button'); setConfirmOpen(false); setShowModal(false); - setPending('drive'); - try { - dockAssist.exitAssist(); - actions.setMode('drive'); - await actions.runMacro('drive-sequence'); - } catch (err) { - alert(err.message); - } finally { - setPending(null); - } + actions.undock(); }; - const handleConfirmDock = async () => { + const handleConfirmDock = () => { if (!roverId || pending) return; if (isMobile) triggerTouchHaptic('button'); - setPending('dock'); - try { - dockAssist.enterAssist(); - } catch (err) { - alert(err.message); - } finally { - setPending(null); - setConfirmOpen(false); - setShowModal(false); - } + actions.sendCommand('enterDocking'); + setConfirmOpen(false); + setShowModal(false); }; const handleOpenDock = () => { if (dockDisabled) return; if (isMobile) triggerTouchHaptic('button'); if (manualAssistActive) { - dockAssist.exitAssist(); + actions.sendCommand('cancelDocking'); return; } setShowModal(true); setConfirmOpen(true); }; + useEffect(() => { + if (dockTelemetry.dockingError) alert(dockTelemetry.dockingError); + }, [dockTelemetry.dockingError]); + // The drive/dock card appears inside the mobile controls and can be held or // tapped repeatedly; attach mobile touch suppression directly to the card so // Safari does not select labels or open callouts during those interactions. @@ -254,7 +225,7 @@ export default function DriveDockAction({ {/* Keeping the pad mounted prevents the mobile columns from changing size while the centered video HUD explains and performs dock-related transitions. */} diff --git a/webui/src/components/SettingsPanel/index.jsx b/webui/src/components/SettingsPanel/index.jsx index 18fb4bc3..283ae561 100644 --- a/webui/src/components/SettingsPanel/index.jsx +++ b/webui/src/components/SettingsPanel/index.jsx @@ -411,7 +411,7 @@ export default function SettingsPanel() { Swap control columns (put joystick on the left) - + - Enable backward bump in drive macro + Back away from the dock when undocking diff --git a/webui/src/context/telemetryViews.js b/webui/src/context/telemetryViews.js index 049f4931..dd457616 100644 --- a/webui/src/context/telemetryViews.js +++ b/webui/src/context/telemetryViews.js @@ -11,6 +11,10 @@ const EMPTY_BATTERY_TELEMETRY = Object.freeze({ }); const EMPTY_DOCK_TELEMETRY = Object.freeze({ + dockingPhase: 'idle', + movementLocked: true, + cameraLocked: false, + dockingError: '', oiModeLabel: 'Unknown', chargingStateLabel: '', homeBase: false, @@ -127,6 +131,10 @@ export function selectDockTelemetry(frame) { const sensors = frame?.sensors; if (!sensors) return EMPTY_DOCK_TELEMETRY; return { + dockingPhase: sensors.docking?.phase || 'idle', + movementLocked: sensors.docking?.movementLocked ?? true, + cameraLocked: Boolean(sensors.docking?.cameraLocked), + dockingError: sensors.docking?.error?.message || '', oiModeLabel: sensors.oiMode?.label || 'Unknown', chargingStateLabel: sensors.chargingState?.label || '', // OI packet 34 is the authoritative charging-sources packet. Charging diff --git a/webui/src/controls/ControlContext.jsx b/webui/src/controls/ControlContext.jsx index 78546e47..4c38d932 100644 --- a/webui/src/controls/ControlContext.jsx +++ b/webui/src/controls/ControlContext.jsx @@ -17,13 +17,11 @@ import { computeDifferentialSpeeds, clamp } from './controlMath.js'; import { useCommandPipeline } from './commandPipeline.js'; import { DEFAULT_KEYMAP, - DEFAULT_MACROS, HORN_HEAT_COOL_PER_SEC, HORN_HEAT_RESUME_THRESHOLD, HORN_HEAT_UP_PER_SEC, HORN_MAX_FREQUENCY, HORN_MAX_MS, - MANUAL_DOCK_ASSIST_MAX_SPEED, SONG_DEFAULT_NOTE, } from './constants.js'; import { canonicalizeKeyInput } from './keymapUtils.js'; @@ -32,6 +30,8 @@ import { useSessionActions, useSessionSelector } from '../context/SessionContext import { HORN_SETTINGS_DEFAULTS } from '../settings/namespaces.js'; import { useOvercurrentLimiter } from './overcurrentLimiter.js'; import { usePtzControlAdapter } from './ptzControlAdapter.js'; +import { useTelemetrySelector } from '../context/TelemetryContext.jsx'; +import { selectDockTelemetry, dockTelemetryEqual } from '../context/telemetryViews.js'; import { trackAnalyticsEvent } from '../analytics/index.js'; const ControlSystemContext = createContext(null); @@ -49,7 +49,8 @@ const CONTROL_ACTION_NAMES = [ 'setCameraAxisIntent', 'goServoHome', 'setCameraPrecisionMode', - 'runMacro', + 'undock', + 'sendCommand', 'stopAllMotion', 'sendOiCommand', 'setSensorStream', @@ -60,8 +61,6 @@ const CONTROL_ACTION_NAMES = [ 'updateKeyBinding', 'resetKeyBindings', 'registerInputState', - 'setManualDockAssistActive', - 'toggleManualDockAssist', 'setSongNote', 'sendSong', 'startHorn', @@ -83,23 +82,6 @@ function clampServoAngle(config, value) { return clamp(value, min, max); } -function removeDriveSequenceBackoff(steps = []) { - if (!Array.isArray(steps) || steps.length < 3) return steps; - const last3 = steps.slice(-3); - const [backoffStep, pauseStep, stopStep] = last3; - const isBackoffStep = - backoffStep?.type === 'drive' && - Number(backoffStep?.speeds?.left) === -300 && - Number(backoffStep?.speeds?.right) === -300; - const isPauseStep = pauseStep?.type === 'pause' && Number(pauseStep?.duration) === 600; - const isStopStep = - stopStep?.type === 'drive' && - Number(stopStep?.speeds?.left) === 0 && - Number(stopStep?.speeds?.right) === 0; - if (!isBackoffStep || !isPauseStep || !isStopStep) return steps; - return steps.slice(0, -3); -} - export function ControlSystemProvider({ children }) { const [state, dispatch] = useReducer(controlReducer, initialControlState); const snapshotRef = useRef(null); @@ -158,7 +140,7 @@ export function ControlSystemProvider({ children }) { const { value: controlSettings, save: saveControlSettings, - } = useSettingsNamespace('controls', { keymap: DEFAULT_KEYMAP, macros: DEFAULT_MACROS }); + } = useSettingsNamespace('controls', { keymap: DEFAULT_KEYMAP }); const { value: pageSettings } = useSettingsNamespace('page', { driveMacroBackoffEnabled: true }); const { value: hornSettings } = useSettingsNamespace('horn', HORN_SETTINGS_DEFAULTS); const driveMacroBackoffEnabled = @@ -166,6 +148,8 @@ export function ControlSystemProvider({ children }) { ? pageSettings.driveMacroBackoffEnabled : true; const roverId = useSessionSelector((state) => state.session?.assignment?.roverId ?? null); + const dockTelemetry = useTelemetrySelector(roverId, selectDockTelemetry, dockTelemetryEqual); + const cameraLocked = Boolean(dockTelemetry.cameraLocked); const homeAssistantEntities = useSessionSelector((state) => state.session?.homeAssistant?.entities ?? []); const roomLightsLocked = useSessionSelector((state) => Boolean(state.session?.homeAssistant?.lightPolicy?.locked || state.session?.homeAssistant?.lightPolicy?.lockedOn), @@ -238,10 +222,7 @@ export function ControlSystemProvider({ children }) { useEffect(() => { const mergedKeymap = { ...DEFAULT_KEYMAP, ...(controlSettings?.keymap || {}) }; dispatch({ type: 'control/set-keymap', payload: mergedKeymap }); - if (controlSettings?.macros) { - dispatch({ type: 'control/set-macros', payload: controlSettings.macros }); - } - }, [controlSettings?.keymap, controlSettings?.macros]); + }, [controlSettings?.keymap]); useEffect(() => { const config = pipeline.servoConfig; @@ -268,11 +249,10 @@ export function ControlSystemProvider({ children }) { typeof state.camera.angle === 'number' ? state.camera.angle : servoAngleRef.current; }, [state.camera.angle]); + const { enableSensorStream } = pipeline; useEffect(() => { - if (pipeline.roverId) { - pipeline.enableSensorStream(); - } - }, [pipeline.roverId, pipeline.enableSensorStream]); + if (roverId) enableSensorStream(); + }, [roverId, enableSensorStream]); const setMode = useCallback( (mode) => { @@ -295,21 +275,6 @@ export function ControlSystemProvider({ children }) { const setDriveVector = useCallback( (vector, meta = {}) => { const speedOptions = { ...(meta.speedOptions || {}) }; - if (state.manualDockAssist?.active) { - const capped = Math.max(1, Math.min(MANUAL_DOCK_ASSIST_MAX_SPEED, 500)); - speedOptions.maxSpeed = Math.min( - typeof speedOptions.maxSpeed === 'number' ? speedOptions.maxSpeed : capped, - capped, - ); - speedOptions.baseSpeed = Math.min( - typeof speedOptions.baseSpeed === 'number' ? speedOptions.baseSpeed : capped, - capped, - ); - speedOptions.boostSpeed = Math.min( - typeof speedOptions.boostSpeed === 'number' ? speedOptions.boostSpeed : capped, - capped, - ); - } const computed = computeDifferentialSpeeds(vector, speedOptions); const isMoving = computed.speeds.left !== 0 || computed.speeds.right !== 0; if (pipeline.roverId && isMoving && driveEngagementRoverRef.current !== pipeline.roverId) { @@ -327,7 +292,7 @@ export function ControlSystemProvider({ children }) { if (ptzControls.applyDriveVector(vector, meta)) return; pipeline.sendDriveDirect(computed.speeds); }, - [pipeline, ptzControls, recordControlIntent, state.manualDockAssist?.active], + [pipeline, ptzControls, recordControlIntent], ); const setAuxMotors = useCallback( @@ -369,23 +334,22 @@ export function ControlSystemProvider({ children }) { }, [saveControlSettings]); const setServoAngle = useCallback( - (value, options = {}) => { + (value) => { /* Absolute servo positions belong only to rover hardware. PTZ zoom now enters through setCameraAxisIntent as a signed held velocity, so this function must not infer zoom direction by comparing unrelated absolute - angle values from gamepad/manual-dock callers. + angle values from camera controls. */ if (!pipeline.servoConfig) return; - const force = Boolean(options?.force); - if (state.manualDockAssist?.active && !force) return; + if (cameraLocked) return; const clamped = clampServoAngle(pipeline.servoConfig, value); dispatch({ type: 'control/set-camera-angle', payload: clamped }); pipeline.sendServoAngle(clamped); servoAngleRef.current = clamped; recordControlIntent(); }, - [pipeline, recordControlIntent, state.manualDockAssist?.active], + [pipeline, recordControlIntent, cameraLocked], ); const nudgeServo = useCallback( @@ -457,35 +421,19 @@ export function ControlSystemProvider({ children }) { dispatch({ type: 'control/set-camera-precision-mode', payload: Boolean(active) }); }, []); - const runMacro = useCallback( - async (macroId) => { - const macro = state.macros.find((item) => item.id === macroId) || null; - if (!macro) return; - let macroToRun = macro; - if (macroId === 'drive-sequence') { - turnOnAllLights(); - if (!homeAssistantEntities?.length) { - pendingLightsRef.current = true; - } - recordControlIntent(); - if (!driveMacroBackoffEnabled) { - macroToRun = { - ...macro, - steps: removeDriveSequenceBackoff(macro.steps), - }; - } - } - await pipeline.runMacroSteps(macroToRun); - }, - [ - driveMacroBackoffEnabled, - pipeline, - recordControlIntent, - homeAssistantEntities, - state.macros, - turnOnAllLights, - ], - ); + const sendCommand = useCallback((type, data = {}) => { + recordControlIntent(); + pipeline.emitCommand({ type, data }, (result) => { + if (result?.error) alert(result.error); + }); + }, [pipeline, recordControlIntent]); + + const undock = useCallback(() => { + dispatch({ type: 'control/set-mode', payload: 'drive' }); + turnOnAllLights(); + if (!homeAssistantEntities?.length) pendingLightsRef.current = true; + sendCommand('undock', { backoff: driveMacroBackoffEnabled }); + }, [driveMacroBackoffEnabled, homeAssistantEntities, turnOnAllLights, sendCommand]); const stopAllMotion = useCallback(() => { dispatch({ @@ -691,32 +639,6 @@ export function ControlSystemProvider({ children }) { return () => clearInterval(interval); }, [dispatch, hornNeedsTick]); - const setManualDockAssistActive = useCallback( - (active) => { - const nextActive = Boolean(active); - const prevActive = Boolean(state.manualDockAssist?.active); - if (prevActive === nextActive) return; - dispatch({ type: 'control/set-manual-dock-assist', payload: nextActive }); - if (!nextActive) { - pipeline.sendSong([{ note: 83, duration: 10 }, { note: 76, duration: 10 }], { slot: 0 }); - setServoAngle(0, { force: true }); - return; - } - const minAngle = - typeof pipeline.servoConfig?.minAngle === 'number' - ? pipeline.servoConfig.minAngle - : -45; - setServoAngle(minAngle, { force: true }); - pipeline.sendSong([{ note: 76, duration: 10 }, { note: 83, duration: 10 }], { slot: 0 }); - recordControlIntent(); - }, - [pipeline, recordControlIntent, setServoAngle, state.manualDockAssist?.active], - ); - - const toggleManualDockAssist = useCallback(() => { - setManualDockAssistActive(!state.manualDockAssist?.active); - }, [setManualDockAssistActive, state.manualDockAssist?.active]); - const registerInputState = useCallback((source, data) => { dispatch({ type: 'control/register-input-state', payload: { source, state: data } }); }, []); @@ -758,7 +680,8 @@ export function ControlSystemProvider({ children }) { setCameraAxisIntent, goServoHome, setCameraPrecisionMode, - runMacro, + undock, + sendCommand, stopAllMotion, sendOiCommand, setSensorStream, @@ -769,8 +692,6 @@ export function ControlSystemProvider({ children }) { updateKeyBinding, resetKeyBindings, registerInputState, - setManualDockAssistActive, - toggleManualDockAssist, setSongNote, sendSong, startHorn, @@ -787,7 +708,8 @@ export function ControlSystemProvider({ children }) { setCameraAxisIntent, goServoHome, setCameraPrecisionMode, - runMacro, + undock, + sendCommand, stopAllMotion, sendOiCommand, setSensorStream, @@ -798,8 +720,6 @@ export function ControlSystemProvider({ children }) { updateKeyBinding, resetKeyBindings, registerInputState, - setManualDockAssistActive, - toggleManualDockAssist, setSongNote, sendSong, startHorn, diff --git a/webui/src/controls/commandPipeline.js b/webui/src/controls/commandPipeline.js index 188d7536..d20b85ae 100644 --- a/webui/src/controls/commandPipeline.js +++ b/webui/src/controls/commandPipeline.js @@ -5,13 +5,12 @@ import { useSocket } from '../context/SocketContext.jsx'; import { useSessionSelector } from '../context/SessionContext.jsx'; import { AUX_LIMITS, - COMMAND_DELAY_MS, OI_COMMANDS, SONG_DEFAULT_DURATION, SONG_DEFAULT_NOTE, SONG_NOTE_RANGE, } from './constants.js'; -import { bytesToBase64, clampRange, sleep } from './controlMath.js'; +import { bytesToBase64, clampRange } from './controlMath.js'; export function useCommandPipeline(options = {}) { const { driveTransform, auxTransform } = options; @@ -53,8 +52,17 @@ export function useCommandPipeline(options = {}) { const laserState = useMemo(() => rosterEntry?.laser?.state ?? null, [rosterEntry]); const emitCommand = useCallback( (payload, cb) => { - if (!roverId) return; - socket.emit('command', { roverId, ...payload }, cb); + if (!roverId || !socket.connected) { + cb?.({ error: 'Rover control connection unavailable' }); + return; + } + if (cb) { + socket.timeout(5000).emit('command', { roverId, ...payload }, (error, result) => { + cb(error ? { error: 'Rover command acknowledgement timed out' } : result); + }); + } else { + socket.emit('command', { roverId, ...payload }); + } }, [socket, roverId], ); @@ -142,41 +150,6 @@ export function useCommandPipeline(options = {}) { [emitCommand, enableSensorStream, roverId], ); - const runMacroSteps = useCallback( - async (macro) => { - if (!macro || !Array.isArray(macro.steps) || !roverId) return; - for (const step of macro.steps) { - if (!roverId) break; - switch (step.type) { - case 'oi': - sendOiCommand(step.command); - break; - case 'drive': - sendDriveDirect(step.speeds ?? { left: 0, right: 0 }); - break; - case 'motors': - sendAuxMotors(step.values ?? {}); - break; - case 'servo': - sendServoAngle(step.angle); - break; - case 'pause': - await sleep(step.duration ?? COMMAND_DELAY_MS); // eslint-disable-line no-await-in-loop - break; - default: - break; - } - if (step.delay || step.delayMs) { - const delay = step.delayMs ?? step.delay; - if (typeof delay === 'number' && delay > 0) { - await sleep(delay); // eslint-disable-line no-await-in-loop - } - } - } - }, - [roverId, sendOiCommand, sendDriveDirect, sendAuxMotors, sendServoAngle], - ); - const sendHeadlight = useCallback( (action = 'toggle') => { if (!roverId || !headlight) return null; @@ -277,7 +250,6 @@ export function useCommandPipeline(options = {}) { sendHorn, sendPeripheralControl, sendSong, - runMacroSteps, }), [ roverId, @@ -300,7 +272,6 @@ export function useCommandPipeline(options = {}) { sendHorn, sendPeripheralControl, sendSong, - runMacroSteps, ], ); } diff --git a/webui/src/controls/constants.js b/webui/src/controls/constants.js index 2fa1daed..5b83b6bb 100644 --- a/webui/src/controls/constants.js +++ b/webui/src/controls/constants.js @@ -12,10 +12,6 @@ export const DRIVE_LIMITS = { boostSpeed: 400, }; -export const MANUAL_DOCK_ASSIST_MAX_SPEED = 60; - -export const COMMAND_DELAY_MS = 100; - export const SONG_NOTE_RANGE = [31, 127]; export const SONG_DEFAULT_NOTE = 60; export const SONG_DEFAULT_DURATION = 8; @@ -64,23 +60,3 @@ export const DEFAULT_KEYMAP = { homeAssistantOn: ['ArrowRight'], homeAssistantOff: ['ArrowLeft'], }; - -export const DEFAULT_MACROS = [ - { - id: 'drive-sequence', - label: 'Drive', - description: 'Start, undock, and full command sequence used by the drive button.', - steps: [ - { type: 'servo', angle: 0 }, - { type: 'oi', command: 'start' }, - { type: 'pause', duration: COMMAND_DELAY_MS }, - { type: 'oi', command: 'dock' }, - { type: 'pause', duration: COMMAND_DELAY_MS }, - { type: 'oi', command: 'full' }, - { type: 'pause', duration: 300 }, - { type: 'drive', speeds: { left: -300, right: -300 } }, - { type: 'pause', duration: 600 }, - { type: 'drive', speeds: { left: 0, right: 0 } }, - ], - }, -]; diff --git a/webui/src/controls/controlMath.js b/webui/src/controls/controlMath.js index 0c540ca6..116a719a 100644 --- a/webui/src/controls/controlMath.js +++ b/webui/src/controls/controlMath.js @@ -55,7 +55,3 @@ export function bytesToBase64(bytes) { } throw new Error('No base64 encoder available'); } - -export function sleep(ms) { - return new Promise((resolve) => setTimeout(resolve, ms)); -} diff --git a/webui/src/controls/controlReducer.js b/webui/src/controls/controlReducer.js index cc325513..36b59a68 100644 --- a/webui/src/controls/controlReducer.js +++ b/webui/src/controls/controlReducer.js @@ -1,6 +1,6 @@ // Control State Reducer // Purpose: Implements reducer transitions for control-system runtime state. Scope: Centralizes deterministic state updates for input, mode, and dispatch events. -import { DEFAULT_KEYMAP, DEFAULT_MACROS, SONG_DEFAULT_NOTE } from './constants.js'; +import { DEFAULT_KEYMAP, SONG_DEFAULT_NOTE } from './constants.js'; function createDriveState() { return { @@ -49,12 +49,6 @@ function createMicState() { }; } -function createManualDockAssistState() { - return { - active: false, - }; -} - export const initialControlState = { roverId: null, mode: 'drive', @@ -64,9 +58,7 @@ export const initialControlState = { song: createSongState(), horn: createHornState(), mic: createMicState(), - manualDockAssist: createManualDockAssistState(), lastControlIntentAt: 0, - macros: DEFAULT_MACROS, keymap: DEFAULT_KEYMAP, inputs: {}, // Generic accessory controls do not currently report state back from roverd. @@ -86,7 +78,6 @@ export function controlReducer(state, action) { song: action.payload ? state.song : createSongState(), horn: action.payload ? state.horn : createHornState(), mic: action.payload ? state.mic : createMicState(), - manualDockAssist: action.payload ? state.manualDockAssist : createManualDockAssistState(), lastControlIntentAt: action.payload ? state.lastControlIntentAt : 0, }; case 'control/set-mode': @@ -169,11 +160,6 @@ export function controlReducer(state, action) { ...state, keymap: { ...state.keymap, ...(action.payload ?? {}) }, }; - case 'control/set-macros': - return { - ...state, - macros: Array.isArray(action.payload) ? action.payload : state.macros, - }; case 'control/reset': return { ...state, @@ -222,14 +208,6 @@ export function controlReducer(state, action) { pttActive: Boolean(action.payload), }, }; - case 'control/set-manual-dock-assist': - return { - ...state, - manualDockAssist: { - ...(state.manualDockAssist || createManualDockAssistState()), - active: Boolean(action.payload), - }, - }; case 'control/set-peripheral-value': { const roverId = String(action.payload?.roverId || ''); const peripheralId = String(action.payload?.peripheralId || ''); diff --git a/webui/src/controls/inputs/GamepadInputManager.jsx b/webui/src/controls/inputs/GamepadInputManager.jsx index d7621c67..9cba4332 100644 --- a/webui/src/controls/inputs/GamepadInputManager.jsx +++ b/webui/src/controls/inputs/GamepadInputManager.jsx @@ -1,3 +1,5 @@ +import { dockTelemetryEqual, selectDockTelemetry } from '../../context/telemetryViews.js'; +import { useTelemetrySelector } from '../../context/TelemetryContext.jsx'; // Gamepad Input Manager // Purpose: Converts polled gamepad state into normalized control actions/commands. Scope: Integrates bindings, deadzone math, and dispatch callbacks for driving. import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react'; @@ -17,7 +19,6 @@ import { } from './gamepadBindings.js'; import { subscribeGamepadHub } from './gamepadHub.js'; import { isTextEntryActive } from './inputFocusUtils.js'; -import { useManualDockAssist } from '../../features/manualDockAssist/useManualDockAssist.js'; import { isControllerControlLocked, markControllerDisconnected, @@ -113,12 +114,12 @@ function cycleHomeAssistant(latest, targetState) { export default function GamepadInputManager() { const { - setMode, setDriveVector, setAuxMotors, setServoAngle, setCameraAxisIntent, - runMacro, + undock, + sendCommand, toggleHeadlight, toggleLaser, registerInputState, @@ -131,7 +132,7 @@ export default function GamepadInputManager() { const cameraAngle = useControlSelector((control) => control.state.camera?.angle); const cameraConfig = useControlSelector((control) => control.state.camera?.config); const roverId = useControlSelector((control) => control.state.roverId); - const dockAssist = useManualDockAssist(); + const dockTelemetry = useTelemetrySelector(roverId, selectDockTelemetry, dockTelemetryEqual); const { focusChat } = useChatActions(); const { isChatFocused } = useChatFocus(); const { homeAssistantSetState, pushAlert } = useSessionActions(); @@ -283,7 +284,7 @@ export default function GamepadInputManager() { role === 'lockdown' || (role === 'admin' && sessionMode !== 'lockdown'), cameraAngle, cameraConfig, - dockAssist, + dockTelemetry, focusChat, gamepadSettings, homeAssistant, @@ -292,7 +293,8 @@ export default function GamepadInputManager() { pushAlert, registerInputState, roverId, - runMacro, + undock, + sendCommand, saveGamepadSettings, saveVideoSettings, sendSong, @@ -300,8 +302,7 @@ export default function GamepadInputManager() { setCameraAxisIntent, setDriveVector, setMicPttActive, - setMode, - setSongNote, + setSongNote, setServoAngle, songNote, startHorn, @@ -462,15 +463,13 @@ export default function GamepadInputManager() { } if (outputs.buttons.driveMacro && handleButtonEdge('driveMacro', true)) { - latest.dockAssist.exitAssist(); - latest.setMode('drive'); - latest.runMacro('drive-sequence'); + latest.undock(); } else if (!outputs.buttons.driveMacro) { handleButtonEdge('driveMacro', false); } if (outputs.buttons.dockMacro && handleButtonEdge('dockMacro', true)) { - latest.dockAssist.toggleAssist(); + latest.sendCommand(latest.dockTelemetry.cameraLocked ? 'cancelDocking' : 'enterDocking'); } else if (!outputs.buttons.dockMacro) { handleButtonEdge('dockMacro', false); } diff --git a/webui/src/controls/inputs/KeyboardInputManager.jsx b/webui/src/controls/inputs/KeyboardInputManager.jsx index 6324430d..48fd5ab8 100644 --- a/webui/src/controls/inputs/KeyboardInputManager.jsx +++ b/webui/src/controls/inputs/KeyboardInputManager.jsx @@ -1,3 +1,5 @@ +import { dockTelemetryEqual, selectDockTelemetry } from '../../context/telemetryViews.js'; +import { useTelemetrySelector } from '../../context/TelemetryContext.jsx'; // Keyboard Input Manager // Purpose: Captures and translates keyboard events into normalized control intents. Scope: Owns keydown/keyup listeners and dispatch coordination for drive controls. import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react'; @@ -10,7 +12,6 @@ import { markKeyboardInputActive } from './controllerRuntime.js'; import { isTextInputElement } from './inputFocusUtils.js'; import { useSettingsNamespace } from '../../settings/index.js'; import { INPUT_SETTINGS_DEFAULTS, VIDEO_SETTINGS_DEFAULTS } from '../../settings/namespaces.js'; -import { useManualDockAssist } from '../../features/manualDockAssist/useManualDockAssist.js'; import { SONG_DEFAULT_DURATION, SONG_DEFAULT_NOTE, @@ -86,12 +87,12 @@ function shouldIgnoreEvent(event) { export default function KeyboardInputManager() { const { - setMode, setDriveVector, setAuxMotors, nudgeServo, setCameraAxisIntent, - runMacro, + undock, + sendCommand, stopAllMotion, registerInputState, setCameraPrecisionMode, @@ -107,12 +108,12 @@ export default function KeyboardInputManager() { const cameraNudgeDegrees = useControlSelector((control) => control.state.camera?.config?.nudgeDegrees); const songNote = useControlSelector((control) => control.state.song?.note); const roverId = useControlSelector((control) => control.state.roverId); + const dockTelemetry = useTelemetrySelector(roverId, selectDockTelemetry, dockTelemetryEqual); const hornActive = useControlSelector((control) => Boolean(control.state.horn?.active)); const homeAssistant = useSessionSelector((state) => state.session?.homeAssistant || null); const role = useSessionSelector((state) => state.session?.role || null); const mode = useSessionSelector((state) => state.session?.mode || null); const adminCanControlLockedLights = role === 'lockdown' || (role === 'admin' && mode !== 'lockdown'); - const dockAssist = useManualDockAssist(); const { homeAssistantSetState, pushAlert } = useSessionActions(); const { focusChat } = useChatActions(); const { isChatFocused } = useChatFocus(); @@ -386,7 +387,7 @@ export default function KeyboardInputManager() { // before the browser can deliver the next keyboard event after a committed render. latestRef.current = { actionTokens, - dockAssist, + dockTelemetry, focusChat, homeAssistant, homeAssistantSetState, @@ -398,7 +399,8 @@ export default function KeyboardInputManager() { pushAlert, registerInputState, roverId, - runMacro, + undock, + sendCommand, saveVideoSettings, sendSong, servoRepeatMs, @@ -408,8 +410,7 @@ export default function KeyboardInputManager() { setCameraPrecisionMode, setDriveVector, setMicPttActive, - setMode, - setSongNote, + setSongNote, songNote, startHorn, stopAllMotion, @@ -452,11 +453,9 @@ export default function KeyboardInputManager() { if (newlyPressed.length > 0) { if (newlyPressed.some((token) => latest.keymap.driveMacro?.has(token))) { - latest.dockAssist.exitAssist(); - latest.setMode('drive'); - latest.runMacro('drive-sequence'); + latest.undock(); } else if (newlyPressed.some((token) => latest.keymap.dockMacro?.has(token))) { - latest.dockAssist.toggleAssist(); + latest.sendCommand(latest.dockTelemetry.cameraLocked ? 'cancelDocking' : 'enterDocking'); } else if (newlyPressed.some((token) => latest.keymap.headlightToggle?.has(token))) { latest.toggleHeadlight(); } else if (newlyPressed.some((token) => latest.keymap.laserToggle?.has(token))) { diff --git a/webui/src/features/manualDockAssist/useManualDockAssist.js b/webui/src/features/manualDockAssist/useManualDockAssist.js deleted file mode 100644 index e7b51a0a..00000000 --- a/webui/src/features/manualDockAssist/useManualDockAssist.js +++ /dev/null @@ -1,67 +0,0 @@ -import { useCallback, useEffect, useMemo, useRef } from 'react'; -import { useControlActions, useControlSelector } from '../../controls/index.js'; -import { useTelemetrySelector } from '../../context/TelemetryContext.jsx'; -import { dockTelemetryEqual, selectDockTelemetry } from '../../context/telemetryViews.js'; - -export function useManualDockAssist(options = {}) { - const { manageLifecycle = false } = options; - const roverId = useControlSelector((control) => control.state.roverId); - const active = useControlSelector((control) => Boolean(control.state.manualDockAssist?.active)); - const actions = useControlActions(); - const dockTelemetry = useTelemetrySelector(roverId, selectDockTelemetry, dockTelemetryEqual); - const chargingLabel = dockTelemetry.chargingStateLabel || ''; - const docked = Boolean(dockTelemetry.homeBase); - const charging = docked && chargingLabel.toLowerCase() !== 'not charging' && chargingLabel !== ''; - const wasDockedRef = useRef(false); - - const enterAssist = useCallback(() => { - actions.setManualDockAssistActive(true); - }, [actions]); - - const exitAssist = useCallback(() => { - actions.setManualDockAssistActive(false); - }, [actions]); - - const toggleAssist = useCallback(() => { - actions.toggleManualDockAssist(); - }, [actions]); - - useEffect(() => { - if (!manageLifecycle) return; - const justDocked = docked && !wasDockedRef.current; - const justUndocked = !docked && wasDockedRef.current; - if (active && justDocked) { - // Stop on the first home-base contact so continued input cannot push the rover against the dock. - actions.stopAllMotion(); - actions.sendSong([{ note: 84, duration: 6 }], { slot: 1 }); - } else if (active && justUndocked) { - actions.sendSong([{ note: 72, duration: 6 }], { slot: 1 }); - } - wasDockedRef.current = docked; - }, [actions, active, docked, manageLifecycle]); - - useEffect(() => { - if (!manageLifecycle || !active || !charging) return; - exitAssist(); - }, [active, charging, exitAssist, manageLifecycle]); - - const statusLabel = charging ? 'Docked and charging' : docked ? 'Docked' : 'Docking assist active'; - const statusTone = charging ? 'good' : docked ? 'warn' : 'active'; - const visible = active || docked; - - return useMemo( - () => ({ - active, - docked, - charging, - cameraLocked: active, - visible, - statusLabel, - statusTone, - enterAssist, - exitAssist, - toggleAssist, - }), - [active, charging, docked, enterAssist, exitAssist, statusLabel, statusTone, toggleAssist, visible], - ); -} diff --git a/webui/src/layouts/driver/DesktopRightPaneTabs/index.jsx b/webui/src/layouts/driver/DesktopRightPaneTabs/index.jsx index 1e3ff92d..d5d8d552 100644 --- a/webui/src/layouts/driver/DesktopRightPaneTabs/index.jsx +++ b/webui/src/layouts/driver/DesktopRightPaneTabs/index.jsx @@ -1,3 +1,5 @@ +import { dockTelemetryEqual, selectDockTelemetry } from '../../../context/telemetryViews.js'; +import { useTelemetrySelector } from '../../../context/TelemetryContext.jsx'; // Right Pane Tabs // Purpose: Defines the Right Pane Tabs module and the local helpers/components used in this file. // Scope: Keeps behavior unchanged while isolating this concern into a clear, single-responsibility unit. @@ -22,7 +24,6 @@ import { useSessionSelector } from '../../../context/SessionContext.jsx'; import OverseerPreferencePanel from '../../../components/OverseerPreferencePanel/index.jsx'; import CardFrame from '../../../components/CardFrame/index.jsx'; import { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react'; -import { useManualDockAssist } from '../../../features/manualDockAssist/useManualDockAssist.js'; import { themeGapClass, themeStackClass } from '../../../themes/index.js'; import ActivitiesTab from '../tabs/shared/ActivitiesTab/index.jsx'; import VipTab from '../tabs/shared/VipTab/index.jsx'; @@ -62,7 +63,7 @@ function DriveDockPanel() { const laserState = useControlSelector((control) => control.pipeline?.laserState); const pipelineHorn = useControlSelector((control) => control.pipeline?.horn); const { setServoAngle, setHeadlight, setLaser, startHorn, stopHorn } = useControlActions(); - const dockAssist = useManualDockAssist(); + const dockTelemetry = useTelemetrySelector(roverId, selectDockTelemetry, dockTelemetryEqual); const driveDockState = useDriveDockState(roverId); const hideInlineControls = driveDockState.docked && !driveDockState.driving; @@ -85,7 +86,7 @@ function DriveDockPanel() { const hornLabel = ; const upLabel = ; const downLabel = ; - const cameraDisabled = Boolean(!roverId || dockAssist.cameraLocked); + const cameraDisabled = Boolean(!roverId || dockTelemetry.cameraLocked); /* Precision movement mode also tightens the servo slider step. The command path still sends ordinary angle targets; only the UI increment changes while