Open wannabecoffeenerd opened 2 months ago
Tested with my mount and a camera simulator. The timer works and the callback trigger is invoked at the right time, but I'm seeing an error with the slew:
20:00:34.812 Scripting Agent @ indigosky: Suspended for 5 seconds
20:00:34.813 Scripting Agent @ indigosky: Sequence started
20:00:40.070 Scripting Agent @ indigosky: capturing frames
20:00:40.080 Imager Agent @ indigosky: Batch started
20:00:40.087 Scripting Agent @ indigosky: Meridian flip waits for transit
20:00:40.087 Imager Agent @ indigosky: Batch paused, transit in 0:07:18.32
20:00:40.148 Scripting Agent @ indigosky: Meridian flip timer set for 496.2566045147729 seconds
20:08:56.683 Scripting Agent @ indigosky: Meridian flip started
20:08:56.684 Scripting Agent @ indigosky: Setting slew flag
20:08:56.684 Scripting Agent @ indigosky: Starting slew
20:08:56.684 Scripting Agent @ indigosky: Cancelling transit timer
20:08:56.687 Scripting Agent @ indigosky: Unsetting transit timer flag
20:08:56.707 Mount Agent @ indigosky.MOUNT_EQUATORIAL_COORDINATES: Slew failed
20:08:56.718 Scripting Agent @ indigosky: Meridian flip failed (due to slew failure)
20:08:56.720 Scripting Agent @ indigosky: Sequence aborted
20:08:56.721 Imager Agent @ indigosky: Batch aborted
Just got the meridian flip working with this sequence capture script:
var sequence = new Sequence();
sequence.wait(5);
sequence.sync_center(10);
sequence.enable_dithering(2, 30, 0);
sequence.enable_meridian_flip(true, -0.05);
sequence.set_directory("/home/indigo/shared");
sequence.send_message("capturing frames");
sequence.capture_batch("test", 10, 300);
sequence.send_message("capturing done");
sequence.disable_cooler();
sequence.park();
sequence.start();
and following this testing protocol:
In AT, select a star (any) just left of the meridian and slew there (HA must still be under 23:59). Next, lookup Rosette and select it, but do not slew there (this were the plate solve of the preview will sync to) Execute script! Wait for the HA to be past 00:00...
However, now I get this error:
20:39:23.506 Astrometry Agent @ indigosky: Slew failed
But I've seen this error even when doing a manual meridian flip, probably because my mount's slew rate is too slow (3 degrees/s). Is there a way I can increase the value of this slew timeout?
The above "Slew failed" error is probably due to this issue: https://github.com/indigo-astronomy/indigo/issues/564
Just got the meridian flip working with this sequence capture script:
var sequence = new Sequence(); sequence.wait(5); sequence.sync_center(10); sequence.enable_dithering(2, 30, 0); sequence.enable_meridian_flip(true, -0.05); sequence.set_directory("/home/indigo/shared"); sequence.send_message("capturing frames"); sequence.capture_batch("test", 10, 300); sequence.send_message("capturing done"); sequence.disable_cooler(); sequence.park(); sequence.start();
and following this testing protocol:
In AT, select a star (any) just left of the meridian and slew there (HA must still be under 23:59). Next, lookup Rosette and select it, but do not slew there (this were the plate solve of the preview will sync to) Execute script! Wait for the HA to be past 00:00...
However, now I get this error:
20:39:23.506 Astrometry Agent @ indigosky: Slew failed
But I've seen this error even when doing a manual meridian flip, probably because my mount's slew rate is too slow (3 degrees/s). Is there a way I can increase the value of this slew timeout?
Exactly, this is how it is intended to work in case you can't really wait till transit for some reason
The above "Slew failed" error is probably due to this issue: #564
Yep
I have an OnStep based mount which doesn't track beyond the meridian. As a result, the current check in
Sequencer.js
for hour angle > 12 never gets triggered for the meridian flip since my mount stops tracking usually ~1 min before transit.As a solution to this, I implemented a timer based solution to wait for the target to cross the meridian rather than the mount crossing the meridian. This way, the mount can stop tracking before the meridian and then issue a precise goto after the target crosses the meridian.
TODO: