Skip to content
  • Eric Dejouhanet's avatar
    Fixes for the Scheduler and Capture modules · b7e3810b
    Eric Dejouhanet authored and Jasem Mutlaq's avatar Jasem Mutlaq committed
    Summary:
    - Adds a type for the captured frame map.
    - Updates captured frames map when a capture completes.
    - Removes use of general variables and prefer activeJob whenever possible in the capture module.
    - Fixes the issue with duplicated scheduler jobs using duplicated sequence jobs. (Issue was in the duration estimation, which was not properly consolidating captured frames for single scheduler jobs.)
    - Fixes evaluation of Hour Angle when checking meridian flip in the case DEC is +/-90 degrees (undefined HA).
    - Fixes unexpected slew when repeating a scheduler job with no pipeline step checked.
    - Fixes dbus error management, reworks function unParkMount to clarify state.
    - Fixes park/unpark looping in unparked/parked state, reworks checkMountParkingStatus.
    - Fixes capture progress at 100% at the beginning of capture.
    - Fixes incoherent use of target prefix in the capture path.
    - Adds a message in the Capture module when a capture aborts.
    - Fixes signature management when an hardcoded prefix is used in the sequence.
    - Updates duplicate job warning, incorrect when two different sequences have the same storage.
    - Fixes no-step job looping on altitude check.
    - Fixes update of captured frames map for sequence jobs already complete.
    
    There are no additional abort detections, so Scheduler may still get stuck if the error doesn't come up at its level. A later change will introduce timeouts for Scheduler steps.
    
    Test Plan:
    Use as many tests vectors as possible, in various configurations.
    - simple_test tested OK
    - simple_test_no_twilight tested OK
    - duplicated_scheduler_jobs_no_twilight tested OK
    - duplicated_scheduler_jobs_duplicated_sequence_jobs_no_twilight tested OK
    - complex_job tested OK, but there is a bug remaining on guiding deviation
    
    Message "Manual scheduled focusing is not supported" is still annoying when running test vectors in sequence, to be investigated and eventually removed very soon.
    
    Image count update in the Scheduler is still an issue, and is probably not just picking a signal and increasing a count.
    
    There is a spurious folder created with the name of the capture prefix. This is a regression from the signature fix for the prefix issue. Fairly minimal, but not professional.
    
    Guider is doing weird things when used with the simulator. It detects offset on the guide star although the simulator always produce the same image, only noise is different from frame to frame, and this seems to cause issues with drift calculation. Or the settings of my guider page are completely off... However, the guider is able to produce a guiding deviation that exceeds the bounds acceptable for exposure, and capture suspends.
    Now this is still an issue in the last differential: capture module suspends for 60 seconds waiting for the guider, guider never really asserts return to bounds, and capture module never asserts the suspend timer neither. Ooof.
    
    To get a guiding abort with the simulator in a development VM, pause the VM for a few minutes or hours.
    This will cause a large instant deviation that will abort the guiding procedure.
    This currently causes the Scheduler to properly abort, but then loop indefinitely without succeeding in restarting its jobs.
    
    Reviewers: mutlaqja, wreissenberger
    
    Reviewed By: mutlaqja
    
    Subscribers: kde-edu
    
    Tags: #kde_edu
    
    Differential Revision: https://phabricator.kde.org/D14684
    b7e3810b