re "Only Start if Guide Deviation <" feature

Wolfgang Reissenberger sterne-jaeger at openfuture.de
Fri Aug 19 19:51:13 BST 2022


Voilà: https://invent.kde.org/education/kstars/-/issues/209 <https://invent.kde.org/education/kstars/-/issues/209>

@Alfred, Hy: feel free to comment.

Cheers
Wolfgang

> Am 19.08.2022 um 20:39 schrieb Wolfgang Reissenberger <sterne-jaeger at openfuture.de>:
> 
> Albert, Hy,
> I took a first look at the checks for initial guide deviation. The outcome is the following:
> 
> 1. Good news:  IPState Capture::checkLightFramePendingTasks() is used before each frame capture start.
> 
> 2. Bad news: even for the first capture in a sequence the check is for the initial guiding deviation is not always executed, for all other frames in a sequence it is never executed. The problem is this check step in checkLightFramesPendingTasks():
>     // step 6: check guide deviation for non meridian flip stages if the initial guide limit is set.
>     //         Wait until the guide deviation is reported to be below the limit (@see setGuideDeviation(double, double)).
>     if (m_State == CAPTURE_PROGRESS && m_GuideState == GUIDE_GUIDING && m_LimitsUI->startGuiderDriftS->isChecked())
>         return IPS_BUSY;
> 
> m_State == CAPTURE_CHANGING_FILTER for the first capture and m_State == CAPTURE_IMAGE_RECEIVED for subsequent frames.
> 
> I’ll write a bug report.
> 
> Cheers
> Wolfgang
> 
>> Wolfgang Reissenberger
> 
> www.sterne-jaeger.de <http://www.sterne-jaeger.de/>
> TSA-120 + FSQ-85 + epsilon-160 | Avalon Linear + M-zero | ASI 1600mm pro + 6200mm pro
> 
>> Am 19.08.2022 um 03:07 schrieb Hy Murveit <murveit at gmail.com <mailto:murveit at gmail.com>>:
>> 
>> Wolfgang, 
>> 
>> I don't think Alfred has it quite right, but here's my shot at what might be wrong.
>> 
>> In order for the pre-capture guide check to be enforced, prepareActions[ACTION_GUIDER_DRIFT] needs to be set to false.
>> As far as I can tell, during capture execution it is only set to false in SequenceJobState::prepareLightFrameCapture in sequencejobstate.cpp line 50
>> I believe that prepareLightFrameCapture is only called at the start of a job, and not before each capture, since:
>> it is only called by SequenceJob::prepareCapture()
>> which is called only by Capture::preparePreCaptureActions() 
>> which is called by both Capture::scriptFinished (I'm ignoring that, doesn't seem relevant) and Capture::prepareActiveJobStage2() 
>> which is called by both Capture::scriptFinished (I'm ignoring that, doesn't seem relevant) and Capture::prepareActiveJobStage1() 
>> which is only called by Capture::prepareJob
>> and from its title, prepareJob() sounds like it is only called at the start of a job, not each individual capture.
>> 
>> Perhaps the bug is that there should be an else at this line:
>> https://invent.kde.org/education/kstars/-/blob/master/kstars/ekos/capture/sequencejobstate.cpp#L722 <https://invent.kde.org/education/kstars/-/blob/master/kstars/ekos/capture/sequencejobstate.cpp#L722>
>> e.g.
>> else prepareActions[ACTION_GUIDER_DRIFT] = false;
>> 
>> Hy
>> 
>> On Thu, Aug 18, 2022 at 3:32 PM amiga2000c at gmx.de <mailto:amiga2000c at gmx.de> <amiga2000c at gmx.de <mailto:amiga2000c at gmx.de>> wrote:
>> 
>> Despite the fact that I have absolutely no clue about C++, I had a look
>> at the code. I think the relevant piece is "capture.cpp".
>> 
>> A passage where 10 checks are being performed (6039-6121) before
>> "everything is ready for capturing light frames" cought my attention.
>> 
>> 
>> Step 6 is check guide deviation. Assuming guiding was suspended and the
>> last measured guiding deviation was below the limit, this check is passed.
>> Step 10 is check if guiding was suspended. If so, it is restarted and
>> according to the comment it is assumed that "everything is ready for
>> capturing light frames" then.
>> 
>> IMO this is not the case. After resuming guiding, the "check guide
>> deviation" test must be initiated again and only if it is passed,
>> "everything is ready for capturing light frames", indeed.
>> 
>> --
>> 
>> In case what I wrote is complete rubbish, please excuse my clueless
>> comment and ignore it.
>> 
>> Regards
>> Alfred
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kstars-devel/attachments/20220819/aa2da882/attachment-0001.htm>


More information about the Kstars-devel mailing list