Beispiel #1
0
void SequenceJob::setFilterPostFocusReady(bool value)
{
    filterPostFocusReady = value;

    if (filterPostFocusReady && filterReady && temperatureReady && (status == JOB_IDLE || status == JOB_ABORTED))
        emit prepareComplete();
}
Beispiel #2
0
void SequenceJob::setCurrentTemperature(double value)
{
    currentTemperature = value;

    if (enforceTemperature == false || fabs(targetTemperature - currentTemperature) <= Options::maxTemperatureDiff())
        temperatureReady = true;

    if (filterReady && temperatureReady && filterPostFocusReady && (status == JOB_IDLE || status == JOB_ABORTED))
        emit prepareComplete();
}
Beispiel #3
0
void SequenceJob::prepareCapture()
{
    prepareReady=false;

    activeChip->setBatchMode(!preview);

    activeCCD->setFITSDir(fitsDir);

    activeCCD->setISOMode(timeStampPrefixEnabled);

    activeCCD->setSeqPrefix(fullPrefix);

    activeCCD->setUploadMode(uploadMode);

    if (activeChip->isBatchMode())
        activeCCD->updateUploadSettings(remoteDir);

    if (isoIndex != -1)
    {
        if (isoIndex != activeChip->getISOIndex())
             activeChip->setISOIndex(isoIndex);
    }

    if (frameType == FRAME_DARK || frameType == FRAME_BIAS)
        filterReady = true;
    else if (targetFilter != -1 && activeFilter != NULL)
    {
        if (targetFilter == currentFilter)
            filterReady = true;
        else
        {
            filterReady = false;

            // Post Focus on Filter change. If frame is NOT light, then we do not perform autofocusing on filter change
            filterPostFocusReady = (!Options::autoFocusOnFilterChange() || frameType != FRAME_LIGHT);

            activeFilter->runCommand(INDI_SET_FILTER, &targetFilter);
        }
    }

    if (enforceTemperature && fabs(targetTemperature - currentTemperature) > Options::maxTemperatureDiff())
    {
        temperatureReady = false;
        activeCCD->setTemperature(targetTemperature);
    }

    if (prepareReady == false && temperatureReady && filterReady)
    {
        prepareReady = true;
        emit prepareComplete();
    }

}
Beispiel #4
0
void SequenceJob::setCurrentFilter(int value)
{
    currentFilter = value;

    if (currentFilter == targetFilter)
        filterReady = true;

    if (filterReady && temperatureReady && filterPostFocusReady && (status == JOB_IDLE || status == JOB_ABORTED))
        emit prepareComplete();
    else if (filterReady && filterPostFocusReady == false)
        emit checkFocus();
}
Beispiel #5
0
void SequenceJob::prepareCapture()
{
    activeChip->setBatchMode(!preview);

    activeCCD->setFITSDir(fitsDir);

    activeCCD->setISOMode(timeStampPrefixEnabled);

    activeCCD->setSeqPrefix(fullPrefix);

    if (activeChip->isBatchMode())
        activeCCD->updateUploadSettings();

    if (isoIndex != -1)
    {
        if (isoIndex != activeChip->getISOIndex())
             activeChip->setISOIndex(isoIndex);
    }

    if (targetFilter != -1 && activeFilter != NULL)
    {
        if (targetFilter == currentFilter)
            //emit prepareComplete();
            filterReady = true;
        else
        {
            filterReady = false;

            // Post Focus on Filter change
            filterPostFocusReady = !Options::autoFocusOnFilterChange();

            activeFilter->runCommand(INDI_SET_FILTER, &targetFilter);
        }
    }


    if (enforceTemperature && targetTemperature != currentTemperature)
    {
        temperatureReady = false;
        activeCCD->setTemperature(targetTemperature);
    }

    if (temperatureReady && filterReady)
        emit prepareComplete();

}