<table><tr><td style="">wreissenberger created this revision.<br />wreissenberger added reviewers: mutlaqja, TallFurryMan.<br />Herald added a project: KDE Edu.<br />Herald added a subscriber: kde-edu.<br />wreissenberger requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D19528">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>In the current implementation it could happen, that guiding problems bring the Scheduler and the Capture module out of sync. If capturing is suspended, a subsequent guiding error remains undetected. As a consequence, capturing remains suspended and guiding will not be restarted.</p>

<p>This situation is not untypical during a night with high cirrus that occasionally disturb guiding. First they lead to guiding deviations and from time to time to lost guiding stars. In such nights it could happen, that a single cirrus cloud interrupts the entire capturing.</p>

<p>In order to cover this, the behaviour of Capture and Scheduler is changed:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Aborted guiding leads to aborted capturing even when capturing is already suspended.</li>
<li class="remarkup-list-item">Repeated guiding problems lead to jobs being aborted, not to be marked with errors.</li>
<li class="remarkup-list-item">In order to avoid aborted jobs to be immediately restarted, the scheduler considers aborted jobs for restart, if all potentially executable jobs have been aborted.</li>
</ul>

<p>Additionally, two other weaknesses have been resolved:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Removed restarting aborted capture when guiding resumes, since it conflicts with the Scheduler.</li>
<li class="remarkup-list-item">In the PHD2 adapter, connectEquipment() may be called arbirtrarily often when equipment is connected.</li>
</ul></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">Create a schedule with at least two schedules, that may both be executed and start the scheduler with guiding enabled. The schedules should use an imaging plan with a narrow guiding deviation set (i.e. 1 arcsec)</li>
<li class="remarkup-list-item">Change the guiding parameters such that guiding is bad and creates a guiding deviation above the limit.</li>
<li class="remarkup-list-item">Interrupt the guiding.</li>
<li class="remarkup-list-item">The scheduler should restart now guiding and then capturing.</li>
<li class="remarkup-list-item">Interrupt the guiding for another 4 times.</li>
<li class="remarkup-list-item">After the last interruption, the scheduler should set the schedule to ABORT ad take the next schedule.</li>
<li class="remarkup-list-item">After 5 guiding interruptions, the second schedule should be set to ABORT.</li>
<li class="remarkup-list-item">When all schedules are ABORTed, one they should all be set to SCHEDULED and one of them being restarted.</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R321 KStars</div></div></div><br /><div><strong>BRANCH</strong><div><div>EKOS/robust_guiding</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D19528">https://phabricator.kde.org/D19528</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>kstars/ekos/capture/capture.cpp<br />
kstars/ekos/capture/capture.h<br />
kstars/ekos/guide/externalguide/phd2.cpp<br />
kstars/ekos/scheduler/scheduler.cpp</div></div></div><br /><div><strong>To: </strong>wreissenberger, mutlaqja, TallFurryMan<br /><strong>Cc: </strong>kde-edu, narvaez, apol<br /></div>