<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class=""><div dir="ltr" class="">I have no doubt there are other problems ;)</div></div></blockquote>:-)<br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">However, don't you agree that we should never over-write the user's desired target position?</div></div></div></blockquote><div><br class=""></div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">I’m fully with you, unintentional changes in the target through guiding drift is simply a bug. </span>But the general answer is not that digital. The definition of „the user’s target“ is not that simple - see the point I tried to make with the SYNC below. And if we want to have such a concept, it should be held in one place, not in more of them.</div><div><br class=""></div><div>Agreed?<br class=""><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 9, 2021 at 11:37 AM Wolfgang Reissenberger <<a href="mailto:sterne-jaeger@openfuture.de" class="">sterne-jaeger@openfuture.de</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" class="">Aaah, sorry, now I got the point. In this aspect, the alignment module behaves differently to the mount module. The mount module keeps always the last position that it had slewed to as target position. The alignment module does it differently.<div class=""><br class=""></div><div class="">But both have their ups and downs. If the last step a user does is a SYNC, the mount module still keeps the position of the last slew. This can lead to other problems with the MF. For this I have a MR!265 pending, since we are not sure what the right solution might be.</div><div class=""><br class=""></div><div class="">Wolfgang<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">Am 09.09.2021 um 20:01 schrieb Hy Murveit <<a href="mailto:murveit@gmail.com" target="_blank" class="">murveit@gmail.com</a>>:</div><br class=""><div class=""><div dir="ltr" class="">You are misunderstanding the original conversation.<div class=""><br class=""></div><div class="">What I was complaining about is this: the code is changing "the original <u class="">target</u> position" by setting it to the mount's current position. This happen during a call to syncToMount, and that syncToMount happened at a job restart (e.g. the scheduler job was using "repeat until termination", and on the repeat, some change in capture status caused align to call syncToMount). So, syncToMount called at that time wound up changing the variable storing the user's target to the mount's current position, which had drifted from the user's target position. I claim we should never change the variable containing the user's target position once we know it. So, the user's target position was lost, and the subsequent alignment used the wrong target. </div><div class=""><br class=""></div><div class="">Hy</div><div class=""><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 9, 2021 at 10:47 AM Wolfgang Reissenberger <<a href="mailto:sterne-jaeger@openfuture.de" target="_blank" class="">sterne-jaeger@openfuture.de</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">Hm, not sure if I get your right.<div class=""><br class=""></div><div class="">This drifting, that you are describing, will be forgotten after the meridian flip, since the mount uses for the MF slew the original <u class="">target</u> position. The syncToMount happens <u class="">after</u> this slew of the MF, i.e. the position the mount should point is the original target position, not that one which happened through drifting.</div><div class=""><br class=""></div><div class="">Or am I wrong?<br class=""></div><div class=""><br class=""></div><div class=""><br class=""><blockquote type="cite" class=""><div class="">Am 09.09.2021 um 19:25 schrieb Hy Murveit <<a href="mailto:murveit@gmail.com" target="_blank" class="">murveit@gmail.com</a>>:</div><br class=""><div class=""><div dir="ltr" class="">Wolfgang,<div class=""><br class=""></div><div class="">This is what I think is happening. For the sake of argument, let's say that the mount is perfectly sync'd with the target after some startup plate solving.However, then a job begins and the guider starts up, and sends guiding pulses for the next few hours. If there is some drift in DEC, let's say for the sake of argument 1 arc-second per minute of time, then after 3 hours the mount has been sent 180 arc-seconds of guide corrections or 3 arc-minutes of pushes in that DEC drift position, and the mount's internal representation of the position will differ from the target position by those 3 arc-minutes, even with all other things otherwise working perfectly. When we then meridian flip and align, we would not want to align to the mount's position, which is 3 arc-minutes off of the user's desired position, and in fact 3 minutes off of what the mount is really pointing to just before the meridian flip. Therefore we should not adjust the target position to where the mount is pointing at that time.</div><div class=""><br class=""></div><div class="">Hy</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 9, 2021 at 10:14 AM Wolfgang Reissenberger <<a href="mailto:sterne-jaeger@openfuture.de" target="_blank" class="">sterne-jaeger@openfuture.de</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">I agree with you, Jasem, from my perspective this behavior of the align module makes perfectly sense. This reflects the position where the mount <u class="">thinks</u> it is pointing due to its internal pointing model.<div class=""><br class=""></div><div class="">When a meridian flip is issued, the mount module takes the last position it slewed to and re-issues a slew. Drifts during guiding should have no effect on this position. At its end, when the mount is tracking, it should be (again due to its internal model) at the target position, so a syncTargetToMount() should get exactly the target position.</div><div class=""><br class=""></div><div class="">Maybe a wild idea, but it would explain the behavior (and I didn't check it yet): if a slew command is issued to the mount and the mount ends the slew, are we 100% sure that it reports exactly the position we sent it to? I’ve never checked that, whether my mount reports exactly the coordinates after a slew where I sent it to.</div><div class=""><br class=""></div><div class="">But in the logs, I see slight variations, without any move in between:</div><div class="">[2021-09-08T21:03:46.172 CEST INFO ][ org.kde.kstars.ekos.align] - "Slewing to target coordinates: RA (20h 00m 33s) DEC ( <b class="">22° 46' 59</b>\").“</div><div class="">… slew + plate solving (no sync) ...<br class="">[2021-09-08T21:03:56.228 CEST INFO ][ org.kde.kstars.ekos.align] - „Solution coordinates: RA (20h 00m 32s) DEC ( 22° 47' 09\") Telescope Coordinates: RA (20h 00m 33s) DEC ( <b class="">22° 47' 09\</b>“)“<br class=""><br class="">Its strange… And I can confirm, I observe a similar behavior, after a MF the position does sometimes not match perfectly.</div><div class=""><br class=""></div><div class="">Cheers</div><div class="">Wolfgang</div><div class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">Am 02.09.2021 um 22:38 schrieb Jasem Mutlaq <<a href="mailto:mutlaqja@ikarustech.com" target="_blank" class="">mutlaqja@ikarustech.com</a>>:</div><br class=""><div class=""><div dir="ltr" class="">Good question.<div class=""><br class=""></div><div class="">This was actually a solution to a problem we had. Align was always working on current telescope coordinates. When capture and solve is executed, and if SLEW to target is selected, the target was whatever the mount coordinates were WHEN you capture & solve was invoked. However, this DID result before in changing the actual target post alignment either due to mount drift or guiding pulses ..etc. This eliminates the issue, and sets an explicit target for align to SLEW to.</div><div class=""><br class=""></div><div class="">So when a user starts a sequence, the target is locked to whatever the mount is at that particular point in time and this is used throughout the session. This is intended for use with plate solving. Remember that after platesolving is done, the mount coords indeed matches the target (within the tolerance) because we perform SYNC followed by GOTO. I hope this clears things up.</div><div class=""><br clear="all" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class="">--</div><div class="">Best Regards,<br class="">Jasem Mutlaq<br class=""></div><div class=""><br class=""></div></div></div></div></div></div><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 2, 2021 at 9:22 PM Hy Murveit <<a href="mailto:murveit@gmail.com" target="_blank" class="">murveit@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="">If you want, comment on my kstars-devel thread, but I want to ask you, why would we ever do what's on this line?<div class=""><a href="https://invent.kde.org/education/kstars/-/blob/master/kstars/ekos/align/align.cpp#L3291" target="_blank" class="">https://invent.kde.org/education/kstars/-/blob/master/kstars/ekos/align/align.cpp#L3291</a><br class=""></div><div class="">I can see that you wrote or re-factored at least the last version of this in 65b0f85d535d179d1e11c22f7841527c49b15dda</div><div class=""><br class=""></div><div class="">We're changing the target to where the mount thinks it currently is, but, if we then align, then it doesn't matter what the mount thinks,</div><div class="">what matters is what the plate-solver thinks. But since we've changed the target coordinates, the plate solver will now move the image.</div><div class="">I think that's wrong, as far as I understand it--unless the user is running without plate solving. But I think everyone runs with plate solving these days.</div><div class=""><br class=""></div><div class="">What would go wrong if that line was eliminated?</div><div class=""><br class=""></div><div class="">Hy</div><div class=""><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 1, 2021 at 9:52 PM Jasem Mutlaq <<a href="mailto:mutlaqja@ikarustech.com" target="_blank" class="">mutlaqja@ikarustech.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="">Hello Hy,<div class=""><br class=""></div><div class="">That's right, setTargetCoords is what actually changes what align module aligns to. So the question now is why does the repeated job command a different coords?</div><div class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class="">--</div><div class="">Best Regards,<br class="">Jasem Mutlaq<br class=""></div><div class=""><br class=""></div></div></div></div></div></div><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 2, 2021 at 5:48 AM Hy Murveit <<a href="mailto:murveit@gmail.com" target="_blank" class="">murveit@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="">Hope you don't mind me sending you progress notes--it's therapeutic for me to debug this way ;)<div class=""><br class=""></div><div class="">So far, it seems like it isn't the meridian flip at all.</div><div class=""><br class=""></div><div class="">It turns out that the jobs is a scheduler "repeat until terminated" job.</div><div class="">It completed its first schedule about 10 minutes before the meridian flip, at around 2:36am.</div><div class="">At that point, the target coordinates are reset to this other spot. (Could it be a J2000 vs. JNow issue?)</div><div class="">Also, mountmodel.cpp may call setTargetCoords()--I'm not familiar with that code.</div><div class=""><br class=""></div><div class="">startup</div><div class="">[2021-08-31T22:28:12.385 PDT DEBG ][ org.kde.kstars.ekos.align] - Target Coordinates updated to JNow RA: "00h 04m 23s" DE: " 16° 15' 52\""<br class=""><br class=""></div><div class="">scheduler repeating job:</div><div class="">[2021-09-01T02:36:56.423 PDT DEBG ][ org.kde.kstars.ekos.align] - Target Coordinates updated to JNow RA: "00h 04m 33s" DE: " 16° 21' 09\""<br class=""></div><div class=""><br class=""></div><div class="">I put some logging in, and will re-run tonight.</div><div class=""><br class=""></div><div class="">Let me know if you have any insight into this,</div><div class="">Hy</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 1, 2021 at 6:20 PM Hy Murveit <<a href="mailto:murveit@gmail.com" target="_blank" class="">murveit@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="">Jasem,<div class=""><br class=""></div><div class="">Wanted to let you know that I saw an align issue that came up in my testing last night.</div><div class="">After a meridian flip, the align succeeded, but the resulting image was shifted too far away from the pre-flip image.</div><div class=""><br class=""></div><div class=""><div class="">I think there's something wrong with the targets.</div><div class="">There are only two alignments in the log, the first one at the start of the evening (scheduler setting up the job),</div><div class="">and the alignment after the meridian flip late at night.</div><div class=""><br class=""></div><div class="">1st successful align shows: Solution coordinates: RA (00h 04m 24s) DEC ( 16° 15' 51\") ... Target is within 00° 00' 18\" degrees of solution coordinates</div><div class="">2nd successful align shows: Solution coordinates: RA (00h 04m 34s) DEC ( 16° 21' 03\") ... Target is within 00° 00' 19\" degrees of solution coordinates.</div><div class=""><br class=""></div><div class="">The target itself is not shown in the log, but as far as I know, it should be the same target for the two aligns.</div><div class=""><br class=""></div><div class=""><b class="">Since the two solutions are a little more than 4 arc-minutes apart, they can't be within 18" and 19" of the same target.</b></div><div class=""><br class=""></div></div><div class="">Here's the lines near the last iteration of the original alignment early in the evening:</div><div class=""><br class=""></div><div class="">[2021-08-31T22:28:02.727 PDT INFO ][ org.kde.kstars.ekos.align] - "40 stars, 27 quads selected in the image. 30 database stars, 20 database quads required for the square search field of 0.4°. Search window at 192% based on the number of quads. Step size at 100% of image height"<br class="">[2021-08-31T22:28:02.793 PDT INFO ][ org.kde.kstars.ekos.align] - "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<br class="">[2021-08-31T22:28:02.798 PDT INFO ][ org.kde.kstars.ekos.align] - "Field center: (RA,Dec) = (0.818908, 16.1438) deg."<br class="">[2021-08-31T22:28:02.801 PDT INFO ][ org.kde.kstars.ekos.align] - "Field center: (RA H:M:S, Dec D:M:S) = (00:03:16.538, +16:08:37.712)."<br class="">[2021-08-31T22:28:02.803 PDT INFO ][ org.kde.kstars.ekos.align] - "Field size: 30.3647 x 22.9561 arcminutes"<br class="">[2021-08-31T22:28:02.805 PDT INFO ][ org.kde.kstars.ekos.align] - "Pixel Scale: 0.391297\""<br class="">[2021-08-31T22:28:02.808 PDT INFO ][ org.kde.kstars.ekos.align] - "Field rotation angle: up is 59.3579 degrees E of N"<br class="">[2021-08-31T22:28:02.810 PDT INFO ][ org.kde.kstars.ekos.align] - "Field parity: neg\n"<br class="">[2021-08-31T22:28:02.812 PDT INFO ][ org.kde.kstars.ekos.align] - "Loading WCS from file..."<br class="">[2021-08-31T22:28:02.813 PDT INFO ][ org.kde.kstars.ekos.align] - "Finished Loading WCS..."<br class="">[2021-08-31T22:28:02.815 PDT INFO ][ org.kde.kstars.ekos.align] - "Solver completed after 8.67 seconds."<br class="">[2021-08-31T22:28:02.817 PDT INFO ][ org.kde.kstars.ekos.align] - "Solver RA (0.81891) DEC (16.14381) Orientation (59.35789) Pixel Scale (0.39130) Parity (neg)"<br class="">[2021-08-31T22:28:02.851 PDT INFO ][ org.kde.kstars.ekos.align] - "<span style="background-color:rgb(255,255,0)" class="">Solution coordinates: RA (00h 04m 24s) DEC ( 16° 15' 51\")</span> Telescope Coordinates: RA (00h 04m 23s) DEC ( 16° 15' 52\")"<br class="">[2021-08-31T22:28:02.858 PDT INFO ][ org.kde.kstars.ekos.align] - "Target is within 00° 00' 18\" degrees of solution coordinates."<br class="">[2021-08-31T22:28:02.871 PDT INFO ][ org.kde.kstars.ekos.align] - "Target is within acceptable range. Astrometric solver is successful."<br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">and here are the corresponding lines at the end of the post-flip alignment:</div><div class="">[2021-09-01T02:47:35.334 PDT INFO ][ org.kde.kstars.ekos.align] - "57 stars, 44 quads selected in the image. 43 database stars, 33 database quads required for the square search field of 0.4°. Search window at 151% based on the number of quads. Step size at 100% of image height"<br class="">[2021-09-01T02:47:35.370 PDT INFO ][ org.kde.kstars.ekos.align] - "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<br class="">[2021-09-01T02:47:35.371 PDT INFO ][ org.kde.kstars.ekos.align] - "Field center: (RA,Dec) = (0.864281, 16.2303) deg."<br class="">[2021-09-01T02:47:35.371 PDT INFO ][ org.kde.kstars.ekos.align] - "Field center: (RA H:M:S, Dec D:M:S) = (00:03:27.428, +16:13:48.980)."<br class="">[2021-09-01T02:47:35.371 PDT INFO ][ org.kde.kstars.ekos.align] - "Field size: 30.3658 x 22.957 arcminutes"<br class="">[2021-09-01T02:47:35.372 PDT INFO ][ org.kde.kstars.ekos.align] - "Pixel Scale: 0.391312\""<br class="">[2021-09-01T02:47:35.372 PDT INFO ][ org.kde.kstars.ekos.align] - "Field rotation angle: up is -120.366 degrees E of N"<br class="">[2021-09-01T02:47:35.372 PDT INFO ][ org.kde.kstars.ekos.align] - "Field parity: neg\n"<br class="">[2021-09-01T02:47:35.373 PDT INFO ][ org.kde.kstars.ekos.align] - "Loading WCS from file..."<br class="">[2021-09-01T02:47:35.374 PDT INFO ][ org.kde.kstars.ekos.align] - "Finished Loading WCS..."<br class="">[2021-09-01T02:47:35.375 PDT INFO ][ org.kde.kstars.ekos.align] - "Solver completed after 3.60 seconds."<br class="">[2021-09-01T02:47:35.375 PDT INFO ][ org.kde.kstars.ekos.align] - "Solver RA (0.86428) DEC (16.23027) Orientation (-120.36600) Pixel Scale (0.39131) Parity (neg)"<br class="">[2021-09-01T02:47:35.382 PDT INFO ][ org.kde.kstars.ekos.align] - "<span style="background-color:rgb(255,255,0)" class="">Solution coordinates: RA (00h 04m 34s) DEC ( 16° 21' 03\")</span> Telescope Coordinates: RA (00h 04m 34s) DEC ( 16° 21' 09\")"<br class="">[2021-09-01T02:47:35.382 PDT INFO ][ org.kde.kstars.ekos.align] - "Target is within 00° 00' 19\" degrees of solution coordinates."<br class="">[2021-09-01T02:47:35.388 PDT INFO ][ org.kde.kstars.ekos.align] - "Target is within acceptable range. Astrometric solver is successful."<br class="">[2021-09-01T02:47:35.389 PDT DEBG ][ org.kde.kstars.ekos.capture] - Align State changed from "In Progress" to "Complete"<br class=""></div><div class=""><br class=""></div><div class="">Here are the images:</div><div class=""><br class=""></div><div class="">Just before the meridian flip</div><div class=""><span id="gmail-m_-8398663800901370553gmail-m_-5010913028161212057gmail-m_-118073543426459054cid:ii_kt27mzbe0" class=""><Screen Shot 2021-09-01 at 5.48.34 PM.png></span><br class=""></div><div class=""><br class=""></div><div class="">just after the meridian flip</div><div class=""><span id="gmail-m_-8398663800901370553gmail-m_-5010913028161212057gmail-m_-118073543426459054cid:ii_kt27o72t1" class=""><Screen Shot 2021-09-01 at 5.49.24 PM.png></span></div><div class=""><br class=""></div><div class="">The entire log is here:</div><div class=""><a href="https://drive.google.com/file/d/1T1jvXM12s7ZQKjKjwSSPU0Wl1MbacUV_/view?usp=sharing" target="_blank" class="">https://drive.google.com/file/d/1T1jvXM12s7ZQKjKjwSSPU0Wl1MbacUV_/view?usp=sharing</a></div><div class=""><br class=""></div><div class="">I'll let you know if I find something as well,</div><div class="">Hy<br class=""></div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</div></blockquote></div><br class=""></div></div></blockquote></div>
</div></blockquote></div><br class=""></div></blockquote></div>
</div></blockquote></div><br class=""></div></div></blockquote></div>
</div></blockquote></div><br class=""></body></html>