From b5339b1ec8133f545b885f43ee1cb08531eb84c8 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Mon, 24 May 2021 12:34:38 +0100 Subject: [PATCH] Add Custom Az/El target and drift scan plot to Star Tracker. --- doc/img/StarTracker_driftscan.png | Bin 0 -> 131215 bytes doc/img/StarTracker_elevationvstime.png | Bin 12011 -> 18564 bytes doc/img/StarTracker_elevationvstime_polar.png | Bin 0 -> 31848 bytes doc/img/StarTracker_solarflux.png | Bin 15137 -> 20691 bytes plugins/feature/startracker/readme.md | 42 +- plugins/feature/startracker/startracker.cpp | 2 + .../feature/startracker/startrackergui.cpp | 274 +++++++-- plugins/feature/startracker/startrackergui.h | 6 +- plugins/feature/startracker/startrackergui.ui | 535 +++++++++--------- .../feature/startracker/startrackerreport.h | 2 + .../startracker/startrackersettings.cpp | 11 +- .../feature/startracker/startrackersettings.h | 6 +- .../startracker/startrackersettingsdialog.cpp | 2 +- .../feature/startracker/startrackerworker.cpp | 16 +- sdrbase/util/astronomy.cpp | 80 ++- sdrbase/util/astronomy.h | 1 + sdrbase/util/units.h | 61 +- sdrgui/gui/dmsspinbox.cpp | 126 +++++ sdrgui/gui/dmsspinbox.h | 62 ++ 19 files changed, 843 insertions(+), 383 deletions(-) create mode 100644 doc/img/StarTracker_driftscan.png create mode 100644 doc/img/StarTracker_elevationvstime_polar.png create mode 100644 sdrgui/gui/dmsspinbox.cpp create mode 100644 sdrgui/gui/dmsspinbox.h diff --git a/doc/img/StarTracker_driftscan.png b/doc/img/StarTracker_driftscan.png new file mode 100644 index 0000000000000000000000000000000000000000..6edce501a1f7f51cd47b0e61718d858cae513bfa GIT binary patch literal 131215 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 YKVpB5x^B!{LjV8(07*qoM6N<$f)4=Hwg3PC literal 12011 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 diff --git a/doc/img/StarTracker_elevationvstime_polar.png b/doc/img/StarTracker_elevationvstime_polar.png new file mode 100644 index 0000000000000000000000000000000000000000..fd23d8544062d4bb575decc10122f99d2a4bbbec GIT binary patch literal 31848 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 literal 0 HcmV?d00001 diff --git a/doc/img/StarTracker_solarflux.png b/doc/img/StarTracker_solarflux.png index b561e65abeb2543e6896393660355e66355fc186..f3a49a948bfe63da391c7d41bbb96902d0384907 100644 GIT binary patch literal 20691 zcma&NWmH^Sx;2cuyAwQk;Vwag6WrZBxDy~agg|h2cXxMp*8nNpUB61-?wr$o@96jY zQG-!X#ol|ZN9LT*Tw#jxlE?@I2w-4f$WkB0l)%8ig+VW7I0(>hS{0)mK|jEqlq5yK zDkg{yKyRSTKgfLm1FMckd^Uszy@z-BsOba-hSK}{1wLqBWC8}JXdxx`LB(C~Bpp@< zOY&*(u1E>$7&^XyoLH<|51jtPr?N`gfp6{9)Nfpm)GTT$3|Sh+$3{`e)z<7OMJn`i zP+qxGt*vjzr)!@Zz4#gn-39}$ZXVLuI)Tf}y0;mr%ggNoG0r^x-3BG^O(335Y!R*T zkO~eRjQ7XGq3qUM>MJXmPZWnc-(J0r78o_U4FK^`N)TtOjguQ28LmZ?Y-~Vaqy1}j5L#JL~FbD6g5X8w_$9f)Zz$*0j{0MN=M_n)1avD;{)jrnMx3;qrQ7w(IT z_-STylBxL_lr`Ga`bO4rXB)HX=0$$`dLp0QcMjk%g5FJWbhiO_@kfKM%Fb6UJv|h9 z1Tgd_gCKt=1NGK2+5S1#j5a_2_5M$nulSTFVavI`lOvBlSa=3}3a@)IM)cQqR2{q1 zUd8}ClsJt0m!~^eR1yYy`al;1MQCz|ZeFQG=qkka&&HCAWza%&=_|a;tGX))@lV!` zdWSQC$6rm?6eh`AuHl@iXK!D_mVNK*@B$y)<1p~h(9sPoEa2#|vJk{H{NJZRJ_UVZ z)4(p`TZL}F2#|f!_a&<(Ma^bOQV2-y`Z6>$gi0znWvU3K+A@Y&6Cv*O*0-{3X!!0< z(sul~C6HHYzyLrR7!I{jZ>?@=NvjJ3t(ZUREj2oJc!_+hnNH(3yEntrPcP$>xVa?M z%zVp$x4341qbMmF$5V5A^G;89!Uv(#UcnhoS?Wq1KSaT{T zAvf-no&$s&L+EysLu9wXT#pC+UJQj~p3=b=a7Y8eth?Gzr8#8#GBHVa&J_3iK?r>dQ-Gg~iYzp^%F*!Lo=*sI<7}62xuRh$u zw*>h3%gf6?ecM^uqhn)O5&Z=P1&XT4U0XZdi;K8rw9L$?(n)jy@$sr29uJ_1m+_O| z5!Gx4pui4w;V^1_>Ag5z=i?Qou(7cbwg&AE)B`G2d}2(Ol`xdxt}432Tvs)u&si}A()@$rFU|i!)2fKFa9f7iozhn%AbkYbU3B2kT z6(}h}Z0z|`^~$@m&CO<~!RhJg*;%LEp%`H#BqWtFRVH`Js`aX6bT2Y=^j_W%n%L=P zXX#OwrCoM-%kF)E)@Thi<=vxz8!LGJa4f|h6_WFh??sQ&d0hzjTy3PKM=tk9LATcO zc}HRe5iEC)#dyH^bPa!@`BQ3F`Y(nXuNt~YGx=lWPFg24%K$e>Ozjrn;xa5xeoL)%T6LC7VvuIj!Sh1=5cZv$xW){%wV+2DW&@^FQY@P-0Kh zB}%p?abZ@|r0ofpSUV4TN$Ks{>YQ2|xGHo5u&EOg67+o^Oq*DR!FeMU!AQgr-W%49 zNRp!P)LYG8o}V{)-7(<_iH1RAM{OPYT87LtQ(!mK?6>XJ*1@kH0n3X>)}P@ABAL5g)j(H;Sqe34-{7U4>p6_MsFw zp(_xofvgSlrNQ=vPf^NXv3v7&pxK(|t9~oW9ITu~Kj+Z*Mx@t7TPdKcZw>Kq)B9EQ zpmqv36eeo@G$=I{Ci!}1SzyEx@4+bEXMLTfBlY3lO-fA-wDEhmr1IJw1N-W4pz#ShT8beyG6MJQ z-uNPpHk++-RX%l5(`vC#jaIQC>DaGzf`Xi)`~HhbN+v_x(C|c#48qXj5EB^P2=1K@ z&GU2Ukr&n`5ce$rAL%kMblvIV=g;KQn$)p0sR}N~4LHp=>Rco28b&g=K6`@tbjs@n z)?1WnLpt0C) zsT;Q-L_K4X5Ukqk_?GNcw#xIMc%tF#s;)k|bZz)?w;=vgOfAe_-@q@V6b_}&flMc1 zR4XoZjb}^WntVAh;gSaJ@8+E_IXi>0+dJ&f7m-UgJ z#eJfDCz}i{GvmkRJ1%EnBwSj`2mUg(mzkhxnTbhWHnmWh6 zU4`qb{ARWHUcIX!ddPe7p1eh~uV)`=ZqDNsR;Dk@s29x`T7(CcWeU%h+`3%R4s`hH zhEMkv9iIzG$v3O$Hs!I&8FZF>zI;KHxg#C|r~A0+s-QMg+Eit+hnbHh-{}}dq@~{q z(Gc$3kjk{Wubct_Q5)-LYu1z83Ru#Tb14HHPot$Y(M2j)H>Xef9nMHY8ji zHcFDd85k)|I-eU%;bPS{vX*fnR!XnOJYxK+3OS;ds1&xmgAS<(CgE*N@Z6fwL}pNH z3S#Np)SIr1=*g=3pC*5>vtOwj9v`>8JzjPK z-7l9N(FydI4qTJ7czSh%bV6(aheG-E^Fdc^Xz$&?T&B07!H^n9P{Wi!m7UG{5SW$q z4iy#kk=4=Akc|5bngR%%%C31Wp#)qVeFZ}^G&57v(Lp*&qJ!Xe0KpIY&5roV2+-HUK;Ym#m))9% zuUu%#b_rNy^3{7`aA}08h%ZRye(8$+m^_hDQN+Z=(|3LbP;l-}dHMPAiHW0`L;k3y zR6X28@7P=}#8Av2AiMlwbvf_5zPQL@chAjXrRmUa5Ptce&unRYDQRyP7!n@1*JRAX zgn7tJPKN(h@bf}7y$gh+aK9)hefNL&!%!Dfc;nKOjtVBQnC=VIz@k4(5?$mWi3T}# z7*()RSm>2J00hEuyAEoGgsm*zaT?_39+KeY*=aV%K$$bcP=E;&1eie4!ed}cBLFb* zuG{yF_$vkspkP1Be$S{P4@@qlt0e-#K5$o0R!j})jaq2l6NSc&n8r%#p_6kcTrGPJ zvP(cYL&koXG1Ze$Wg+U-8!qA7_k>vxLdUCM(i@ryCl&*0|5V&CPeGfs`&~u(JTE0 zN|iv&W!l(C8=?&AOf8((V1mh~{7?``?QTQS(HVL8f;#SSz~&R+U*4BH`FGz622+EQA|0)ZTx5yQTJvYoAh!GEv->6emK2EH=}idW-Ef^c9RQ@xq^ssqEt+`4|gLX`9r}TOj$NK3BP{f{6a!E#gr(~>$)gn7#Rr(P;K^uVkdOHwIxBOO7po)@8{Gsy8G+(*47cLGKTqP_{ zZ|q1VCQc&UseIXXZ!y%y3lCM5N^B2{PTxKzzI(G^K6JgWH1@) z*!ueXI%HZez=dh&Upu2~nz!;YAC&EuP-wXVH|g$-*E70jbVNrXbSexbsV5V83|ZPO z6HTonBirQ4UZX&-_4xqPLySyV)HrLCkOz=trEoq|?HX;EykGkZx7De4#mn8t<=g&7 zKpMs&n{iI>que=HgAg%@vP9w>)KUYSPN|pUr?*bmne4QsGLQr`cwCrVRBv`iijV5u zUB7~O(KLa+n5#l`$&dmrO{;8=;dqR-6#U{harvBzVGI0Ulnb!iaz;^E)YYy&@;@{% zioYJE&`8+V*`4UBXgEZ_QL3HKaLA_?lzD<7NcjT=3NoCNJKXf|%1ApPee6f^B^&tc ztb~F(#OM&S=u!-WGy06u*$}%e@QgSbCauh&?Vh8>NAZn$-JZ<&_HBOn9>_Ys*w4g- ziD}`)xSa0mZngUzdMC6i%V+}L%$5tpIPgWhnp!>Fiyn$q#oY&Td(rfmaJ7NWRGz~0 z+BudKe**Vv4a4rV63G&{ExsI`7#4vjAhNJ2;Cd>uNHTXKJJH^{YFe;fC|VCk?~lLC z1eI$Tilj`~1^AO)5APpY%FEPeCH}fd?s;7}w1WIY3|=eHQ>o{cBpI=g2s#jG3RR2EgSzo)9&BKvBoNB0;p*H5SC+m@T-6d0BnJ4fvi<+Rrgs`X zJ1ZBwMGuoeN z1rw%!md{D7WLaPLKa;+KP6<)6yQ(;UXhrO@<7>8G0Ik250g^-rUTe&{y~l`lONq;G z(#$I=hS$6R^OjiHmJMD0n|@DY2g_N9TM@`?#D_Z}Warsx)J~DIKb<%T033JG&Rd*- zf-PDnWaioVvAdKf{C#Lw)Ax^$SU5Oqt#=o-Qw2V$$@g6E+aJp)nFysbBbzn*Edd!p z0|w5)A5F@3F4(>#cZJvLLa-174*^h7xlk3jfOjU`J_5b5(STB`PzGkOW;R(rX zCd2`;SamXukQ`7WyZ515o)~9M?+^`W02JH5*C@u&3KDOCjf6P(+_8CymsDJ+ApXYc zZ#irOog^I-5(Yc$XQN&6)vlmmZr|R1ronf3Z!PwoMsWrM z$E*sh3nW!U-lB)W8RI^}Fsx^QL2AH{;n~xtL^uuM`dB)-7<#yvgSK^RGJcQ=sw&x*RgJlI@fl+Zj zd^j(U<4x6@kxwq&uRdH#uWLeVefSav06hEwyT>HIf=`)UWY%|Qq^lfkW-3XonWHJ7>Z-Vh)&d{M6K14SA@`XWFIwrx z_Be{#$J@6_%_kBv>6Y6l{~Rk(rseEIL{& zyu`bpWI^nbh8`$-LxQa2dtDL*CCi2$iBT9OEiLo{OT1VrXE`Dw0(*K8=Tpygo?Lq@ zB2PcCj{i;8*i!Gp7MdS1s@nn^5?$a;cD*wj)t%a*(`A@TIk~|I>{?9_ly(^zr&T?W ze=3HDT^PyKNP@-Rf`Y#hDk>&0eyHc;w*2xka#S-tf0W=6l4kiZz1T7^%bN^ zl@}p?l&VZ-VoYHr^*}i$nCS(_VZlQRi}?{hv<8Qi(TzqR-4eoqsH<@?rwRR7E~B|b zoIsY0>w8G(OQhyJT=c28`{)~S>w#7M;OeL{12zrSPtASl;ItqnhBmLnvuK(mRA+WO z-Okx%ZBRmViwTC9_aGqG+nyTgAi6e!$(R!foxbwV}!r?p%4q=My7 z05tsOIhg#J-9_0%wJ84;GUrmwqk<;?#dBfu8@=$gEcN%GJaG501OyHJD>iv28K)t& zmNEX0Z-5C7hI4CLCT5hrpD2Cv7n!e%d)N?nSgL z{pc^dx`LJC6+t6Icf)nbPGjE^1@}g{)~@94PjB{d=;R0oF6k@PPIdap*G^#+bEAXG zHmB`s9n%&UqAg2NbG6(0&->$_5j=`B_#D%?3C!f2NOn6vR|ZVap+m&c zcXdfa%wttoe(8_!``rSFkyte=?sR{ML^y)l*!+@UX*zbz1s@u@C?tjFb6U~p6W4A5 zk{8@KTw>}~ndZw7EKbv{wjcTJZdfRIMI@N1OjOzl?~VhV?zf1^Iwz%Yw+xO6Cg1f; zm1K$OQ2;@3k%^w(=^PfhGLZF8wDXY9A6GI(8q2V={cUS>RVgcTg(rj-0a!weacvJ> z4hI8qAPq)#+G-&z-Pn`&d(a+Yt9jbycf-5YOWJ)+iwCqR+pc?-TTRPwR7*mD;5*|{ z1g+054nuW_yccKdDh9BN%A4OUvcRyvcEe#ATfJ(&&8oAHIc>E;urSb03(?h^ryWI# zRw&DpIIO`TI6}h|4cIPpFWH~4vNGGI3G66}Lo}xN7@@Q9IrGSFz1H>;&n%RKgWExN zb+tY%cV{!NMrL_q^LyPwB&Zl#T7v5#BHX`z#rg}JVV|>T4^=Cz`!5l{{yn*E@(beg zH5iyg1dCLy-nGwHe6;!KzQJDlDe@3SVX(h950rz#kp-(au3tG2x7jgpQv z8MfjjHz8WSbZCi|CK0o?yO~MV7~rtp`N7;96&JdT_XE3)25DQ)U1#$T3isK<{QTY) z-ai%GoSrd-Pl__O?ixvB5f@a*!~PAFYw_^m`rUtjxMwLV75QoLX`wN@I|5_J$I32K z>`wUkp$Urm>X6H-;QrZrGc4q3Qn1=Vc0j>|+G%EF9F&4(i}|yTPXJpYfb6>IH1X&8jj61vu!)VqvF!R=StZcEYCE;-OI)uXiF7{Z*+w?D zUrDp9hx(OUXIXLuGlZa_rO)5YVXp`i=yy)`w)ghH>G`+* z1;o>V3H#vXHvhJEPBK_5R+bd39PcM-zqc{^$8H!>0j|j0UvlKdkep3JS)KCRkUp8w zjuzg1wp#!)U_|s==I|5O_0_XE(;RBHGRovW+kK~b*l8#6lFQjCo*Z!F!KNxFk{`0M3uX{AKK;>oJp%)C`}bYr3h zoxCgvU&PC5cX9?jJm`Qnwl__V|InK|=9BjgZQON$svL#J%x)ObRIKvp^uUyh6+2S3 z=PIzFvxj}|6M&Q5(iC#yqm1+OGjapVlmU*`kh_RLMz%imze?|8LZ9PT!>xHc)OA7KuDk zdpUf;Hd^YW9L$6GB3Ox(kW}YLxMV%jRN2ahCN|J7N0^&PJTohHy{P{N+h(_V3kyPa z_xJ9gbp863Qe#jB!`Igq0Rcg2dp!hO41Scy9k%)a(G z(Ndc0i_dl({LU29SB>j;XT;w!h$Bg5!yd}ek_iYJ%c$bfsD>-EREjNl!{)8Fj^XKj zkEC6Dfox$JZ+v*zNCNTUjg2$_jcxEhQK%F1DEaRc$w{0QV5yo)AOw`UY91)@46=u4 zZHAW21#)B4Y0GKCTzT$$Ket}4WALBMm&^+G- zm0C6~RHEJ4n#t?@kW;EzPiaq>n|h}`14cq*QIn(F(vOCy)NVY5IbOj3KTSq5voOk=x7fazm13|<{U8^5Ez`DCw z5%8!?@G?z{iZiZQr)i{9Ivv#+vQ2N%aS{8MG_&mdpI`ahaav+8uI#mwP|dT;J6zdZ zD^wl!4TqzEb&WMu)e;jTwHf|2wQ+MM1=U8*##WqVEBH(5RxO{T`U?Dhkix|zXMc9G z2KW|abY^4a`sL1kkmulmy}h`-ytoL!CizP?a+10JqShexH(o8tZgi}c2w;CN=S9Pa zv2c&yCFHOBYXaUC_N^7#p4)};RK?`|D>=rmtFE~~P{DMUQiq17_b>hcIjZw3V}-4u z5K~j*LMA%$Y8u~FMoreuJosS10*}0R4h9hUM_&>Q_m!nTny*9ugJ6~s00C(808UFg z(NHQXTKl98X%db;Iub+Grc8ZHh!1x_g67_)H$iyM+!7Rivr@}oDT zgy8Hz)pSCn)2Hx~cD|dC1S-Rh=f=Qdw>OK8k(!8NtzeMYF%kv=X^JdY(hpv*(dHrj zclXrxN|d35cf&9wR+hSdY6Q(9+-JVEL8NuQeHiYH2aylu(E+Rkb`SEw>RDh5lgIaS zhtG>np9h5nC!_8Mw%72z?Qse`DT>KhU29-=fHkc>EqvNkmS7P&i$3baW!B2L=7#L7b|1$+9Lf{(ne&6?C!hEv+C1CQVT{ zrG_5N#nq`&FrLk`!*&BDQ47}c!`)Ds_`>}jAeB#O8z=@#slrwsKKtl)$r?!1{FZk9 zW91tlWb=!xXGf$t{;ueebE3y{0umBr!j*4co@n8WyBc9#Go7xd1I0`u`tC%GOIU&$ zV6N{qwHSh9&wnqphc=Row0HHzHgjKFc1(C@nZlaf!YJTz)xHy=GL_4|uyme8U!SyE z!yEQDtR6RWdsLi!XFvH8yBYvW>tfwf7zWFGoqfbYlz>Q8_Wdq{5>glrIl(!WcYR`( zCBnc=OLyw?=^?zQFsIIU_W4+p)?3B!o(NCbmgS}dR?pf*^;hNDm4A9yq!jbYw@5;6 z6R_C=B9q{QA<(j|-uJyH_*1X{H);^=&nl>nX^;BIz~KXdp}`^yR{(Y9WRPF0zmf$T zSZtQ$K8J~q_G^+Vht;eH4*8bh8dgIotTn<*CV<;r9RwUs8ubGg$5R`p=dDmV5E+}D zXuua(JO|AJ8mj|cUQ+XOTF-tcD`nFmSuL^#QhlRwbVz!NWJCQyLcHSUKAe~Eb#$%C zm{3%cr3Iw3XhfaVu4sa%6cvQUq}SJ}7+uJYIly=0ofC<)jz!?f^&x$>y6EMp@w{_) zHj9R5o0F9enFx)Rk@kW+){reir1C)*RWrq*vF`SfKqAI(G~19IcW%7Buv=dtRCDk8 zZw0a<$uo8bI0IWL9+2T1T!oPob2g>L?$(4>zssaqU=(XSndao+tQP)>vl0J7#xpH> zdwXuJ*RqQzgz5*(H1B6aCPfQGon+Z?{XQZBIWc5#>5o_}r&9!Yv|PXSqk3?pKZoICK+yWLR*B+@%Hu9uA&-7<(t9=%w4M>w4 za$8YK6w}?WcGiDR*7rhNr_PX))?PW$Q4wQhlO2vNK8dd8FPhkkd9im@QIXB}ypLw2;HNr*O!`_e&a6;!aS5*|j=TJ~a-jw``vT zV7Q+qhXaGB(yJP7_3!I0Y;~E?H=CoFDJ)Z`>Mb#6MIpL}rd>9Yea3T(?lN*}#_vKp zv@4o-Q7pKai|bVT@_mr+Q1GkeH4TdA-L&5$-ZLW+x+A^VGRR=HbuMAC*YsU{yZsm%>ob`NI$WwwZ zMpvjMRenRntA{7TxO&ecS6@yHWvqgMQ5zSEkcK2Niv1;8xC$%2%m7ZHdN4>CwmZ}1 zMZ)O1PElPtjs4qF4S|p~Vy^OH1^Nj z+&q-QN$yEyB+2{kW?d#FL390V4IgPvbH$8yB10+rUAJ6mX>I;Z76&!W_?!wkdisBL zQuUw+0=$8VB~(Y{Ps?wjHde%%^&(9KT{ew7t4cpd+p_qm-W9^3;1T}Mlxs_7i5?I3f z---F}`j@Do%8jL#X8phDZ+OL2y*W*R0&0@CX2ocnvRu@Ma>|={tjNsat+}H&G`W-& zbq0Dg5Oxo{Idmaophd^{!O6s!w`ug?zU1?3nL_?3z2}44VM?{JWZ+^_5~Fkd%4~t0 zb+v}$(=D;apatT2fv&hL>bnqkH0b1`25-Ay}!sBCp zb@9E-gU&O{`|;$!yH{xBSN=VGR==bCD2N;3^Rrc1T z#i30%%$2m(V1Js1O@581!S%%D-|&@a#f?rt=R4YF-s>)` z;o|CQ$*coVx&n*E+(nyqK(e`?IV6#SJEV* zXrLCwaAphV`xp$21u5*?uC2pkJVZp!Kgy*Pkkp;LyiKg%$$8y%So=cG&$YW(4zCGrLCr< zh~CEj?6_qVt>`Rx+{CxL*A6Q+qN?3wqiDV{~}hpNX5Z@NLkb zgq(aj6$Qr#F>q$g%|ntzq}r;7%U_^_FXl58QYtJTcZ+Xz1{`m!=PBRilPI2Sd~Z#( zsFWy0FY1h2Cyjc4vbi{@>N4wNcg12ra;78ma|k?td1g|I22WLk&N#&P1zT_#YWlnx zuoy+iH9K#mu*%u7hjDSD?T({GGv`ogeihHho#;*M(#o(ytfD&I;nNxr@SI0!I4-hS zY7H-wvKHpzjx;nM?$y=J!;;^H0He$SC^5Ga7=uR2zWOF0Vs5YcA=k-Z`{&W>%HksI ze`&zjy5yLmsg(j^9Fc-+zQ2@IqN_s-w3*PB;LErT85_UL9TelsYI7yw7f^uINShtZ zT#G+brK?ZZ##)+{|4P{@Q-QkpPmmFph0q>PXLN@M1B!U6{z({PP-Z$D3Cr8|op?lL z280u4W;Pm)nfL{mqIP)fRr7*`6x0@D^UB}Kbsqi5F{wftRB&>L`V2nZO+^C(YwN$XmDd#Q-K zTpY?gE42a*5cJ!|LZ~Q70v9EjC>D5RXL|V;?k|kHjzB(weXIIHTW$Snjh?H|X?XQ` zT8l+|wdMZ#Qr*d8&&rmHdmlnjPOh%5zH%b!cIwG#%$VSKcKwQMO-69F(RBN1Lj)RM z!4ZR!N#EX-d$llv0#w?&C_MQoXxyxcWi`W59qc!)yBdwR+1% z)ENn+ih#U15)A02K8h5>-UKVEp9iz$cV4N9Z9Xw#X#%qb@$OXxYH6=1CdTSWPA7ke-w;E%!~l^iXnXG$%L- zB8*kY6l3b$F^`W!W><#56DkQ_fr(uPpy1MScAzneS~>Kuz+A%+$cks2{vUcMUYYFm zk|J;{T>0ec6?^XkzZhTxQVijc>*2lkcQtc>mn`4D_TKMxGOE`MPXJ&7(V--6#%v{; zV)Z$BAFC)|7*$F+KtqJ3H(OG^r?W}3v`pL05&2>2(-1N|**#+eD-EwYnitdD0GWU{ zLw&|^`%BsHn3+Er)J`EEYWKztbVh;H zbBrIq>dPKEY4T>=T9xbK+f|{}AlRtO|1knyUb%m4u-q9%L;o{jY6<`7!dFTm3i4vi z{$7_*fanpyjpS1}k~s7Qe!mnmzFr0Na?9b6G%wD3Wth9Jq!OeDQwjws{vMltS}cf<|Hmw~0&t{gj>%`8D-t%Y zAEX3E|Hb-4!-OPy0L#`gq!72qf}r=Su)_9Qi+^!~JIb2l>+239q+$HKo`y8fG#4RG z*Ts}(V#|If-|L{Vr|4RFTmAX@93M=}7jLSbb)ktu_vMes1d%1Jz+J zn=CV&lxgExR|n_wu2)&YPEbYrT_XQ6uu-iGjF4cKqeQIf?0UTzZ<&?8>_t+#KHmJX zgodALrUE=llWWeIAkWQ7<*Dg+F|1)k|4!TOg+b3k6=OL?0kzU#Ia^T9Tz3BD|DviL zCtId$+QfR$gI+l+x%|l1i|@T?67tM{=$%S5>DcJbGUCFK3Lp}~qM}q{7tK5{WHDNqp zhd5Co#s?}b6&h=02$KX!0>*tuPC6oq;B#0>@*F37m9^N%JbPb-xHy)Pf55QUam(Nt(4rGhvbYnk*Lw_|q>m$L7Jb%dh%03@dK>#p7R1m7ngk;)D|w`ttee z&a+0+j`IIk&HJtIhPQB*m#NH3OkI#T3E#?}G%)-?V5>0Cu#ORFx<2v+ehAaNJJ<

Lbf&uY`P7nVP_lIqJ6&&_pzP!KlXGzo&a=mf`CNu3M-^nT7BGnj zIqUqXtZ-72yA*gZ+>drHqRnm|U4&HkH;)#@6yLFVkRomMoWRog`#D?>uOJ{f+}YH_tY9~qyYsIQPX#L&1|%n|?&5@&vADP49q z8tugf$It3@mW@7Gv@LESSxT4QdY2D%o91<)@I8MdCz4E?@U48JYH3kXuGq13w8*~(1m1DYD&vRaOzt3WNTx8K2N zeeNQwQx!hFOGt;xOE(1^vIDI0Xi;)jH6GNhVA?j?9#C~v5&y#4{hO1OI!YC9WbFTQ zFIGF^1rnUyj10USkeW}9S0_L7aHq1t{t+?e^q|dR7#fv9TS7~T=_37%Ps{W9t=p%q zCQ)vG0lTloZe*FTf$Zrbm~5_|VzR1v8yqNqO7o=6qk{IUwztX^`3St6fcY4q23I9& zBd&C8V=^te1EmaS>P~RX*V`f>xA&{i2eMPx?>UC;5TPXWB!P5w<%Uqze%_rHsh?!1*MrZ^i9$>Go}euT%METzpfIiFxhy?ut53d0QkLWKeS`*`ketdOahCmW2V%}SkT52`Bv%8Q);mBvUq&lM9TkLAmbpENdEieqk(fG(M?rf1lYMqc%-n`V*nF7gkFle zx7`*N5l0;7*M|JJ19-yXpRSQXG`WSb^)9Sn2kTeba(D$CY9^fCVtGUkNNn}<6ROsD zo)miPY59KsxIOmy^4D(U^*+9?Z@fT>(a->mk37f2uXklNfC_uVDOQMR~rcA$S(g35r2;+Rv0g=wuSqM z3sF2TtGRosgTk9-mqN4sgEDPOWcgkEg9x>R(mfu^Ky@{x36`Hh6*3Tz#>&Wltc|V3x0* z$+7_V5ZTKI#~}5Fvc9>juJtij!^IT}fk@kON)M{DXrZx}gPv3YTGL4cx}SU0+KN%x z|MWrr?n~Rtkjj*lXRB`C8=$tGJMh}8nH|kMyDn&=Gx&Lk;so9H1P_mKRVX~sz-2yc zk2GxIW^+R8;ee!YnathJ2MQKoVT4EFEG4vQ6?9~SA;nmSryr4xkOlZJ(&Jsn=NhVjof~i=c5nH zZut|cY;>_2UU-=cCoUDX?&`rs<7sKQ_i6-AH0I#P46gO7Z^yOtb`+5agBeE;=e6`+ z@IPJ6*?T;7+I z=Ph<8o*+}<#oZmQ%*b2wusM$BR09nr=?&sNRrkxF?JP+dQ7g0IRP<^JDc|(7`=+v7 z$G4zQE!{%}660Wl1QRY%1R$GxU0vI`r~GSw*=6F&1B7kROr@s43Mwsca*7nJb@uYteSChFqriRewI+e@T1O zb9Z`Ie{4$TR9s@i`@rU#!lDRLUeRUeE?t}@2el`yKpjSJ zLP%XLrWmY5V7lC-t~(jCpstcw#=cbx-yh!OB#uCYOkJ(T;T9^Cz4{4XLYas-H8bg_ z$tvY;-A+?7Khs!Ae^zj|WyH#Yzx>U>{mSb~?uEkoq3?<9{P@OPw}i=iIxjUvhnL}0 zfnfz)eGgXP*pFuO4dP~I>{>pU$PC5Qt~=7$Mu#RZ?}nOdIB)RnsRmra`=lvp}2b1y+B0*5Kvo6C`C zjv^zANib_4?M%Ay^n$=61da(kIqr0Ne2xx3>x6(bYvPvxfFuSdM-as;ak#sbURcfF z8de_C+^@G5Ow`wFbVTgl21D9l8aQDZPUMv5xjEQV= z7OoJT0U%Q8Aitd*ZUug8Z?RpgF(Qqk5;s_5rdAM8w;+ zuOfv4=nBb8^Q_g4F!Z)oVR>U(kOO|_qLZK$mi%Mx3m!{pQyLPIasY#vK_KCbT3IPGLq zK0LitKapZ&j@GLGr^^9>$P9vB?=wc|U+h!WFtFiH4pASm6VG~cIx{qUO;q=b?&p+! z?Bfq1;8-}t0MG#kkk)}Ok%X7Bq?y`iZG?HKCA1bjwiL8(9n_-XYGw9oxoc`fB~4*m z2y`&S@n*P& z;>u^f9Yk}rqi=H$^jXXO30rybtn30!Q$>vwb#Mo`G;hzV%$7rDYkXV~AU^tbX~kY? zJd52<@V1nHYC(FmF+Sc-KrqiiLpf8k_S}=&Y#+Vhhwj4$>;%@DXZrHq{K$ARHONOO$YgM4A@BNJ0O762QkosH#8Q9*UNDlt&PR82xjc~2iK zR(e$54-8-Xk)e~lFzeV-?;%3O8#YM(V69oX!&a&)Tc|U4<;rCYg02# zpXGi?Bn(7ZrLZ?Zyx8`;5F+zs`%C%!nX3p;k>1!`8*}3{+NDvy$7xl-@SZ1CD;5S zkF0Zt=Pna4P#%~VQ{eN!cI+FEgB3PJ&l^=9Y0F61vYNPx7q3YWiWGmTs->luB6C}6 z+6+Bjo*KH5@az?H)?tAt_ZCd|PbumjCw-QsflTRFSC>$UU2=!r7)vWwPWV!6Z5@cU z0(C(0vKZqX+CBoc+ngo7f@%iAZ6HfJ0Ux{FnrKFQuv$TWlx(=p_~G+l?RJ{{xEjr=(fY94Zt@b*Ucl!L_@ae-c}U`W<-TxWK3dtaksRkH*t@Hl+zsmu zDm1tvat4*%o%+K=FFt^>0Kv06r{-q-u8L>D`yU;yki4rd<97-hqI$#m_`K!nEyvnw zDaIC-Mu!H*%h{GE-FCXGv#0MmPHujS$>FuUV)po?{ zKTS3+*UIm`Iv&g?XrCzvu#PjajNz6x34ZB57fyobzkf61(69c*PzJ8ksd0d}7;?Pd z!F|$Xv!M9i8fj>QHoAu|s(9bWf1%R+@v~fue#}r`gW33mt9`3x=e>gN_iAKwmom1V zS~IREP=Eg*C=)&snVFcp$?RLp^{_nBSpyspc<8KU&avwdaGYewUAnjB=}%4mMZ5(b1;L`W${|`XW)f2$K0WRV2(am-r0S>qVD{BVA|@4oay=QL z+T*hKJ}i$*Qpl4@obc%3gSFG5n)KJ#OLykoSFszIU7K&0S9nS~hJJVw|DL|mf#8XRQ5vtno$1$41$sZ$RueyxAxNo`(WD>77hZ7Di8n>cD8X3lvVPH|;* zyNFlkJ8g?rc>Df%iCK#qI2}qC+f|`oc80y!S}mG8Fe`tj^}=TjcXDuRfVZRhxfxC=~Jhj?a%AX zUE)EppE0vvF(1ZVR;ai<01AN@FlNDK6)x5{*2@mzezW->qJXXtx)tI_16fb;SaB(W zwDoPO=Qi{Dnzaf-y1skk-Eld5%_^j&bD?xQzYm-JUzQZXa5PzXkRlpDKfOyRipH$h z{`q)5(=)G0@*{Id9jp|#q2rH1Cp^5zlqIcXFZQ~_L&YuYhr@^!S9G5g|LO}+PZMOc z;$Gwcu+VwweScfrS@fgaeLm~iIs0id(cbuxmd^J+__Wvh@g`dk|GA86M)qEW85lAyaM@D2t5k*|F4ZJ4~IhQ!W!;y}$Q;OEL@DPCMMOYtFAaE33UZkSaMOSO__jE9R)00hS8c3RT*830WVp zB-d9gbekWb;+irsKhZxNH@eO#pAeh87rzOw9R;3zk>9Wy^-FpW=uZyK@yDmab%e#+ zu8CiFOA*s>)H?k+x_om;!00i@S6ortmXSk5X(NLqnzc1_Oc z7C7|K-En}JQL0X|q0ztonVvL(A?@zchbJ_Y6xLT;vHV9ycW zpTQxbPLjo6sX#ip|4y;~iWmMj^*I3%ac&@>YV4=1+vsfks7C_=EpzN@^<^A?w}&a` z?%oFHC^#d6$`~)%C8po_c-yK5m{mF7< zi_*%x(MMOBb71eRTeaL6wZm{_qSVnBB04cr=ZXpF3D(8|oH=l=4^EhkgFrulXQx|K zJ-=y>o?VC#tD)Uwnidjan ziX?~i@3kJ@oZ$t0hnScDhK(HD7(|Jt)uZYcj@#4jm zRE5l(90fJ;->iUPzwucc>XYsVS{1`udU)oj+wGfQ8AG!0YYw0C<&Blo|3uOM&Kukp z)shV;oRtlnENbmR8W8+?j&C1DTw2nT8#3joyK23)6F|F7q)-QF5uSH)Hu1``2b6ZQ zh%pf1X<@(l>(DZ!ir8+W^cwoMn`7JFy{$h8H32lYG`|EB5cw zU&uPC_@ieLK`la%fDsSl%c{;Yy22-W_Z8HAUmQ{OaXI^PUBQheo4g(>PUy=+j#{e&Q!|Kf8(OUQ* ze97?wRAP;n8bd{(#fN%fLcv86TFOS!F=hZ0Bqpg|x~<9{@y^HI^PJji5qqXA5j8BF zG$5Uylc!3GG*~(_HX1AK(!F|1q}T|SD$-&Z#EY~DKU3p{^||>BJC5z?O=HB6NNL&* zG766Hfgv&O{kd0QJZTnM)#06ZQGC?Q=Df>Lb@N?JutiKm?Zc0t+~-qa8F_DrPL1C@ z6SGimoElNQX{j^^W||s;b$)X)Ds(f$D08eP`^SN=j*j#-{WA(h*P?g7cH}stkb5d ztq3YWd0$q6sJ^E?T^_{Q<`LS8aimw4Gz!vWuWXKjaZgMEBsubLKotG+@y z{0wG zp^+cEXYSC`snucafm4cJQ@HCTUbj|x#QOr7sowYWs%|#IP-}uILh({J4KPElUKvJB zly%}ZGS0IdF12eVrc{_D1uw}$D`yK|70MAIF8!0LQm#$FgH)^Y&=6R3-{j1_kM{Xj zdkN+)tc&#U+mz6^zPfV$vypWg-c>01r7W*&=k`E$+;wuPsa+oG zTA%ht-KHjB&1u9~gi1-ShRffknWwytmQ*97%{xD8 zRhZ1Obt&ko;XU+TZ@I_2kZj08D^gaA_DSkmgPaX&VC8OR<1s)iE-(<)u;ouNBBV0V LF}YlpQ*Z{oU`q?|uI`&w0+- zd#}AP*BoPxIah?Dyd)wVE*uC52%@xbzIE-WVu0#X|X|6&LU{0-|MrRf9$g4Fx_1Nzgx!~_I{r%_r=__Mp-X%@UU-dxuC zPgfgC*I(_KSiVehu#hrKscE)gjjJeUsf_?TRB&AzP1}wYS1)4Z=GTJRxiW@i5fQ33 zTT34=)1{_(EX60IPcQ_uY)FdJYpI;%vNmXgysr3yCfdvI>D-Bu8R_|~jdXD*@0?Fu ztX=PZv9WAV6CR`7=F=kD5D>!3=%@ho^XAAiVwgmpcJE`_d{FPl-8B6#{TOB4@#^|M zx0~HT&d|c~LliXrZfC31k$F~3VyU}jWi-MXw?S!sHIY_;+>UQu9UkYz;$3f#<(%h* zo(Sc>H9j8OwlSMwL{cLDAo9iE0&6_3_nh{}r#^l(0E2ENJz4X1`MPrFdjfsGKwk`{ zlFImwy(WS}W*7~1;dS0|KTKN<5hUDN4JyVI0KT^1XmP$S+IkTD>&`UgRK^hT*<~bc z!B#!;Y}WIur(j})KnIBYPD9w%Vh5TApt1ZEi~bZmv(`7 z==ZfY9GZzRT>BunyQ|jcV~9oNiWsmHLm1LQjR?5Sv$M0}Y)>l-i|{jA07JMz-ZO;7 zS?E&d(d*botktrw&Er)^%xCV|#b&p;+YHPfLV+KXcgbvW9}$G3$BZCwXq7+__+Bo0 zad2>)B|%+<3wY7x@E(pswd zRJD#tJNqn$i+bU4Zb;BfDLz#x;|;+CMneXH_`Y2J1P}0UMZ~Kqx4XW2%M~p@vKVS@ zudW@fs=~QyrICfsG%$sqp--%VW zC>Cr`xq?*t{AR`!+Lqf?jmp89vC1WZLdH-eN}c1em##?VJVM_z=>s8bBQYx!i*48W zXcnypQOjKf8ch`b+6^KRj~-edkoJ!KlbTfO=*xlr1|{gr9A}pZB+#b9-n}jvWxaAg z03WE(vw#pjL55-qEMUS0z$Eq!fji&TL6Ms$4;DnY*4T~t4unlxf-oTKV=2EgCs3xF?Wy>StHzmL=tln;J zCqonJsEC-7%A9$=Fr=>e_pp;)LNB1lZfTT@tw)_H5FR{AD&u?du=iDpq^&+0Nbkql zskiJ8fs?zfX^O~sLhR;Xz*R9&^IhbxoG-0ezG{?5cVb}_aojl5D8fpAIXIj}=|ZeX z;aPFp@L3@}J(3^NMdr`Fn$+F;8vB5GPzh;G;At_28&9aE@*PG7)fzrzx(z*o0NzeP zY?@X{c4shL3@MMgL`@tb8Qh-C9>sS<3Gcf{HEo^~>QLEUI9LXf6nP(>b5Qiu*kW&r zf)?tyG+9)_x!9NJalWOGui>x(nOr7iXq^5lZs(};c1xY6uNmy*At9d;Lf{r`H1!vK z?<<4bR^S(^)&0D;dOyvFR=U|A)2LP|0x+xSZTxoT<=T404W1j@++1Lx8>vzGF<03< zh*m`Qt0YP6mFftTeZ}N*J6?qhEn&w#8%kSl`GwIez_lgccih?y-aoPDbI-RgNG@km z!Io*R&1trZd!+TSA9u_5$+d}E6Q4=10f>w*x~8@asCC*n>b;Wk;H(#>*%rz@z)PK9 zGZ<|5M9B*ap_dO+rZSg)m~VXf`B6U(3VpIP3~JC2f`<4Gd|X#fZmdfJTxQj&47Cg5 zY_XxX%xb2}6;!6W&Glrlt~0p=G9=`*&DBLQPWQC1P>iC>a`)jbtem54KKAa;m8Qq9 zCZ7O}*fHE!^ao=4BBoZG>FX1{wdjh)FbEkI5*TXNDI@*?x{NT9%ufq~9x>(6_a5$m z=rBPkXqys3vFpRZFg$*lwMiR10(qMc4dp8SJF_pP=dj!>Fx=pAid=!xESKAyvokZ- zH!})3{9dWqG{XM2ibBN%xFum=DJajN`)8%a*^%7E-~0HBY4Ec&g2!DST5MP9ORZ)C zdJyr3gY!gOB^8yHS}V2P%KW{)j#n|Xnr7XtK?m2dYys?=lf^6qC-pvSX+hX)XwjT3 zudR35&NMPmRSZ4bt<@kQPy{=P2uLkKk>^0LS6>ROQH6$m`|y0oi;RylUr8R8oPsH` zr^=3G)mOH!-8L4Q?bny;?B*u;xRYen*Q3A4ffp{UP#pR|UQ@J=;OyKJ$8@D1d|`O= zKHY#Pv(i+l;(_g(9{Hi-=v_%{U8xIHtPy^pN`Ilj$$WvQWVI}^=S`OvQh6seStPv- z-Tv84pZwvbsx zqxFlfra2{>(3Zkdt4kU1imv9f?-+6u%5WhA`$tCzbo1dxhA%xOQk+tQM(H9+{9T{reHn7eY*y|#5p$MYPxiKQy$0x+#KcHl0@g_0cGL3N+X5? zL{gq4`4L!vkGzd`Yx-&pwoN^aWs`5W$8LbQO5>kTm06}`?X?c?PxMwVW%RwVA9>x- zX@1&ht2Y}Tzm3<)wQ;5<;8R&jfaj6S7;i~-7>5ZVBb}~J!QzTZXzr`s(%;!HEo(wz zLDp4H*7^ySYMpN&w~!3f$!(3MhBTfj#zvs{GTO=~8_$YvhG+3g@m!Q1LN9iF2#oeT zW|a^N>Sebt@MbVg@=hu%zM?P7fkNHT|6E`uFf}<-Dnw4!pIfXVdSU|A48nyUi$*Cw z=_A%`Hj|{9HCb_1@ElQakWnV5D$cuL9}*=dGBh!fMrL`o+ERnKf75zg#q0ahY$c+c zEFOhW(`tzT#4(%o!|wZ)RUuAXFW)<4bF9l1&3UsQUK~4s@*%v32SR-J|bK z>ms~vH*xAqT9mrgG`S>arx=>*t42&PIcDcE^%a9WtZ*Ffp?$^B>#q(d#tF%fJN6LQyJYdmmReX=!O85%5VBG7XT|jO==z)c#bf(utUgB1%FECWhEn z@Ox5$k)^Q&zLd(V>#m`C>LU=yg|)PBAt-_=*O1Zh0E$inZIUoXqC`yR&D%(=XcQd& zxoe-AQ2kG?XI0gzswyh3A9iZye|-t4Yn`4$nTi&N5YC$lGq(YutXZS=I3l}TpP%Qi zTz3?<;-ItaZBzt3V?W|8#b}nfuSQAz`iwBrzGf{$iP0iKS3aU_0 zP%JDgj!sTe0Dyr_O_Q2>sTzM&Uh*5VMaefXPWkB9!mE6aY8G z$&W}}uS<3a<>}JZ*HlBq#OK!RAO5__6Vlh6dD#8C;ISC1AvqJZi>Z0}^o{E9Tw^4^ zU2g6)rDw;SjK+w7de#Zshq+#K`Aja*9KWeNapw&f7Z1);9dnM%Hyh5-xzU1!TNyVu zPMrrdm+rl=S3~aF447iUl^8>I)B_vF4@qO=&D^7$~$HU zjIgs&-D#LL$(c|^Ws(7CxPS;yaO`ySA~y`479nsb-+SjU@IRx>TcQNSS)-pNj2jv;=z6CxT*P)U9WM`H#VIJ0(J(CZd%`I6VDW!&YNW z(%T<}g>UH>FFGr!=5awu65GG7aP@eJH25A3O&9Qi>`OTN`aHi0lD9P}P8=D#`;Mcy zrSl-70E>rOaWpc50faPuKAJHG{%xgmyx{j(ih1g7aBys4)L?{3t@(8CumqCo=nw!na_*u)5>e2vU= zNG(J(T2BKi`D>xs&9DaG{}=}N(gI2q_lRvG!kFQbx;l;m@waV|Prx1`c!^FOtH;X2{tzZZrxa_%p+vki(!l38YZ}FknweNh4wymRjHxhh7bz zT-p4~6vi{j0)lt?tVsUY4Yv~ulrLk>v;G8rE^h=B@WtsGcg{B*PCP&Vp0GfM5^; z?AH9Dt(8l1O^yo~C9nkWZInVde1Kv?E7uMGOCSE{@h0x zM#UDUfNOYbFQfWNkfl*aC+&Mn9_NPO8d$p=GI%)QYOFCP>zTz$DNRKDZ}vZ)sbQ3d z2LMqA8BvZJX=t5R-M_4V@TM0~2x=`Cn1m5V;aBwVz5YzZ$@-d6$Xdz<+J|f~q_ThY zC~ltLiWI(px9))Xsgoz|r@|`=#MFhixxN$%4V;;&sjLnnk1xpc%8nz9Ruie&EwYmH zY|vT!%0Nd2a-ghmqM{#^gE-P}+tEqrMT$1(Pe*k`pxL(v%0PURVWXca^USKY6tb-vMQq|N4r&|`l2J2WmB|Y#g(8|+ zZPK(9(H@jEoY?C1@hPHO5InPEauO=m_A+rr>ddi~HNk+9jfFb85{rin#*~*g?k?u# zuIO5zg(#{lg0u)LJ`kni(6>;7(FK zo)pa&@aFa&VySF1s^D*Yh}k7r$)mvN+OgUEV2xGO>Bsb^G}&2*P3&LyBD||Hm6f+h zwX1S_OcwgL?u6LF^?VCUgs8#8J(@U&Xj}oppHK%xk_c>C8mB%H6k@M^qn~%5GcO#b zCs1Hb|3;O%(0Xi~-4dRqF<8J9Dqm4%F6g;?0Eqh-WryxmnrxBCkEs=y;rclzt%$5x zf#=RkXDkqH_>uoN{?$#v$U$uF&jJR!jlnf>EHNN|l(1c1K-ZjHQ!A(@5w9QVpqTN| z8~M5-6qXT- z)S(m2!{AGjvqnq#EK$U+d~HxZ+Q|7Oto*3~@?#C1Ykk7cq~7vzG}zgxV!Fi2OF=da z;lv377tmpoTfy>+xIU|Li%PdadWN(UvNd(X5FTtIkE3OpLGVFS{Vd7mwE6(kt_imX zZ*z9^raFjIy{_IBjVZPL#B%N4FAN@P&wT@ucIn9UD5^O4_|YrqI0OWtU94soNc_7u z=KpXk`D9_i?bUyQ2Rs@}OUsLu{AXFHpdLi8Cotiyg_IwdV{8ZATJ7%4Yq*5Qco7&# z>ZJiM$lV;cLljboRgG{i6}uK7lHj$=YPCP!ChJZ8`>akI z!@Y65t5S41S63rDx|lCi5DD!{4c5HQuK{?jq`WwMxrJ zMM1rC6QsM98E@Vnwo^MUgMOec>xy49MMk`3bj>4J%& z;}A1(u|Hh1sE>Xt3HzGnO(~%dA)d`si>$QT7AfDu0dj1lfHt0qQ5Mk9DbS@ z_94Y8-7RBei5JzR8mUA82*q2Dw3&zQWamP%vQ}yE1t=IW1vO!5k+YNwrn3gtV&SHv zb9v?ZU8S9cA!X||8QlfZ#@G{)r+$eEQKP&DcP11r;&%p7t24X!X+ZC98#Tuu_6IKi z6CoiBHGU=a<7VcvmRN4smlHw8WD*Ah;!Vgt?^7T#Xdaf)SDB#@R)6EvdQp^Mq30aR z(l-PLD2FhXr@Zm}aVjwsF%+OXT@l0`ltNRJ8~A8|@up{?nR@r=z2(B1Id_DxPUhb+ zIaq+wg!QEPxXM|utxliba_#h~lV~SzJhHCLXPeW{l4wVanw}aBr(jJzKSa7YztgD$i zCbmf=U% z;Ax5fLf52GrKIF5D0=?6?|?W>W1k7`fbRV{I&9D#>v~Q4F5H0elh@C>PW?hy+S7Sik*0f!q@@qZm<^KoZLDPzyf;OP~)X zJ@%xw8>9ke)i~Gm)w_V~)@Vz^!bF(~AASuDMz6L5jpNN(dup{px&#pGLRVjhBFQ!z zNHh~RU-hm3rGW`)S%FL-9**qV**8#~CmHnWp8BT=H(>_K znx3fnLD4k^5Lf@vxYr~vsdsIk3ACYIfuQwFM|x20$Y>GcvD>B!PHIU`Go zBU}Ux+!GH<8!(@S3cM#N(3S3{a>DoKYAS$`7junjuWWwEX!KYlOeOj6jozE!eJQybB?O}CxfP@DZJ+%ao70L34qi=Kk4hCWzTIX zK7fl5JH1Hg<_^ppai~wH$UCe0^ z*SVHKIuYPP1koD+Wmp7QuhV+4RDyAkRG)0KTs2LijFU)=aibwDbAcKVb3jZQ%49IMwZXNu*1tYqnupwgiu@opjkf%Q{>Dehiz8dM(O*r`bUXR zZ4~K>Nm?Z>u4x!GeB+xCUh5nuc8!Pa+bO}loq7Yt^{EAxBqZU87W}CGT}jUn1{|3{ z1j*V>l+=Wa;4rpPG{z2Gdeq`q&JC|^GoO=PY{dUJDL=^q}ir#oGk-Sn%u#l^*)t-brALmE*5#u9g4eDry3Q`DTF z8&&)I%I;qTs&bSbaCzC^pb3^1vJ)I<989x*fH3A|2B<%P=?O{Wm^2M#=BM#j53XB&1B@Rw*17Q!IxZd``yU7Fc{HP2 z5Gz&(V+?+1^P7Qdj{TR7)~aUt{N2xi%y}sg=lTa_RT34m!(R2OCM}z=&sRPSSiPDl zy3N+fLG)d2)0ZE{>2hHTRyf-}2Eug3`4tod6(W?-cVWAK4P{A(rI?&|W5>_BH(3`Z zKJ1(I^AWmFz%(H~w zdttUyJwwon3wE9bZOkh~7q?ph;#dBO}pR zVg10i&iWD~N$1R_loZNll%srjY8N|_J^#1a8=z=0-G^q^?@-Dgpf1Gt&xPcTU|5SHf zCs0&T2|3ivn8Q2fSC9@_44E$p>77sCUmO-&qQ zL8TlH@k4n?88FogByGI+_#p?c&%ZK%RyC-9cVrph049QYilKtoCqBNG*zYV~oADoM zBnz^V8xz|VA)bSjGqxi~7tr|h=Gvc~`*fKf)V-YKs4@)8Dx^Gi)jHG%$Pw;j6=bjp ztRhI$1ti2DKjuFR;y*mBj_T%U^Y|5A{&G>tN2Gi9euhx8AoVl;P5_fA5*-}e_VSb1 zGi`U=qSG)!^QH(6s04_nz6e<6kUg%D3BJs=+tkaeA#cPl!~Ab@Q^z6iDdqdM!$x~W z{X5kdH=`SrYUTbaMIYkk6)AhJ(HsMXLcun z?6hUmYMGa8PU!SL{d1I&HIsC(Q}|*ulG46+ul#*Vzr%4^h38V^DN}ffk@aK>Ul7{O z6MeFV$2qT#`wmAMdbveMTVIcW%A6(J2xbK{DS}1#nCK)Rjr8-~T9jhiVbI)c|9T&l zHJpTlLZ<3|yST|&Xx!U9$@y+a;0GMB3YmYUE3xChl+k~q+Q_ciPs7)Qw}@eHhiFb5 zzGeifF-Wx;PT%~=nOIB@k3PN)yse)J9Y`?WdlkZ$@-%EB7<55H%ac&|mj)zc?8g$E zBB#=gdl&Etn*Nj-0P@i&TKta!IU9R%T%sr`PNLn*{E{2zI8Qq-IC054MQ4ip%?@`W zc&R`|YK5+pH3g{Y-igG84Jz*MI zoVqqPExA^p!SXXxvf|VCdvSmQ>Nt;(k})f~q;N)+ZJ`y%1oqDLy_)CF4t)4Bzmpr3 zJ~p@z?OlkZ*tLV_Jm4GZp*(`lw!Z!7xJUR{;~;18yFi#&-r~|nkDPG(+_ttmja`H` z9A;XZFIP#gKJP&iKqFF@ue~XL-#oOft;YrSA9;OKkU8rb^s@-@R+~Cwvxf(RD#j>q zdeofk&>rkb8^X^diba<$IC#VtH$7N_PMp>#0RdM2!@fD^7mwpsRCcDN{o9wk?J*d( zE(|TLbGlXTFp1_33N|l~X>g&Tp`Uke4rhQ84Lp|oSOS~pcor|TpOaI*Z+JM)yNlz& z2xI069+J=NG`E|N6^AOCu)V##r>Cd9{LUBiZ4zEy=7uNcb%{hDm#QKoH|vf~&C>)i z7$MDyORF3-Q(5Of8V+0hCt+t0LC297VC6=M3=xX|dBWN^K^7KNxDd0^%?|TF0f=rj z0y1(hBrPfF(#+TrVJa|D(D&rlQGc2siHyG5Vk|11?6}V9=drK4Ip6TC{ms=yDT#=# z&{MaX>`shMul=iCOkC|cG=X?(AyUb9WbBpu6#NBb zjRJx`JfKV7_3VqajH}KfKX;8F9grAA+}%I(h0)TOEF3`cSMd4GRi9BuN#B(|Rol@z zxQ*erbP^qRmpkrHu)3@KcsX$CU{Nhbi$rNfsydh>W*2L%2Bwjc20i)zChpu((}c^3 z#IVBlwxRHfJZa|nse6VvT20))y&hl@d8#vfdjzPqsJK;_;175caxo~TCT5pWXxb@r z3?k}Db~LFe-pn!NoP2*>%$w0AeKG8l-3K1)iygB@rPle+811kQf%jf8gVwQNzI~%l9g!a zSJTG;dcRYJPiO?~9D)>{#oU>ovI8RO7H~RKnx{1?a?3|TYJd3gA3^EY6CpQe`?}w+ zb-~+E5s}w9c)JLKqlzA>K46Bfa&MIa7>Cwk^Gi!nsD#_h#e~RGO9bZb^E`FFyi8rK z=}zDuLGGSk{je%tEgRnsWA*QcGjG|^)IBV70vZo{eb`5NyqIQxsOZA~q-Nc`Wp(sw z1J$sWwqt!guK8tg+zw7Zx_fJ^37gh&XIJQLIbeQd&1&2h%$~9S07&ULTC?Wl-CK@3 z)=RdAVOZotgL2Jxoq!1L!nbt0-Q`Spir397fosE9A%Y%?b@6o4bPGea&X5X0^U5Q%kb&B z20c4v@$rq zW|sGv88e*LK47aUyZ{-$l-0eok4HsBfY7WnaP9vO`~ct3O2tuo1;MB3l`H93mk;9c zyc55WoM+-Zt&bGTxVhRby8YVC2j@;dY|`i2U(naM`^K1k-*1|m(D`F_0^fE0Z@E+R zt`OTTYj9d201pkDlUTfE#OxjxsUT1~KmDBM>i-qfSdH|A5Q+b>X}zKA{o>s3HsC%c z8yHoYJ}wD1n{AD#hTQA_xKMf2*rD)m2CYEaiZ?9{pbNpUJlhmP;x$-=#neZA0Y#n0ErLzSs3x^`>JwB#mw`FN`?C7$IsIRPmd<-eVNn zlUxAmqFd*J_hn?k}o2-$Ws9uAH6Lj&WweC~=i@E?EK#{!^E^jb{zdKY#Hn;Q-`WH1Yye-pF< zcB6k6E2F1ez`#*vFzi$<)iC7U9l;<^y0?Q?Hn@*H4rhngbkhXZJ?x){y0Q^QC*<3$Y4&&@D&q8ty+MM{jsMEIop2=%T^8BtG#3cJ_lpK+ z2nu`=cNkp7GNnPZSk^g(9V$rPKr%!$P%frt3>aP?oD81tI<35U@8MPcRO5f`ru6f8 zfbSBh`?3*{(=q=lqW%uu@p}{bSQ*Y|z?=C!4?nI9W1YUNPS5+%wR?EjVY($mk)_tU z7?ES((U+2n6OagJ6J6TPCEW)%uGU$Li$(CM^w9YLJ@a>xpB)9UC)cYB1%2fQCB+?@ zTm5ko7^EVBlXJW;F+pApW>&Pt!6wTHd9_IxL=-LG0ZA-4Cm5{&IvQ#;~-YHUYpK07?~bJCO*(`%NI+ zQu7adAYzF!lMFfjxo0N7&pyNKj}|lr_BFX)uI|8L<5+DuW7v2@Du8l+{rIEb0|k|T z8+dn#1OG=Zer${?l(bKdEF@c=TkWIpd#1aifQ$<&Y(NBYfU1Q>wP!M%`Q@-&+`5YE zle!yit>g!5JY$kcK27EIPVEMavdLq&%J5`B-4Es#RSU2_n$MxR0Z;qJ;EcXpOiZXp zh!Ami;tQdWhQ6+?xK*@!randju*)q|*S=g`q8xu!D%6WEd^TsrtS$z3hnourQnIuO zpYn$w)ENdH-p0qrW5*e~zhpULD-A3ik3fOl-l_x$I^Vqhy3IcC@IK1X=W^Yyj?=kw z|5;3U{?Jn$_c8+ilfbKTzac50D+}kT#NI^B?5P;b^taQ@D#xr}t=TEmjzU`3YkxgY z^OV6_|1y&9WQ>*6>bs{Nk80EX;(j&`;%s$?!^v}X=2hp^kK+9EF_nNH z0h=eIH&J`$l{CXGr#(xtftiRo>HGTH56glWg0GLJf;#E%DGGbKUh5V8KN4T-4av9{ z>)<}FEj`}}3e@J_0M7j!d7g%9m1@d0Y6t1%?>E=ts-Dqr!`v*na|CFZ;dJYiIywcH zFAfz;wkP6Vq$*Q`e!0#RS6$7njw2+No%8UzwK;q&Ylsqg8u$KA!msIH@ z9k~_r)wj>@IEn8o;%L)V!fh8*aKSb6Mj`)zhqUm>n&gS*QU`_&EVJTb76L(z zgZQz}P>_oq3m_oJy&VQPP&Fd3lh<=mUe|?aqLf?VJYTk?wY-^F0)Hj6m9E_TCM@=k8lft6CjZ--zZYmN&{BT@ zlzw3~evfH^wr5OztKCdzq`R)vyRzud3!M)6#*m|bKh$1^@xz{Kyv0#zFR~rMqVrcU zmx-2P97wA6YzR87E@Eh$Z0~n56wwnD0I(WOQ_<|sBTFQyyn9$V61~JBW3C$Ek0kpa z3zSYm5y8Il6&4PZRuvqSRFNwI2!q1M8n_Jb3lNN z89EQ4*sj_+8U&FZ`ms#O@#envtFu!;HNc(&8(}Gx;Aapu_Ry;j+HI{^iBHHHYq> zG0;CM=N4!s;|Rt^M|ElpK-Zd}@7j=0{+41mnt>=trN|wy^g%L|mzTG*V_4hr|1asI z-(rjFK_5vR5vI2Z25*`|iHjtCS~slsGss^aY}HGr`}fK{pkWBZArxlXm2|k3J{V^h z0qZXq`1!NeyfVC%9jSKfNyMW9OQB~=PBA+?nf!smbvH=1fr+MOK_`P%bko+Ny)Uy! zJM+#=R>Z@Vt*Zo+KP6^q<*tLci|yyG%)eg-8;Do1rPv&4TEhW8tbsr7Sxo9#5c#)@ zV6nt;lE1pVpR+z7Yz_e&PB^=;18l_+m|vy`s3i=vDM1i6O-KpPzH8$?^uyTD8Vz!F zdE;dRZ#FUJy8EUd4QM0@jlLdf+WOr#f<(ERNt9aK-){}yO5>1c23z3)1#a?>VN<{R z3bqo7%`(oo;cE^NrYuio;;4$ool9d>*_6PiEMj-*o-q`GIbywbdqa%Yp0{Ud6B+C^e?fM_thO4aa6AkbCa!Q1(!WmG1OX50P$T@Mbn^Gnn}7RrNcgUlwo-)1NMwXS8DNqRxybjn&b=6O;8wBx+z#&?-U}8 z$r+mD6l+ot%HTi&Lp|gIy42C~$X2SS+34D0IoXoT|to z8Un!>uu@^_V>ZUCZ8c=%v>jzpjj#u1S<0i+LE5^z41B$qnD!&S>9dmL!vLiyzM;@@I}n(r!`T9$(}Lp@f6{{*U0{dcDq6JE!epVO;iC)L3BZKgeh?AQC(2Jl=@n zaTw}mi}1;*l@3cL+u6|@fEmf}aVgP64Z?x5!$Bn#V3K<4xVy@VRqb*uNfi=6EzSrG z%7G=}8(U#skvH1MamT9_)$L%0Xeg3L;gM;92Mk(I?x`*N8=feruZ8(qb4_UdQ;YD$ z`ogOtYcjX%uQ5~k$zP)*=8)3KpodD@aEaJ)Vp;0kB?LRmsVP{7#Kp9U)v=o6ccnFo zDMEhFy|=A_#dB$w<5duapyAUe_q>vmrA=n(UJkk3UVz}*-QeVXE~1wJ`CeRPn&xN zu(4*yCuDa?-u8aB|ePiV)vG#tf!~5iz_F^rL_cz&0enh7ec^ z4JR(QZC{4D2wG|k`|7KZSwyA~1@y=tzDC|GWfU5R&J#`(?=~uT5Zc~|`0!HHlh{|D zg$9VuS~X~FyO!H7yGtP!@F1q)xqWuh>X484MOJ~HCIW0f(vhdvIjCz9zf+6RyxeHz>lNQ%A(6r9C{scv;3gZjbf#b=MS#e7DS-EVsMnQFbD=xR zQ<We_*Tz4m3W2Ot(@I0n(4Iv62oBUk>-&9{8EJEBGL=};59S?e*hk}jN`w<9$*SwgoBZW85MkgoNyM57N$&HIDUOv=z9AV#V8W;?RODB zDoQ9yG)f}M*U!@^D-j_?Qe{FswR%rXVZRS@DhpkhefBm|n_At(D|RdmC6c01Z1}YZ zFd*7~U2nmY86O=+XA1p5rs{w2YSVpb&!6_K(PpWR{6`R8^11: Target Select a target object to track from the list. -To manually enter RA (right ascension) and Dec (declination) of an unlisted target, select Custom. -To allow Stellarium to set the RA and Dec, select Custom, and ensure the Stellarium Server option is checked in the Star Tracker Settings dialog. +To manually enter RA (right ascension) and Dec (declination) of an unlisted target, select Custom RA/Dec. +To allow Stellarium to set the RA and Dec, select Custom RA/Dec, and ensure the Stellarium Server option is checked in the Star Tracker Settings dialog. | Target | Type | Details | Flux density (Jy) | |------------------|-------------------|------------------------------------------------|--------------------------------------------- @@ -86,7 +87,8 @@ To allow Stellarium to set the RA and Dec, select Custom, and ensure the Stellar | Cygnus A | Galaxy | First radio galaxy | 22k (50MHz), 11k (150MHz), 1579 (1.4GHz) | | Taurus A (M1) | Supernova/Pulsar | Crab Nebular | 2008 (50MHz), 1368 (150MHz), 829 (1.4GHz) | | Virgo A (M87) | Galaxy | | 2635 (50MHz), 1209 (150MHz), 212 (1.4GHz) | -| Custom | | Manually enter RA and Dec | | +| Custom RA/Dec | | Manually enter RA and Dec | | +| Custom Az/El | | Manually enter azimuth and elevation | | References: @@ -104,19 +106,27 @@ Enter the half power (-3dB) beamwidth of your antenna. This value is used for sk

14: Right Ascension

-When target is set to Custom, you can specify the right ascension in hours of the target object. This can be specified as a decimal (E.g. 12.23, from 0 to 24) or in hours, minutes and seconds (E.g. 12h05m10.2s or 12 05 10.2). Whether the epoch is J2000 or JNOW can be set in the Star Tracker Settings dialog. +When target is set to Custom RA/Dec, you can specify the right ascension in hours of the target object. This can be specified as a decimal (E.g. 12.23, from 0 to 24) or in hours, minutes and seconds (E.g. 12h05m10.2s or 12 05 10.2). Whether the epoch is J2000 or JNOW can be set in the Star Tracker Settings dialog. + +When target is set to Custom Az/El, this will display the corresponding right ascension.

15: Declination

-When target is set to Custom, you can specify the declination in degrees of the target object. This can be specified as a decimal (E.g. 34.6, from -90.0 to 90.0) or in degrees, minutes and seconds (E.g. 34d12m5.6s, 34d12'5.6" 34 12 5.6). Whether the epoch is J2000 or JNOW can be set in the Star Tracker Settings dialog. +When target is set to Custom RA/Dec, you can specify the declination in degrees of the target object. This can be specified as a decimal (E.g. 34.6, from -90.0 to 90.0) or in degrees, minutes and seconds (E.g. 34d12m5.6s, 34d12'5.6" 34 12 5.6). Whether the epoch is J2000 or JNOW can be set in the Star Tracker Settings dialog. + +When target is set to Custom Az/El, this will display the corresponding declination.

16: Azimuth

-Displays the calculated azimuth (angle in degrees, clockwise from North) to the object. +When target is set to Custom Az/El, you specify the azimuth in degrees of the target object. The corresponding RA/Dec will be calculated and displayed. + +For all other target settings, this displays the calculated azimuth (angle in degrees, clockwise from North) to the object.

17: Elevation

-Displays the calculated elevation (angle in degrees - 0 to horizon and 90 to zenith) to the object. +When target is set to Custom Az/El, you specify the elevation in degrees of the target object. The corresponding RA/Dec will be calculated and displayed. + +For all other target settings, this displays the calculated elevation (angle in degrees - 0 to horizon and 90 to zenith) to the object.

Plots

@@ -126,9 +136,10 @@ click on this icon ![Star Tracker Chart theme](../../../doc/img/StarTracker_char

Elevation vs time

-![Star Tracker Elevation vs Time](../../../doc/img/StarTracker_elevationvstime.png) +![Star Tracker Elevation vs Time](../../../doc/img/StarTracker_elevationvstime.png) ![Star Tracker Elevation vs Time Polar](../../../doc/img/StarTracker_elevationvstime_polar.png) In order to assist in determining whether and when observations of the target object may be possible, an elevation vs time plot is drawn for the 24 hours encompassing the selected date and time. +This can be plotted on Cartesian or polar axis. Some objects may not be visible from a particular latitude for the specified time, in which case, the graph title will indicate the object is not visible on that particular date.

Solar flux vs frequency

@@ -148,6 +159,17 @@ This temperature is therefore valid for a beamwidth of less than 1 degree. The Star Tracker plugin can also estimate a sky temperature based on the user entered observation frequency and beamwidth. To see this figure, which will be typically lower than the above, select one of the last two temperature maps from the right hand combo box. +

Drift scan path

+ +When the target (11) is set to Custom Az/El and the Sky temperature plot is displayed, a curve showing the drift scan path over a 24 hour period will be displayed. +This assumes the azimuth and elevation will be held constant and the path shows how the part of the sky the antenna will point to as the Earth rotates. + +![Drift scan path](../../../doc/img/StarTracker_driftscan.png) + +To setup a drift scan through a particular target object, first set the target (11) to that object. This will set the azimuth and elevation to point at the object. +You may want to set the Time (8) to Custom and a few hours in the future, so that the elevation is at a maximum when pointing at the target. +Then switch the target to Custom Az/El and Time back to Now, and the drift scan path that sweeps through the object will displayed. +

Map

The Star Tracker feature can send the overhead position of the Sun, Moon and target Star to the Map. These can be enabled individually in the settings dialog. The Moon should be displayed with an approximate phase. Stars (or galaxies) are displayed as an image of a pulsar. @@ -160,7 +182,7 @@ When using the Find feature in the Map GUI, you can search for "Sun", "Moon" or In Star Tracker: -* Set target to Custom +* Set target to Custom RA/Dec * Press Show settings dialog and ensure Stellarium server is checked * Press Start @@ -186,7 +208,7 @@ Then select the SDRangel telescope reticle and press Ocular view.

Attribution

-Solar radio flux measurement at 10.7cm/2800MHz is from National Research Council Canada and Natural Resources Canada: https://www.spaceweather.gc.ca/solarflux/sx-4-en.php +Solar radio flux measurement at 10.7cm/2800MHz is from National Research Council Canada and Natural Resources Canada: https://www.spaceweather.gc.ca/forecast-prevision/solar-solaire/solarflux/sx-4-en.php Solar radio flux measurements at 245, 410, 610, 1415, 2695, 4995, 8800 and 15400MHz from the Learmonth Observatory: http://www.sws.bom.gov.au/World_Data_Centre/1/10 diff --git a/plugins/feature/startracker/startracker.cpp b/plugins/feature/startracker/startracker.cpp index 7714f74ec..78b3f9bea 100644 --- a/plugins/feature/startracker/startracker.cpp +++ b/plugins/feature/startracker/startracker.cpp @@ -141,6 +141,8 @@ void StarTracker::applySettings(const StarTrackerSettings& settings, bool force) << " m_target: " << settings.m_target << " m_ra: " << settings.m_ra << " m_dec: " << settings.m_dec + << " m_az: " << settings.m_az + << " m_el: " << settings.m_el << " m_latitude: " << settings.m_latitude << " m_longitude: " << settings.m_longitude << " m_serverPort: " << settings.m_serverPort diff --git a/plugins/feature/startracker/startrackergui.cpp b/plugins/feature/startracker/startrackergui.cpp index 44853ff5b..9a29ceb4e 100644 --- a/plugins/feature/startracker/startrackergui.cpp +++ b/plugins/feature/startracker/startrackergui.cpp @@ -93,18 +93,6 @@ bool StarTrackerGUI::deserialize(const QByteArray& data) } } -QString StarTrackerGUI::convertDegreesToText(double degrees) -{ - if (m_settings.m_azElUnits == StarTrackerSettings::DMS) - return Units::decimalDegreesToDegreeMinutesAndSeconds(degrees); - else if (m_settings.m_azElUnits == StarTrackerSettings::DM) - return Units::decimalDegreesToDegreesAndMinutes(degrees); - else if (m_settings.m_azElUnits == StarTrackerSettings::D) - return Units::decimalDegreesToDegrees(degrees); - else - return QString("%1").arg(degrees, 0, 'f', 2); -} - bool StarTrackerGUI::handleMessage(const Message& message) { if (StarTracker::MsgConfigureStarTracker::match(message)) @@ -121,8 +109,8 @@ bool StarTrackerGUI::handleMessage(const Message& message) else if (StarTrackerReport::MsgReportAzAl::match(message)) { StarTrackerReport::MsgReportAzAl& azAl = (StarTrackerReport::MsgReportAzAl&) message; - ui->azimuth->setText(convertDegreesToText(azAl.getAzimuth())); - ui->elevation->setText(convertDegreesToText(azAl.getElevation())); + ui->azimuth->setValue(azAl.getAzimuth()); + ui->elevation->setValue(azAl.getElevation()); return true; } else if (StarTrackerReport::MsgReportRADec::match(message)) @@ -197,6 +185,10 @@ StarTrackerGUI::StarTrackerGUI(PluginAPI* pluginAPI, FeatureUISet *featureUISet, connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); m_statusTimer.start(1000); + connect(ui->azimuth, SIGNAL(valueChanged(double)), this, SLOT(on_azimuth_valueChanged(double))); + ui->azimuth->setRange(0, 360.0); + ui->elevation->setRange(-90.0, 90.0); + // Intialise chart m_chart.legend()->hide(); ui->chart->setChart(&m_chart); @@ -310,11 +302,18 @@ void StarTrackerGUI::displaySettings() ui->latitude->setValue(m_settings.m_latitude); ui->longitude->setValue(m_settings.m_longitude); ui->target->setCurrentIndex(ui->target->findText(m_settings.m_target)); - if (m_settings.m_target == "Custom") + ui->azimuth->setUnits(m_settings.m_azElUnits); + ui->elevation->setUnits(m_settings.m_azElUnits); + if (m_settings.m_target == "Custom RA/Dec") { ui->rightAscension->setText(m_settings.m_ra); ui->declination->setText(m_settings.m_dec); } + else if (m_settings.m_target == "Custom Az/El") + { + ui->azimuth->setValue(m_settings.m_az); + ui->elevation->setValue(m_settings.m_el); + } if (m_settings.m_dateTime == "") { ui->dateTimeSelect->setCurrentIndex(0); @@ -413,6 +412,20 @@ void StarTrackerGUI::on_declination_editingFinished() plotChart(); } +void StarTrackerGUI::on_azimuth_valueChanged(double value) +{ + m_settings.m_az = value; + applySettings(); + plotChart(); +} + +void StarTrackerGUI::on_elevation_valueChanged(double value) +{ + m_settings.m_el = value; + applySettings(); + plotChart(); +} + void StarTrackerGUI::updateForTarget() { if (m_settings.m_target == "Sun") @@ -429,7 +442,7 @@ void StarTrackerGUI::updateForTarget() ui->rightAscension->setText(""); ui->declination->setText(""); } - else if (m_settings.m_target == "Custom") + else if (m_settings.m_target == "Custom RA/Dec") { ui->rightAscension->setReadOnly(false); ui->declination->setReadOnly(false); @@ -476,9 +489,21 @@ void StarTrackerGUI::updateForTarget() on_rightAscension_editingFinished(); on_declination_editingFinished(); } - // Clear as no longer valid when target has changed - ui->azimuth->setText(""); - ui->elevation->setText(""); + if (m_settings.m_target != "Custom Az/El") + { + ui->azimuth->setReadOnly(true); + ui->elevation->setReadOnly(true); + // Clear as no longer valid when target has changed + ui->azimuth->setText(""); + ui->elevation->setText(""); + } + else + { + ui->rightAscension->setReadOnly(true); + ui->declination->setReadOnly(true); + ui->azimuth->setReadOnly(false); + ui->elevation->setReadOnly(false); + } } void StarTrackerGUI::on_target_currentTextChanged(const QString &text) @@ -572,6 +597,8 @@ void StarTrackerGUI::on_displaySettings_clicked() if (dialog.exec() == QDialog::Accepted) { applySettings(); + ui->elevation->setUnits(m_settings.m_azElUnits); + ui->azimuth->setUnits(m_settings.m_azElUnits); displaySolarFlux(); if (ui->chartSelect->currentIndex() == 1) plotChart(); @@ -691,6 +718,116 @@ void StarTrackerGUI::plotSolarFluxChart() // disconnect(&m_chart, SIGNAL(plotAreaChanged(QRectF)), this, SLOT(plotAreaChanged(QRectF))); } +QList StarTrackerGUI::createDriftScan(bool galactic) +{ + QListlist; + QLineSeries *series = new QLineSeries(); + list.append(series); + + QDateTime dt; + + // Get date and time to calculate position at + if (m_settings.m_dateTime == "") { + dt = QDateTime::currentDateTime(); + } else { + dt = QDateTime::fromString(m_settings.m_dateTime, Qt::ISODateWithMs); + } + + // Create a list of RA/Dec points of drift scan path + AzAlt aa; + aa.alt = m_settings.m_el; + aa.az = m_settings.m_az; + double prevX, prevY; + // Plot every 30min over a day + for (int i = 0; i <= 24*2; i++) + { + dt = dt.addSecs(30*60); + RADec rd = Astronomy::azAltToRaDec(aa, m_settings.m_latitude, m_settings.m_longitude, dt); + double x, y; + mapRaDec(rd.ra, rd.dec, galactic, x, y); + if (i == 0) + { + series->append(x, y); + } + else + { + // Check for crossing edge of chart + if (galactic) + { + if (((prevX < 90.0) && (x > 270.0)) || ((prevX > 270.0) && (x < 90.0))) + { + // Start new series, so we don't have lines crossing across the chart + series = new QLineSeries(); + list.append(series); + } + } + series->append(x, y); + } + prevX = x; + prevY = y; + } + + return list; +} + +void StarTrackerGUI::mapRaDec(double ra, double dec, bool galactic, double& x, double& y) +{ + if (galactic) + { + // Convert to category coordinates + double l, b; + Astronomy::equatorialToGalactic(ra, dec, l, b); + // Map to linear axis + double lAxis; + if (l < 180.0) { + lAxis = 180.0 - l; + } else { + lAxis = 360.0 - l + 180.0; + } + + x = lAxis; + y = b; + } + else + { + // Map to category axis + double raAxis; + if (ra <= 12.0) { + raAxis = 12.0 - ra; + } else { + raAxis = 24 - ra + 12; + } + + x = raAxis; + y = dec; + } +} + +// Is there a way to get this from the theme? Got these values from the source +QColor StarTrackerGUI::getSeriesColor(int series) +{ + if (m_settings.m_chartsDarkTheme) + { + if (series == 0) { + return QColor(0x38ad6b); + } else if (series == 1) { + return QColor(0x3c84a7); + } else { + return QColor(0xeb8817); + } + } + else + { + if (series == 0) { + return QColor(0x209fdf); + } else if (series == 1) { + return QColor(0x99ca53); + } else { + return QColor(0xf6a625); + } + } +} + void StarTrackerGUI::plotSkyTemperatureChart() { bool galactic = (ui->chartSubSelect->currentIndex() & 1) == 1; @@ -698,6 +835,16 @@ void StarTrackerGUI::plotSkyTemperatureChart() m_chart.removeAllSeries(); removeAllAxes(); + // Plot drift scan path + QList lineSeries; + if (m_settings.m_target == "Custom Az/El") { + lineSeries = createDriftScan(galactic); + QPen pen(getSeriesColor(1), 2, Qt::SolidLine); + for (int i = 0; i < lineSeries.length(); i++) { + lineSeries[i]->setPen(pen); + } + } + QScatterSeries *series = new QScatterSeries(); float ra = Astronomy::raToDecimal(m_settings.m_ra); float dec = Astronomy::decToDecimal(m_settings.m_dec); @@ -709,30 +856,9 @@ void StarTrackerGUI::plotSkyTemperatureChart() double degPerPixel = std::min(degPerPixelW, degPerPixelH); double markerSize; - if (galactic) - { - // Convert to category coordinates - double l, b; - Astronomy::equatorialToGalactic(ra, dec, l, b); - - // Map to linear axis - double lAxis; - if (l < 180.0) - lAxis = 180.0 - l; - else - lAxis = 360.0 - l + 180.0; - series->append(lAxis, b); - } - else - { - // Map to category axis - double raAxis; - if (ra <= 12.0) - raAxis = 12.0 - ra; - else - raAxis = 24 - ra + 12; - series->append(raAxis, dec); - } + double x, y; + mapRaDec(ra, dec, galactic, x, y); + series->append(x, y); // Get temperature int idx = ui->chartSubSelect->currentIndex(); @@ -757,10 +883,12 @@ void StarTrackerGUI::plotSkyTemperatureChart() double degreesPerPixelV = abs(fits->degreesPerPixelV()); int numberOfCoeffsH = ceil(beamwidth/degreesPerPixelH); int numberOfCoeffsV = ceil(beamwidth/degreesPerPixelV); - if ((numberOfCoeffsH & 1) == 0) + if ((numberOfCoeffsH & 1) == 0) { numberOfCoeffsH++; - if ((numberOfCoeffsV & 1) == 0) + } + if ((numberOfCoeffsV & 1) == 0) { numberOfCoeffsV++; + } double *beam = new double[numberOfCoeffsH*numberOfCoeffsV]; double sum = 0.0; int y0 = numberOfCoeffsV/2; @@ -780,16 +908,19 @@ void StarTrackerGUI::plotSkyTemperatureChart() nonZeroCount++; } else + { beam[y*numberOfCoeffsH+x] = 0.0; + } } } // Get centre pixel coordinates double centreX; - if (ra <= 12.0) + if (ra <= 12.0) { centreX = (12.0 - ra) / 24.0; - else + } else { centreX = (24 - ra + 12) / 24.0; + } double centreY = (90.0-dec) / 180.0; int imgX = centreX * fits->width(); int imgY = centreY * fits->height(); @@ -831,12 +962,13 @@ void StarTrackerGUI::plotSkyTemperatureChart() else { // See https://arxiv.org/abs/1812.10084 fig 2 - if (m_settings.m_frequency < 200e6) + if (m_settings.m_frequency < 200e6) { spectralIndex = 2.55; - else if (m_settings.m_frequency < 20e9) + } else if (m_settings.m_frequency < 20e9) { spectralIndex = 2.695; - else + } else { spectralIndex = 3.1; + } } double galactic480 = temp408 - cmbT - iso408; double galacticT = galactic480 * pow(408e6/m_settings.m_frequency, spectralIndex); // Scale galactic contribution by frequency @@ -860,16 +992,19 @@ void StarTrackerGUI::plotSkyTemperatureChart() QImage *img = &m_images[idx]; FITS *fits = &m_temps[idx/2]; double x; - if (ra <= 12.0) + if (ra <= 12.0) { x = (12.0 - ra) / 24.0; - else + } else { x = (24 - ra + 12) / 24.0; - int imgX = x * img->width(); - if (imgX >= img->width()) - imgX = img->width(); - int imgY = (90.0-dec)/180.0 * img->height(); - if (imgY >= img->height()) - imgY = img->height(); + } + int imgX = x * (img->width() - 1); + if (imgX >= img->width()) { + imgX = img->width() - 1; + } + int imgY = (90.0-dec)/180.0 * (img->height() - 1); + if (imgY >= img->height()) { + imgY = img->height() - 1; + } if (fits->valid()) { @@ -883,8 +1018,13 @@ void StarTrackerGUI::plotSkyTemperatureChart() markerSize = 5; } series->setMarkerSize(markerSize); + series->setColor(getSeriesColor(0)); m_chart.setTitle(""); + // We want scatter to be on top of line, but same color even when no drift line + for (int i = 0; i < lineSeries.length(); i++) { + m_chart.addSeries(lineSeries[i]); + } m_chart.addSeries(series); if (galactic) { @@ -894,6 +1034,12 @@ void StarTrackerGUI::plotSkyTemperatureChart() m_skyTempYAxis.setTitleText(QString("Galactic latitude (%1)").arg(QChar(0xb0))); m_chart.addAxis(&m_skyTempYAxis, Qt::AlignLeft); series->attachAxis(&m_skyTempYAxis); + + for (int i = 0; i < lineSeries.length(); i++) + { + lineSeries[i]->attachAxis(&m_skyTempGalacticLXAxis); + lineSeries[i]->attachAxis(&m_skyTempYAxis); + } } else { @@ -903,6 +1049,12 @@ void StarTrackerGUI::plotSkyTemperatureChart() m_skyTempYAxis.setTitleText(QString("Declination (%1)").arg(QChar(0xb0))); m_chart.addAxis(&m_skyTempYAxis, Qt::AlignLeft); series->attachAxis(&m_skyTempYAxis); + + for (int i = 0; i < lineSeries.length(); i++) + { + lineSeries[i]->attachAxis(&m_skyTempRAXAxis); + lineSeries[i]->attachAxis(&m_skyTempYAxis); + } } ui->chart->setChart(&m_chart); plotAreaChanged(m_chart.plotArea()); @@ -965,7 +1117,7 @@ void StarTrackerGUI::plotElevationLineChart() QList azSeriesList; QLineSeries *azSeries = new QLineSeries(); azSeriesList.append(azSeries); - QPen pen(QColor(153, 202, 83), 2, Qt::SolidLine); + QPen pen(getSeriesColor(1), 2, Qt::SolidLine); azSeries->setPen(pen); QDateTime dt; @@ -1172,7 +1324,7 @@ void StarTrackerGUI::plotElevationPolarChart() QList series; series.append(new QLineSeries()); QLineSeries *s = series.first(); - QPen pen(QColor(32, 159, 223), 2, Qt::SolidLine); + QPen pen(getSeriesColor(0), 2, Qt::SolidLine); s->setPen(pen); qreal prevAz = polarSeries->at(0).x(); @@ -1467,7 +1619,7 @@ void StarTrackerGUI::updateSolarFlux(bool all) } if ((m_settings.m_solarFluxData == StarTrackerSettings::DRAO_2800) || all) { - m_networkRequest.setUrl(QUrl("https://www.spaceweather.gc.ca/solarflux/sx-4-en.php")); + m_networkRequest.setUrl(QUrl("https://www.spaceweather.gc.ca/forecast-prevision/solar-solaire/solarflux/sx-4-en.php")); m_networkManager->get(m_networkRequest); } } diff --git a/plugins/feature/startracker/startrackergui.h b/plugins/feature/startracker/startrackergui.h index 4830fa145..394d58e98 100644 --- a/plugins/feature/startracker/startrackergui.h +++ b/plugins/feature/startracker/startrackergui.h @@ -102,9 +102,11 @@ private: void applySettings(bool force = false); void displaySettings(); void updateForTarget(); - QString convertDegreesToText(double degrees); bool handleMessage(const Message& message); void updateLST(); + void mapRaDec(double ra, double dec, bool galactic, double& x, double& y); + QList createDriftScan(bool galactic); + QColor getSeriesColor(int series); void plotElevationLineChart(); void plotElevationPolarChart(); void plotSkyTemperatureChart(); @@ -133,6 +135,8 @@ private slots: void on_longitude_valueChanged(double value); void on_rightAscension_editingFinished(); void on_declination_editingFinished(); + void on_azimuth_valueChanged(double value); + void on_elevation_valueChanged(double value); void on_frequency_valueChanged(int value); void on_beamwidth_valueChanged(double value); void on_target_currentTextChanged(const QString &text); diff --git a/plugins/feature/startracker/startrackergui.ui b/plugins/feature/startracker/startrackergui.ui index 53dc1c121..40c0bf88c 100644 --- a/plugins/feature/startracker/startrackergui.ui +++ b/plugins/feature/startracker/startrackergui.ui @@ -67,13 +67,17 @@ - - - - Local sidereal time for selected date, time and longitude + + + + Beamwidth - - true + + + + + + Time @@ -84,86 +88,6 @@ - - - - Select time to calculate target's position at - - - - Now - - - - - Custom - - - - - - - - Frequency - - - - - - - Date and time to use when calculating target's position - - - dd/MM/yyyy HH:mm:ss - - - true - - - - - - - Declination of the target object - -This can be specified as a decimal (E.g. 34.23) or in degrees, minutes and seconds (E.g. 34d12m10.2s, 34d12'10.2" 34 12 10.2) - - - -90d59'59.59" - - - - - - - Right Ascension of the target object. - -This can be specified as a decimal (E.g. 12.23) or in hours, minutes and seconds (E.g. 12h05m10.2s or 12 05 10.2) - - - 23h59m59.59s - - - - - - - Longitude in decimal degress (East positive) of observation point / antenna location - - - 6 - - - -180.000000000000000 - - - 180.000000000000000 - - - -180.000000000000000 - - - @@ -177,40 +101,6 @@ This can be specified as a decimal (E.g. 12.23) or in hours, minutes and seconds - - - - LST - - - - - - - Longitude - - - - - - - Target - - - - - - - Computed azimuth in degrees to the target from the observation point - - - 360 - - - true - - - @@ -218,95 +108,26 @@ This can be specified as a decimal (E.g. 12.23) or in hours, minutes and seconds - - + + - Solar Flux + RA - - - - - - - 110 - 0 - - - - Target object - - - 0 - - - - Sun - - - - - Moon - - - - - PSR B0329+54 - - - - - PSR B0833-45 - - - - - Sagittarius A - - - - - Cassiopeia A - - - - - Cygnus A - - - - - Taurus A (M1) - - - - - Virgo A (M87) - - - - - Custom - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - + + + + LST + + + + + + + Elevation + + @@ -396,80 +217,32 @@ This can be specified as a decimal (E.g. 12.23) or in hours, minutes and seconds - - - - Latitude in decimal degrees (North positive) of observation point / antenna location - - - 6 - - - -90.000000000000000 - - - 90.000000000000000 - - - -90.000000000000000 - - - - - - - Time - - - - - - - Elevation - - - - - - - Beamwidth - - - - - - - RA - - - - + - Computed elevation in degrees to the target from the observation point + Elevation in degrees to the target from the observation point - - 90 + + + + + + Local sidereal time for selected date, time and longitude true - - + + - Solar flux density + Declination of the target object + +This can be specified as a decimal (E.g. 34.23) or in degrees, minutes and seconds (E.g. 34d12m10.2s, 34d12'10.2" 34 12 10.2) - - true - - - - - - Latitude + -90d59'59.59" @@ -492,6 +265,226 @@ This can be specified as a decimal (E.g. 12.23) or in hours, minutes and seconds + + + + + + + 110 + 0 + + + + Target object + + + 0 + + + + Sun + + + + + Moon + + + + + PSR B0329+54 + + + + + PSR B0833-45 + + + + + Sagittarius A + + + + + Cassiopeia A + + + + + Cygnus A + + + + + Taurus A (M1) + + + + + Virgo A (M87) + + + + + Custom RA/Dec + + + + + Custom Az/El + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Select time to calculate target's position at + + + + Now + + + + + Custom + + + + + + + + Latitude + + + + + + + Frequency + + + + + + + Date and time to use when calculating target's position + + + dd/MM/yyyy HH:mm:ss + + + true + + + + + + + Solar flux density + + + true + + + + + + + Target + + + + + + + Right Ascension of the target object. + +This can be specified as a decimal (E.g. 12.23) or in hours, minutes and seconds (E.g. 12h05m10.2s or 12 05 10.2) + + + 23h59m59.59s + + + + + + + Longitude + + + + + + + Longitude in decimal degress (East positive) of observation point / antenna location + + + 6 + + + -180.000000000000000 + + + 180.000000000000000 + + + -180.000000000000000 + + + + + + + Solar Flux + + + + + + + Latitude in decimal degrees (North positive) of observation point / antenna location + + + 6 + + + -90.000000000000000 + + + 90.000000000000000 + + + -90.000000000000000 + + + + + + + Azimuth in degrees to the target from the observation point + + + @@ -619,6 +612,11 @@ This can be specified as a decimal (E.g. 12.23) or in hours, minutes and seconds
gui/wrappingdatetimeedit.h
1 + + DMSSpinBox + QWidget +
gui/dmsspinbox.h
+
startStop @@ -637,10 +635,9 @@ This can be specified as a decimal (E.g. 12.23) or in hours, minutes and seconds beamwidth rightAscension declination - azimuth - elevation chartSelect chartSubSelect + darkTheme chart diff --git a/plugins/feature/startracker/startrackerreport.h b/plugins/feature/startracker/startrackerreport.h index 0cace5aed..843feb4af 100644 --- a/plugins/feature/startracker/startrackerreport.h +++ b/plugins/feature/startracker/startrackerreport.h @@ -20,8 +20,10 @@ #define INCLUDE_FEATURE_STARTRACKERREPORT_H_ #include +#include #include "util/message.h" +#include "util/astronomy.h" class StarTrackerReport : public QObject { diff --git a/plugins/feature/startracker/startrackersettings.cpp b/plugins/feature/startracker/startrackersettings.cpp index 884f38b6d..75ec6f1a9 100644 --- a/plugins/feature/startracker/startrackersettings.cpp +++ b/plugins/feature/startracker/startrackersettings.cpp @@ -46,7 +46,7 @@ void StarTrackerSettings::resetToDefaults() m_beamwidth = 25.0; m_enableServer = true; m_serverPort = 10001; - m_azElUnits = DM; + m_azElUnits = DMSSpinBox::DM; m_solarFluxData = DRAO_2800; m_solarFluxUnits = SFU; m_updatePeriod = 1.0; @@ -62,6 +62,8 @@ void StarTrackerSettings::resetToDefaults() m_reverseAPIPort = 8888; m_reverseAPIFeatureSetIndex = 0; m_reverseAPIFeatureIndex = 0; + m_az = 0.0; + m_el = 0.0; } QByteArray StarTrackerSettings::serialize() const @@ -100,6 +102,8 @@ QByteArray StarTrackerSettings::serialize() const s.writeDouble(30, m_beamwidth); s.writeU32(31, m_solarFluxData); s.writeBool(32, m_chartsDarkTheme); + s.writeDouble(33, m_az); + s.writeDouble(34, m_el); return s.final(); } @@ -133,7 +137,7 @@ bool StarTrackerSettings::deserialize(const QByteArray& data) } else { m_serverPort = 10001; } - d.readS32(9, (qint32 *)&m_azElUnits, DM); + d.readS32(9, (qint32 *)&m_azElUnits, DMSSpinBox::DM); d.readFloat(10, &m_updatePeriod, 1.0f); d.readBool(11, &m_jnow, false); d.readString(12, &m_refraction, "Positional Astronomy Library"); @@ -169,6 +173,9 @@ bool StarTrackerSettings::deserialize(const QByteArray& data) d.readU32(31, (quint32 *)&m_solarFluxData, DRAO_2800); d.readBool(32, &m_chartsDarkTheme, true); + d.readDouble(33, &m_az, 0.0); + d.readDouble(34, &m_el, 0.0); + return true; } else diff --git a/plugins/feature/startracker/startrackersettings.h b/plugins/feature/startracker/startrackersettings.h index 777191e28..63b6c21a2 100644 --- a/plugins/feature/startracker/startrackersettings.h +++ b/plugins/feature/startracker/startrackersettings.h @@ -23,6 +23,7 @@ #include #include "util/message.h" +#include "gui/dmsspinbox.h" class Serializable; @@ -44,7 +45,7 @@ struct StarTrackerSettings double m_beamwidth; // Beamwidth in degrees uint16_t m_serverPort; bool m_enableServer; // Enable Stellarium server - enum AzElUnits {DMS, DM, D, Decimal} m_azElUnits; + enum DMSSpinBox::DisplayUnits m_azElUnits; enum SolarFluxData {DRAO_2800, L_245, L_410, L_610, L_1415, L2695, L_4995, L_8800, L_15400, TARGET_FREQ} m_solarFluxData; // What Solar flux density data to display enum SolarFluxUnits {SFU, JANSKY, WATTS_M_HZ} m_solarFluxUnits; float m_updatePeriod; @@ -53,7 +54,6 @@ struct StarTrackerSettings bool m_drawMoonOnMap; bool m_drawStarOnMap; bool m_chartsDarkTheme; // Dark theme for charts - QString m_title; quint32 m_rgbColor; bool m_useReverseAPI; @@ -61,6 +61,8 @@ struct StarTrackerSettings uint16_t m_reverseAPIPort; uint16_t m_reverseAPIFeatureSetIndex; uint16_t m_reverseAPIFeatureIndex; + double m_az; // Azimuth for Custom Az/El + double m_el; // Elevation for Custom Az/El StarTrackerSettings(); void resetToDefaults(); diff --git a/plugins/feature/startracker/startrackersettingsdialog.cpp b/plugins/feature/startracker/startrackersettingsdialog.cpp index 33bd94519..a47adad17 100644 --- a/plugins/feature/startracker/startrackersettingsdialog.cpp +++ b/plugins/feature/startracker/startrackersettingsdialog.cpp @@ -51,7 +51,7 @@ StarTrackerSettingsDialog::~StarTrackerSettingsDialog() void StarTrackerSettingsDialog::accept() { m_settings->m_jnow = ui->epoch->currentIndex() == 1; - m_settings->m_azElUnits = (StarTrackerSettings::AzElUnits)ui->azElUnits->currentIndex(); + m_settings->m_azElUnits = (DMSSpinBox::DisplayUnits)ui->azElUnits->currentIndex(); m_settings->m_updatePeriod = ui->updatePeriod->value(); m_settings->m_serverPort = (uint16_t)ui->serverPort->value(); m_settings->m_enableServer = ui->enableServer->isChecked(); diff --git a/plugins/feature/startracker/startrackerworker.cpp b/plugins/feature/startracker/startrackerworker.cpp index 631cdf5a7..333386e2b 100644 --- a/plugins/feature/startracker/startrackerworker.cpp +++ b/plugins/feature/startracker/startrackerworker.cpp @@ -463,6 +463,13 @@ void StarTrackerWorker::update() rd = moonRD; aa = moonAA; } + else if (m_settings.m_target == "Custom Az/El") + { + // Convert Alt/Az to RA/Dec + aa.alt = m_settings.m_el; + aa.az = m_settings.m_az; + rd = Astronomy::azAltToRaDec(aa, m_settings.m_latitude, m_settings.m_longitude, dt); + } else { // Convert RA/Dec to Alt/Az @@ -491,8 +498,11 @@ void StarTrackerWorker::update() // Send to GUI if (getMessageQueueToGUI()) { - StarTrackerReport::MsgReportAzAl *msg = StarTrackerReport::MsgReportAzAl::create(aa.az, aa.alt); - getMessageQueueToGUI()->push(msg); + if (m_settings.m_target == "Custom Az/El") { + getMessageQueueToGUI()->push(StarTrackerReport::MsgReportRADec::create(rd.ra, rd.dec)); + } else { + getMessageQueueToGUI()->push(StarTrackerReport::MsgReportAzAl::create(aa.az, aa.alt)); + } } // Send Az/El to Rotator Controllers @@ -542,7 +552,7 @@ void StarTrackerWorker::update() { double starLongitude = Astronomy::lstAndRAToLongitude(lst, rd.ra); double starLatitude = rd.dec; - QString text = m_settings.m_target == "Custom" ? "Star" : m_settings.m_target; + QString text = m_settings.m_target.startsWith("Custom") ? "Star" : m_settings.m_target; sendToMap(mapMessageQueues, "Star", "qrc:///startracker/startracker/pulsar-32.png", text, starLatitude, starLongitude); } } diff --git a/sdrbase/util/astronomy.cpp b/sdrbase/util/astronomy.cpp index d48e0951a..ee7b941d2 100644 --- a/sdrbase/util/astronomy.cpp +++ b/sdrbase/util/astronomy.cpp @@ -216,6 +216,47 @@ AzAlt Astronomy::raDecToAzAlt(RADec rd, double latitude, double longitude, QDate return aa; } +// Convert from altitude and azimuth, for location (decimal degrees) and time, to Jnow right ascension (decimal hours) and declination (decimal degrees) +// See: http://jonvoisey.net/blog/2018/07/data-converting-alt-az-to-ra-dec-example/ +RADec Astronomy::azAltToRaDec(AzAlt aa, double latitude, double longitude, QDateTime dt) +{ + RADec rd; + double lst_deg; // Local sidereal time + double ha_rad, ha_deg; // Hour angle + double alt_rad, az_rad, lat_rad, dec_rad; // Corresponding variables as radians + + // Calculate local mean sidereal time (LMST) in degrees (see raDecToAzAlt) + lst_deg = Astronomy::localSiderealTime(dt, longitude); + + // Convert degrees to radians + alt_rad = Units::degreesToRadians(aa.alt); + az_rad = Units::degreesToRadians(aa.az); + lat_rad = Units::degreesToRadians(latitude); + + // Calculate declination + dec_rad = asin(sin(lat_rad)*sin(alt_rad)+cos(lat_rad)*cos(alt_rad)*cos(az_rad)); + + // Calculate hour angle + double quotient = (sin(alt_rad)-sin(lat_rad)*sin(dec_rad))/(cos(lat_rad)*cos(dec_rad)); + // At extreme altitudes, we seem to get small numerical errors that causes values to be out of range, so clip to [-1,1] + if (quotient < -1.0) { + ha_rad = acos(-1.0); + } else if (quotient > 1.0) { + ha_rad = acos(1.0); + } else { + ha_rad = acos(quotient); + } + + // Convert radians to degrees + rd.dec = Units::radiansToDegrees(dec_rad); + ha_deg = Units::radiansToDegrees(ha_rad); + + // Calculate right ascension in decimal hours + rd.ra = modulo((lst_deg - ha_deg) / (360.0/24.0), 24.0); + + return rd; +} + // Needs to work for negative a double Astronomy::modulo(double a, double b) { @@ -493,10 +534,11 @@ double Astronomy::lstAndRAToLongitude(double lst, double raHours) } // Return right ascension and declination of North Galactic Pole in J2000 Epoch +// http://www.lsc-group.phys.uwm.edu/lal/lsd/node1777.html void Astronomy::northGalacticPoleJ2000(double& ra, double& dec) { - ra = 12 + 51.4 / 60.0; - dec = 27.13; + ra = 192.8594813/15.0; + dec = 27.1282511; } // Convert from equatorial to Galactic coordinates, J2000 Epoch @@ -511,40 +553,24 @@ void Astronomy::equatorialToGalactic(double ra, double dec, double& l, double& b const double ngpRaRad = Units::degreesToRadians(ngpRa * 15.0); const double ngpDecRad = Units::degreesToRadians(ngpDec); - // Calculate galactic latitude for North Celestial pole, J2000 - const double ncpLRad = Units::degreesToRadians(122.93192); - // Calculate galactic longitude in radians double bRad = asin(sin(ngpDecRad)*sin(decRad)+cos(ngpDecRad)*cos(decRad)*cos(raRad - ngpRaRad)); - // Find the two possible solutions for galactic longitude in radians - double rhs1 = cos(decRad)*sin(raRad-ngpRaRad)/cos(bRad); - double rhs2 = (-cos(decRad)*sin(ngpDecRad)*cos(raRad-ngpRaRad)+sin(decRad)*cos(ngpDecRad))/cos(bRad); - double l1 = ncpLRad - asin(rhs1); - double l2 = ncpLRad - acos(rhs2); + // Calculate galactic latitiude in radians + double lRad = atan2(sin(decRad)-sin(bRad)*sin(ngpDecRad), cos(decRad)*cos(ngpDecRad)*sin(raRad - ngpRaRad)); - // Plug them back in and select solution which is valid for both equations - // (Error should be 0, but we have to allow for small numerical differences) - // There's probably a better way to solve this. - double l1lhs1 = sin(ncpLRad - l1); - double l1lhs2 = cos(ncpLRad - l1); - double l2lhs1 = sin(ncpLRad - l2); - double l2lhs2 = cos(ncpLRad - l2); - double l1Diff = abs(l1lhs1 - rhs1) + abs(l1lhs2 - rhs2); - double l2Diff = abs(l2lhs1 - rhs1) + abs(l2lhs2 - rhs2); - double lRad; - if (l1Diff < l2Diff) - lRad = l1; - else - lRad = l2; + // Ascending node of the galactic plane in degrees + double lAscend = 33.0; // Convert to degrees in range -90,90 and 0,360 b = Units::radiansToDegrees(bRad); - l = Units::radiansToDegrees(lRad); - if (l < 0.0) + l = Units::radiansToDegrees(lRad) + lAscend; + if (l < 0.0) { l += 360.0; - if (l > 360.0) + } + if (l > 360.0) { l -= 360.0; + } } // The following functions are from Starlink Positional Astronomy Library diff --git a/sdrbase/util/astronomy.h b/sdrbase/util/astronomy.h index ff14729bc..06520e308 100644 --- a/sdrbase/util/astronomy.h +++ b/sdrbase/util/astronomy.h @@ -46,6 +46,7 @@ public: static RADec precess(RADec rd_in, double jd_from, double jd_to); static AzAlt raDecToAzAlt(RADec rd, double latitude, double longitude, QDateTime dt, bool j2000=true); + static RADec azAltToRaDec(AzAlt aa, double latitude, double longitude, QDateTime dt); static double localSiderealTime(QDateTime dateTime, double longitude); diff --git a/sdrbase/util/units.h b/sdrbase/util/units.h index 50af66c51..9a17d0699 100644 --- a/sdrbase/util/units.h +++ b/sdrbase/util/units.h @@ -142,9 +142,50 @@ public: return hours + minutes * 1.0f/60.0f + seconds * 1.0f/(60.0f*60.0f); } + // Also supports decimal degrees + static bool degreeMinuteAndSecondsToDecimalDegrees(const QString& string, float& degrees) + { + QRegExp decimal("(-?[0-9]+(\\.[0-9]+)?)"); + if (decimal.exactMatch(string)) + { + degrees = decimal.capturedTexts()[1].toFloat(); + return true; + } + QRegExp dms(QString("(-)?([0-9]+)[%1d](([0-9]+)['m](([0-9]+(\\.[0-9]+)?)[\"s])?)?").arg(QChar(0xb0))); + if (dms.exactMatch(string)) + { + float d = 0.0f; + bool neg = false; + for (int i = 0; i < dms.captureCount(); i++) { + qDebug() << dms.capturedTexts()[i]; + } + if (dms.captureCount() >= 1) { + neg = dms.capturedTexts()[1] == "-"; + } + if (dms.captureCount() >= 3) { + d = dms.capturedTexts()[2].toFloat(); + } + float m = 0.0f; + if (dms.captureCount() >= 5) { + m = dms.capturedTexts()[4].toFloat(); + } + float s = 0.0f; + if (dms.captureCount() >= 7) { + s = dms.capturedTexts()[6].toFloat(); + } + qDebug() << neg << d << m << s; + degrees = d + m/60.0 + s/(60.0*60.0); + if (neg) { + degrees = -degrees; + } + return true; + } + return false; + } + static QString decimalDegreesToDegreeMinutesAndSeconds(float decimal, int secondsFieldWidth=5) { - float v, d, m, s; + double v, d, m, s; int neg; v = decimal; @@ -162,7 +203,7 @@ public: static QString decimalDegreesToDegreesAndMinutes(float decimal) { - float v, d, m; + double v, d, m; int neg; v = decimal; @@ -172,12 +213,21 @@ public: v -= d; v *= 60.0; m = round(v); + if (m == 60) + { + if (neg) { + d--; + } else { + d++; + } + m = 0; + } return QString("%1%2%3%4'").arg(neg ? "-" : "").arg((int)d).arg(QChar(0xb0)).arg((int)m, 2, 10, QChar('0')); } static QString decimalDegreesToDegrees(float decimal) { - float v, d; + double v, d; int neg; v = decimal; @@ -189,7 +239,7 @@ public: static QString decimalHoursToHoursMinutesAndSeconds(float decimal, int precision=2) { - float v, h, m, s; + double v, h, m, s; v = decimal; v = fabs(v); @@ -218,7 +268,6 @@ public: QRegExp dms(QString("([0-9]+)[%1d]([0-9]+)['m]([0-9]+(\\.[0-9]+)?)[\"s]([NS]) *,? *([0-9]+)[%1d]([0-9]+)['m]([0-9]+(\\.[0-9]+)?)[\"s]([EW])").arg(QChar(0xb0))); if (dms.exactMatch(string)) { - qDebug() << "Captured: " << dms.capturedTexts(); float latD = dms.capturedTexts()[1].toFloat(); float latM = dms.capturedTexts()[2].toFloat(); float latS = dms.capturedTexts()[3].toFloat(); @@ -233,8 +282,6 @@ public: longitude = lonD + lonM/60.0 + lonS/(60.0*60.0); if (!east) longitude = -longitude; - qDebug() << "Lat " << latitude; - qDebug() << "Long " << longitude; return true; } return false; diff --git a/sdrgui/gui/dmsspinbox.cpp b/sdrgui/gui/dmsspinbox.cpp new file mode 100644 index 000000000..5a3ce4db6 --- /dev/null +++ b/sdrgui/gui/dmsspinbox.cpp @@ -0,0 +1,126 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2021 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#include + +#include "util/units.h" + +#include "dmsspinbox.h" + +DMSSpinBox::DMSSpinBox(QWidget *parent) : + QAbstractSpinBox(parent), + m_value(0.0), + m_minimum(0.0), + m_maximum(360.0), + m_units(DM) +{ + setButtonSymbols(QAbstractSpinBox::UpDownArrows); + connect(lineEdit(), SIGNAL(editingFinished()), this, SLOT(on_lineEdit_editingFinished())); +} + +bool DMSSpinBox::hasValue() const +{ + return m_text.isNull(); +} + +double DMSSpinBox::value() const +{ + return m_value; +} + +void DMSSpinBox::setValue(double degrees) +{ + if (m_value != degrees) + { + m_value = degrees; + if (m_value < m_minimum) { + m_value = m_minimum; + } + if (m_value > m_maximum) { + m_value = m_maximum; + } + m_text = QString(); + emit valueChanged(m_value); + } + lineEdit()->setText(convertDegreesToText(m_value)); +} + +void DMSSpinBox::setRange(double minimum, double maximum) +{ + m_minimum = minimum; + m_maximum = maximum; +} + +void DMSSpinBox::setUnits(DisplayUnits units) +{ + m_units = units; + if (hasValue()) { + lineEdit()->setText(convertDegreesToText(m_value)); + } +} + +void DMSSpinBox::setText(QString text) +{ + m_text = text; + lineEdit()->setText(m_text); +} + +void DMSSpinBox::stepBy(int steps) +{ + if (hasValue()) { + setValue(m_value + (double)steps); + } +} + +QAbstractSpinBox::StepEnabled DMSSpinBox::stepEnabled() const +{ + QAbstractSpinBox::StepEnabled enabled = QAbstractSpinBox::StepNone; + + if (hasValue() && (m_value < m_maximum)) { + enabled |= QAbstractSpinBox::StepUpEnabled; + } + if (hasValue() && (m_value > m_minimum)) { + enabled |= QAbstractSpinBox::StepDownEnabled; + } + + return enabled; +} + +QString DMSSpinBox::convertDegreesToText(double degrees) +{ + if (m_units == DMS) { + return Units::decimalDegreesToDegreeMinutesAndSeconds(degrees); + } else if (m_units == DM) { + return Units::decimalDegreesToDegreesAndMinutes(degrees); + } else if (m_units == D) { + return Units::decimalDegreesToDegrees(degrees); + } else { + return QString("%1").arg(degrees, 0, 'f', 2); + } +} + +void DMSSpinBox::on_lineEdit_editingFinished() +{ + QString text = lineEdit()->text().trimmed(); + float decimal; + if (Units::degreeMinuteAndSecondsToDecimalDegrees(text, decimal)) { + setValue(decimal); + } else { + qDebug() << "DMSSpinBox::on_lineEdit_editingFinished: Invalid format: " << text; + } +} + diff --git a/sdrgui/gui/dmsspinbox.h b/sdrgui/gui/dmsspinbox.h new file mode 100644 index 000000000..4e82322b8 --- /dev/null +++ b/sdrgui/gui/dmsspinbox.h @@ -0,0 +1,62 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2021 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#ifndef SDRGUI_GUI_DMSSPINBOX_H +#define SDRGUI_GUI_DMSSPINBOX_H + +#include + +#include "export.h" + +// Spin box for displaying degrees in decimal or degrees, minutes and seconds format +// Can also be assigned a text string +class SDRGUI_API DMSSpinBox : public QAbstractSpinBox { + Q_OBJECT + +public: + enum DisplayUnits {DMS, DM, D, Decimal}; + + explicit DMSSpinBox(QWidget *parent = nullptr); + bool hasValue() const; + double value() const; + void setValue(double degrees); + void setRange(double minimum, double maximum); + void setUnits(DisplayUnits units); + void setText(QString text); + virtual void stepBy(int steps) override; + +protected: + + virtual QAbstractSpinBox::StepEnabled stepEnabled() const override; + QString convertDegreesToText(double degrees); + +private: + QString m_text; + double m_value; + double m_minimum; + double m_maximum; + DisplayUnits m_units; + +signals: + void valueChanged(double newValue); + +private slots: + void on_lineEdit_editingFinished(); + +}; + +#endif // SDRGUI_GUI_DMSSPINBOX_H