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