FocusLynx | Capture called while already in progress

Wolfgang Reissenberger sterne-jaeger at openfuture.de
Thu May 7 07:16:12 BST 2020


When running EKOS autofocus with a FocusLynx focuser, the warning "Capture called while already in progress“ appears in the log file. Here is a sample.

[2020-05-06T22:06:56.629 CEST DEBG ][     org.kde.kstars.ekos.focus] - "Abs Focuser position changed to 17200"
[2020-05-06T22:06:56.674 CEST DEBG ][   org.kde.kstars.ekos.capture] - setFocusStatus:  5
[2020-05-06T22:06:56.675 CEST INFO ][     org.kde.kstars.ekos.focus] - "Capturing image..."
[2020-05-06T22:06:56.676 CEST WARN ][     org.kde.kstars.ekos.focus] - Capture called while already in progress. Capture is ignored.
[2020-05-06T22:06:56.726 CEST DEBG ][           org.kde.kstars.indi] - MI CCD G2-8300 : "[DEBUG] The Final image area is (0, 0), (3358, 2536) "
[2020-05-06T22:06:57.624 CEST DEBG ][           org.kde.kstars.indi] - MI CCD G2-8300 : "[DEBUG] Taking a 5.000 seconds frame... "
[2020-05-06T22:06:57.624 CEST DEBG ][           org.kde.kstars.indi] - MI CCD G2-8300 : "[DEBUG] Exposure in progress: Time left 5.00s "
[2020-05-06T22:06:57.663 CEST DEBG ][     org.kde.kstars.ekos.focus] - "processFocusNumber FOCUS_TEMPERATURE ERROR"
[2020-05-06T22:06:57.665 CEST DEBG ][     org.kde.kstars.ekos.focus] - "processFocusNumber ABS_FOCUS_POSITION OK"
[2020-05-06T22:06:57.665 CEST DEBG ][     org.kde.kstars.ekos.focus] - "Abs Focuser position changed to 17200"
[2020-05-06T22:06:57.673 CEST WARN ][     org.kde.kstars.ekos.focus] - Capture called while already in progress. Capture is ignored.
[2020-05-06T22:06:58.626 CEST DEBG ][           org.kde.kstars.indi] - MI CCD G2-8300 : "[DEBUG] Exposure in progress: Time left 4.00s "
[2020-05-06T22:06:58.673 CEST WARN ][     org.kde.kstars.ekos.focus] - Capture called while already in progress. Capture is ignored.
[2020-05-06T22:06:58.700 CEST DEBG ][     org.kde.kstars.ekos.focus] - "processFocusNumber FOCUS_TEMPERATURE ERROR"
[2020-05-06T22:06:58.702 CEST DEBG ][     org.kde.kstars.ekos.focus] - "processFocusNumber ABS_FOCUS_POSITION OK"
[2020-05-06T22:06:58.702 CEST DEBG ][     org.kde.kstars.ekos.focus] - "Abs Focuser position changed to 17200"

The problem seems to be that FocusLynx reports ABS_FOCUS_POSITION with every refresh, i.e. typically once a second, even if the position did not change. See 
void FocusLynxBase::TimerHit()


On the other side, the EKOS focus module tries to issue a capture() at any time it receives ABS_FOCUS_POSITION with status OK:
void Focus::processFocusNumber(INumberVectorProperty *nvp)
{
…
    if (!strcmp(nvp->name, "ABS_FOCUS_POSITION"))
    {
…
        if (canAbsMove && inAutoFocus)
        {
            autoFocusProcessPositionChange(nvp->s);
        }

where autoFocusProcessPositionChange() triggers
            QTimer::singleShot(FocusSettleTime->value() * 1000, this, &Ekos::Focus::capture);


My question here is where we should fix it. From my perspective, the behavior of FocusLynx is OK and we should capture this situation within EKOS focus.cpp

Any opinions?

Wolfgang






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kstars-devel/attachments/20200507/616c4cb7/attachment.html>


More information about the Kstars-devel mailing list