re "Only Start if Guide Deviation <" feature
Wolfgang Reissenberger
wolfgang at openfuture.de
Fri Aug 19 07:29:37 BST 2022
Hi Alfred,
Sorry for my late response, but KStars is still not my main profession :-)
I think we have a misunderstanding here. There are two checks about the guiding deviation:
1.) before capturing starts
2.) while capturing is running
We are currently talking only about 1.)
Currently (haven’t verified it 100%), 1.) is only executed when a new sequence (i.e. a new filter) is started. If a sequence contains more than one capture, it won’t be called before each capture starts.
I think that’s OK, since we have 2.) guarding during the entire capturing time. So if the threshold of both is equal, 1.) is not really necessary.
Conclusion: I would leave it as it is.
Does that make sense to you?
Cheers
Wolfgang
> Am 19.08.2022 um 03:07 schrieb Hy Murveit <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/144e7801/attachment.htm>
More information about the Kstars-devel
mailing list