Kevin Ross replied to the topic '"Error: No connection to the internet" when plate solving' in the forum. 2 months ago

Just curious, but is that networkAccessible() check necessary? Could it be removed, and let the code fail normally if there's no network connection?

Read More...

Kevin Ross replied to the topic 'Lost star when dithering causes capture module to hang' in the forum. 2 months ago

Yes I noticed the same thing. Sometimes that first correction after dithering is a big one, and it does affect the image.

Read More...

Kevin Ross replied to the topic 'Lost star when dithering causes capture module to hang' in the forum. 3 months ago

Well, here's the commit messge:

commit 6e4d0c918463b34bc3dc202a1ef28432c08de4fd
Author: Jasem Mutlaq <This email address is being protected from spambots. You need JavaScript enabled to view it.>
Date: Mon Jun 25 20:46:45 2018 +0300

Fix random dithering not being not so random, plus limit it to 25 pixels box

So it was committed Jun 25, at 20:46 +0300. Was your build built before or after that?

Read More...

Kevin Ross replied to the topic 'Lost star when dithering causes capture module to hang' in the forum. 3 months ago

Herrhausen wrote: What strikes me is the factt that not only goes dithering in one and the same direction during a job. It appears to remain the same during the whole night.


That's quite odd, since for me with 10 pixel dithering it does move in a different direction each time.

Read More...

Kevin Ross replied to the topic 'Lost star when dithering causes capture module to hang' in the forum. 3 months ago

Sounds like a plan! :)

Read More...

Kevin Ross replied to the topic 'Lost star when dithering causes capture module to hang' in the forum. 3 months ago

So reading the code a little more carefully...

    bool sendPulses = true;

    // If within 90% of max pulse repeatedly, let's abort
    if (out->pulse_length[GUIDE_RA] >= (0.95 * Options::rAMaximumPulse()) ||
        out->pulse_length[GUIDE_DEC] >= (0.95 * Options::dECMaximumPulse()))
    {
        sendPulses = false;
        m_highPulseCounter++;
    }
    else
        m_highPulseCounter=0;

    if (m_starLostCounter+m_highPulseCounter > 3)
    {
        qCDebug(KSTARS_EKOS_GUIDE) << "m_starLostCounter" << m_starLostCounter
                                   << "m_highPulseCounter" << m_highPulseCounter;
        emit newLog(i18n("Lost track of the guide star. Searching for guide stars..."));

        reacquireTimer.start();
        rememberState = state;
        state = GUIDE_REACQUIRE;
        emit newStatus(state);
        return true;
    }

    if (sendPulses)
    {
        emit newPulse(out->pulse_dir[GUIDE_RA] , out->pulse_length[GUIDE_RA],
                      out->pulse_dir[GUIDE_DEC], out->pulse_length[GUIDE_DEC]);

        // Wait until pulse is over before capturing an image
        const int waitMS = qMax(out->pulse_length[GUIDE_RA], out->pulse_length[GUIDE_DEC]);
        // If less than 250ms, then capture immediately
        if (waitMS > 250)
            // Issue frame requests 50ms before timeout to account for
            // propogation delays
            QTimer::singleShot(waitMS - 50, [&]() {emit frameCaptureRequested();});
        else
            emit frameCaptureRequested();
    }
    else
        emit frameCaptureRequested();

It looks to me that the very first time it tries to move more than the max pulse limit, it sets sendPulses = false. Later down, if sendPulses is false, it will request a frame immediately, without sending a guide pulse. Then the next time it comes through here, it will do the same, try to move 5000ms, hit that limit, sendPulses=false again, immediately request a new frame, etc. Until the m_highPulse counter hits its limit, and it finally aborts. Looks like the reason it worked the first time is because it only tried to move 4628ms out of 5000, so it didn't hit that limit.

So it looks like the error is the sendPulses boolean itself. Looks like it isn't needed at all. Just increment the counter. Then in the next if statement, when it checks the counter, if it's over, then try to reacquire. Otherwise, fall through and send the guide pulse. Get rid if the if(sendPulses) check altogether.

But this is just a laypersons view, of course. I'm not intimately familiar with this like you are. :)

Read More...

Kevin Ross replied to the topic 'Lost star when dithering causes capture module to hang' in the forum. 3 months ago

Sure do. But I suspect the counter wasn't getting set back to 0 after a successful dither, since the first one succeeded, then the second one immediately failed.

Attached is the log.

Read More...

Kevin Ross replied to the topic 'Lost star when dithering causes capture module to hang' in the forum. 3 months ago

Even though you didn't respond to this post, I saw in Git you committed a change that addresses this. I pulled the latest and built it. Long story short, I had success. But not at first. :)

Setting the dithering to 10 pixels works fine the first time through, then the second time it starts dithering, then fails immediately saying it lost track of the guide star. Watching the window, I see the star didn't move hardly at all. Snooping though the code, I believe I ran up against this limit in the processGuiding() function:

// If within 90% of max pulse repeatedly, let's abort
if (out->pulse_length[GUIDE_RA] >= (0.95 * Options::rAMaximumPulse()) ||
out->pulse_length[GUIDE_DEC] >= (0.95 * Options::dECMaximumPulse()))
{
sendPulses = false;
m_highPulseCounter++;
}
else
m_highPulseCounter=0;

So that gave me the idea to adjust the maximum pulse to the maximum allowed by law, 9999. That, plus your fixes, seems to have done the trick. I'm writing this now while it is happily imaging and dithering.

Thanks!
-- Kevin

Read More...

Kevin Ross replied to the topic 'Announcing Ekos Live' in the forum. 3 months ago

This looks great. But a question. Does it have to be cloud based? Can it be hosted directly on the Raspberry Pi, for example? Put the Pi in hotspot mode, and my phone or tablet can connect to the Pi when I'm out in the middle of nowhere with no Internet access.

Read More...

Kevin Ross replied to the topic 'Lost star when dithering causes capture module to hang' in the forum. 3 months ago

Is it possible the eqmod driver rejects large guide pulses? Is there an internal limit or anything like that? Would explain why smaller dithers seem to move the mount just fine, but larger ones and the scope doesn't move.

I could probably also try guiding via ST4 instead of via eqmod, if you think that would make a difference. But as I said, it will have to wait for a few days.

Thanks!
-- Kevin

Read More...

Login



3rd Party

Choose from the numerous 3rd party INDI drivers to suit your needs!

Got Problem?

Check out the FAQ, the forum, and the bug tracking system to resolve any issues you might have!
You can also subscribe to INDI newsletter and development mailing lists to get the latest updates on INDI!