×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

Autofocus if delta Temperature seems not to work ...

  • Posts: 1119
  • Thank you received: 182
The problem must be specific to the AF3 driver. Temperature triggered refocusing works like a charm using the MoonLite driver and MyFocuserPro autofocuser.
3 years 5 months ago #60872

Please Log in or Create an account to join the conversation.

  • Posts: 80
  • Thank you received: 2
Yes i think so. I have just done some recent changes to the driver and build it localy, now let's see if this works.

CS
pmneo
3 years 5 months ago #60886

Please Log in or Create an account to join the conversation.

  • Posts: 80
  • Thank you received: 2
So, i think i have found the issue ;)

The capture module does not check the focus temp when having single filter sequences (S H O S H O) ...

I have fixed this localy in capture.cpp:
IPState Capture::resumeSequence()
{
    // If no job is active, we have to find if there are more pending jobs in the queue
    if (!activeJob)
    {
        SequenceJob * next_job = nullptr;
 
        foreach (SequenceJob * job, jobs)
        {
            if (job->getStatus() == SequenceJob::JOB_IDLE || job->getStatus() == SequenceJob::JOB_ABORTED)
            {
                next_job = job;
                break;
            }
        }
 
        if (next_job)
        {
            //check delta also when starting a new job!
            isTemperatureDeltaCheckActive = (m_AutoFocusReady && limitFocusDeltaTS->isChecked());
 
            prepareJob(next_job);
 
            //Resume guiding if it was suspended before
            //if (isAutoGuiding && currentCCD->getChip(ISD::CCDChip::GUIDE_CCD) == guideChip)
            if (guideState == GUIDE_SUSPENDED && suspendGuideOnDownload)
            {
                qCDebug(KSTARS_EKOS_CAPTURE) << "Resuming guiding...";
                emit resumeGuiding();
            }
 
            return IPS_OK;
        }
        else
        {
            qCDebug(KSTARS_EKOS_CAPTURE) << "All capture jobs complete.";
            return IPS_BUSY;
        }
    }
    // Otherwise, let's prepare for next exposure.
    else
    {
        isTemperatureDeltaCheckActive = (m_AutoFocusReady && limitFocusDeltaTS->isChecked());
 
        // If we suspended guiding due to primary chip download, resume guide chip guiding now
        if (guideState == GUIDE_SUSPENDED && suspendGuideOnDownload)
        {
            qCInfo(KSTARS_EKOS_CAPTURE) << "Resuming guiding...";
            emit resumeGuiding();
        }
 
        // If looping, we just increment the file system image count
        if (currentCCD->isLooping())
        {
            if (currentCCD->getUploadMode() != ISD::CCD::UPLOAD_LOCAL)
            {
                checkSeqBoundary(activeJob->getSignature());
                currentCCD->setNextSequenceID(nextSequenceID);
            }
        }
        // otherwise we loop starting the next exposure until all pending
        // jobs are completed
        else
            checkNextExposure();
    }
 
    return IPS_OK;
}

And now i can see in the log:
[2020-09-30T21:46:55.844 CEST DEBG ][   org.kde.kstars.ekos.capture] - Focus temperature delta (°C):  0 . Requested maximum delta (°C):  1

But in the scheduler seems to be broken in the current nightly :P
Last edit: 3 years 5 months ago by Philip Mair.
3 years 5 months ago #60892

Please Log in or Create an account to join the conversation.

  • Posts: 398
  • Thank you received: 117
It is possible that your temperature sensor isn't fully supported yet (driver). Your earlier posted logs may be picking up the temperature via the weather temperature reading (which was added to the focus module to support focus analysis logging). The change did not get factored into the delta-T code update as I recall. This might explain your logs saying that there's no focuser temperature sensor.

See this post for a bit more background (note that the code was changed after the post...so the log outputs are a bit different now).
www.indilib.org/forum/ekos/6901-how-does...erature.html?start=0
3 years 5 months ago #60896

Please Log in or Create an account to join the conversation.

  • Posts: 80
  • Thank you received: 2
Hey, no it is _not_ a driver issue. It is a bug with single frame captures. I have fixed this localy and created a pull request in github: github.com/KDE/kstars/pull/24

CS
pmneo
3 years 5 months ago #60897

Please Log in or Create an account to join the conversation.

  • Posts: 108
  • Thank you received: 20
  • Posts: 1119
  • Thank you received: 182

It did work fine, though, with the MoonLite focuser. Are you sure this is not going to cause any regressions?
3 years 5 months ago #60899

Please Log in or Create an account to join the conversation.

  • Posts: 80
  • Thank you received: 2
You need at least one capture sequence with 2 Frames in a row to get the boolean isTemperatureDeltaCheckActive become true.

In my case the Capture group was 1 Frame Ha, 1 Frame Oiii, 1 Frame Sii, 1 Frame Ha, and so on.

Because of this, the isTemperatureDeltaCheckActive will never be set to true and the focus delta is not checked. Maybe it is enought to start with two short captures, f.e. L-L-S-H-O-S-H-O-S-H-O becuase the isTemperatureDeltaCheckActive will be only resetted when you uncheck the checkbox.

The only "driver" issue that may be changed is that the driver debounces the temp updates by 0.5° of temp change, but this is also done by myfocuserpro2 ...

CS
3 years 5 months ago #60914

Please Log in or Create an account to join the conversation.

Time to create page: 0.667 seconds