Meridian Flip Failure with new 10Micron ASCOM Driver

So, I have installed ASCOM 6.5SP1. I installed the new 10Micron ASCOM driver 1.6 that supports side of pier two days ago.

Since then, automated meridian flips in SGP fail systematically. They had worked flawlessly before. SGP reports the following when it tries to do the flip from west to east, essentially saying that the mount reports that it is already on the east side.

Any thoughts? In the mean time, I will revert to the prior ASCOM driver.

This may be a 10Micron driver issue, an I have asked about it on their forums, but thought I would check here, too.

[12/06/20 19:50:59.208][DEBUG][Sequence Thread][SQ;] Sending Notification: Status - Running automatic pier flip…
[12/06/20 19:50:59.268][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Starting Meridian Flip Procedure
[12/06/20 19:50:59.271][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Skipping Solve
[12/06/20 19:50:59.272][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Stopping the Auto Guider
[12/06/20 19:50:59.273][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Sending Telescope command to execute meridian flip
[12/06/20 19:50:59.668][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: Pier side is West
[12/06/20 19:50:59.668][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: attempting pier flip using sideOfPier
[12/06/20 19:51:00.851][DEBUG][Telescope Thread][SQ;MF;] Setting Pier East
[12/06/20 19:51:01.088][DEBUG][Telescope Thread][SQ;MF;] Pier Flip failed when using side of pier: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.Runtime.InteropServices.COMException: Can’t flip mount here
— End of inner exception stack trace —
at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, CultureInfo culture)
at ASCOM.DriverAccess.MemberFactory.CallMember(Int32 memberCode, String memberName, Type[] parameterTypes, Object[] parms) in C:\ASCOM Build\Export\ASCOM.DriverAccess\MemberFactory.cs:line 330
[12/06/20 19:51:31.914][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: Failed to flip because starting pier side and ending pier side are the same!

As an update, I reverted the 10Micron mount ASCOM driver to the prior version (1.5) and Meridian flips now work flawlessly.

Hi,
I’m suffering exactly the same problem. The meridian flip works at the start of the evening but fails later with the side of pier message.

There must be something wrong in your settings, i run 10 Micron Ascom driver 1.6.0.0 with Ascom 6.5 SP1 without problems in a remote setup, it has worked flawlessly for many nights now.

Can we ask what your settings are?

Okay. I am trying hard to solve this problem, so that I can upgrade to the 1.6 driver for 10Micron.

I have tried various combinations of settings. Currently, in SGP, I have Auto Meridian Flip set to on, and it is set to flip 4 minutes after the meridian. I have not selected Wait for Meridian.

On the mount (firmware v3.0.7), Flip Slew tolerance is set to 4 degrees, flip guide tolerance is set to 5 degrees.

I have tried connecting SGP directly to the mount, and also connecting it through ASCOM Device hub (largely because that latter allows me to trace what is being sent to the mount by the driver, and what the driver is getting back). Excerpts for the relevant time period for both the SGP and ASCOM logs are below.

When the time comes, SGP initiates the flip correctly. The mount actually does perform the flip. I’ve watched it happen half a dozen times on as many different targets. However, for whatever reason, SGP thinks the flip has failed.

The SGP logs are, as usual, quite clear, and one can see the flip be initiated and actually trace that into the ASCOM telescope logs. It looks like SGP thinks the scope has changed side and stopped slewing a 10th of a second later. After the 5 second post flip settle I have selected (the scope is still physically moving because it takes more than 5 seconds to flip), it tests side of pier again, gets back West this time, and declares a failure. Again - the scope does actually change sides, but needs more time to do so.

When I look at the logs recorded by ASCOM device hub, there is some bizzare behavior, with multiple GetSideofPier queries to the mount in a row, followed by a SetSideofPier to initiate the flip, followed by a GetSideofPier 1/1000th of a second later that reports the side has changed (from west to east). The mount has clearly not had time to flip sides yet, but another GetSideofPier three seconds later reports that the side of pier is east. 2/10ths of a second later, GetSideofPier reports West, and it continues to do so there after. Even though I can see with my eyes that the mount has changed sides.

Something seems broken in the communications here. It seems like the mount is somehow conmmunicating to SGP that it has finished slewing for the meridian flip when in fact it has not, which is causing everything to fail.

Any ideas would be most welcome.

SGP LOG

[10/25/21 16:20:18.950][DEBUG][Sequence Thread][SQ;] Checking if Meridian Flip is needed
[10/25/21 16:20:18.950][DEBUG][Sequence Thread][SQ;] Telescope is on the West side of the mount
[10/25/21 16:20:18.951][DEBUG][Sequence Thread][SQ;] Meridian Flip needed, Hour Angle >= Degrees Past To Flip: 1.90807230875555 >= 1
[10/25/21 16:20:18.951][DEBUG][Sequence Thread][SQ;] Running blocking meridian flip…
[10/25/21 16:20:18.951][DEBUG][Main Thread][SQ;] Adding sequence level notification: Running automatic pier flip…
[10/25/21 16:20:19.026][DEBUG][Sequence Thread][SQ;] Sending Notification: Status - Running automatic pier flip…
[10/25/21 16:20:19.026][DEBUG][Sequence Thread][SQ;] Handling monitoring event (Email 1, Status): (TOA150 Fall 2021) Running automatic pier flip…
[10/25/21 16:20:19.092][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Starting Meridian Flip Procedure
[10/25/21 16:20:19.094][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Skipping Solve
[10/25/21 16:20:19.095][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Stopping the Auto Guider
[10/25/21 16:20:19.095][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Sending Telescope command to execute meridian flip
[10/25/21 16:20:19.103][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: Pier side is West
[10/25/21 16:20:19.103][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: attempting pier flip using sideOfPier
[10/25/21 16:20:19.105][DEBUG][Telescope Thread][SQ;MF;] Setting Pier East
[10/25/21 16:20:19.297][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: Waiting until pier side changes…
[10/25/21 16:20:20.298][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: Side of pier changed, waiting for scope to report it’s done slewing…
[10/25/21 16:20:20.399][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: Scope to reports it’s done slewing…
[10/25/21 16:20:20.399][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: Settling scope 5 seconds…
[10/25/21 16:20:25.399][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: Pier side is West
[10/25/21 16:20:25.900][DEBUG][Telescope Thread][SQ;MF;] ASCOM Telescope: Failed to flip because starting pier side and ending pier side are the same!
[10/25/21 16:20:26.401][DEBUG][Telescope Thread][SQ;MF;] Telescope thread is IDLE…
[10/25/21 16:20:26.450][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Telescope command to meridian flip has completed
[10/25/21 16:20:26.464][DEBUG][Pier Flip Thread][SQ;MF;] Meridian Flip: Telescope failed to perform meridian flip
[10/25/21 16:20:31.090][DEBUG][Main Thread][SQ;] Adding sequence level notification: Failed to complete automatic meridian flip, aborting sequence!
[10/25/21 16:20:31.188][DEBUG][Sequence Thread][SQ;] Sending Notification: Error - Failed to complete automatic meridian flip, aborting sequence!
[10/25/21 16:20:31.188][DEBUG][Sequence Thread][SQ;] Handling monitoring event (Email 1, Error): (TOA150 Fall 2021) Failed to complete automatic meridian flip, aborting sequence!
[10/25/21 16:20:31.263][DEBUG][Pier Flip Thread][SQ;] Meridian Flip: Procedure complete
[10/25/21 16:20:46.341][DEBUG][Sequence Thread][SQ;] Blocking Pier Flip: Failed to meridian flip, aborting sequence (True)
[10/25/21 16:20:46.341][DEBUG][Sequence Thread][SQ;] Aborting sequence: Failed to meridian flip
[10/25/21 16:20:46.341][DEBUG][Sequence Thread][SQ;] Set sequence abort

ASCOM Device Hub Logs

16:20:19.102 Get SideOfPier: pierWest (done)
16:20:19.103 Get SideOfPier: pierWest (done)
16:20:19.103 Get CanSlewAsync: True (done)
16:20:19.103 Get RightAscension: 17:35:33 (done)
16:20:19.103 Get Declination: 60[B0] 47’ 04" (done)
16:20:19.104 Get Altitude: 70[B0] 16’ 41" (done)
16:20:19.104 Get Azimuth: 357[B0] 13’ 10" (done)
16:20:19.104 Get SiderealTime: 17.72083 (done)
16:20:19.104 Get SideOfPier: pierWest (done)
16:20:19.105 Get SideOfPier: pierWest (done)
16:20:19.105 Get SideOfPier: pierWest (done)
16:20:19.297 Set SideOfPier: pierEast (done)
16:20:20.298 Get SideOfPier: pierEast (done)
16:20:20.317 Get Connected: True
16:20:20.317 Get AtPark: False (done)
16:20:20.317 Get Tracking: True (done)
16:20:20.399 Get Slewing: False (done)
16:20:22.165 Get CanSlewAsync: True (done)
16:20:22.165 Get RightAscension: 17:35:33 (done)
16:20:22.166 Get Declination: 60[B0] 47’ 04" (done)
16:20:22.166 Get Altitude: 70[B0] 16’ 41" (done)
16:20:22.166 Get Azimuth: 357[B0] 13’ 10" (done)
16:20:22.166 Get SiderealTime: 17.72083 (done)
16:20:22.166 Get SideOfPier: pierEast (done)
16:20:22.787 Get Connected: True
16:20:25.399 Get SideOfPier: pierWest (done)
16:20:25.900 Get SideOfPier: pierWest (done)
16:20:27.240 Get CanSlewAsync: True (done)
16:20:27.240 Get RightAscension: 20:34:33 (done)
16:20:27.240 Get Declination: 75[B0] 03’ 48" (done)
16:20:27.241 Get Altitude: 52[B0] 01’ 50" (done)
16:20:27.241 Get Azimuth: 14[B0] 55’ 51" (done)
16:20:27.241 Get SiderealTime: 17.72280 (done)
16:20:27.241 Get SideOfPier: pierWest (done)
16:20:30.320 Get Connected: True
16:20:30.320 Get AtPark: False (done)
16:20:30.320 Get Tracking: True (done)
16:20:32.245 Get CanSlewAsync: True (done)
16:20:32.246 Get RightAscension: 22:46:24 (done)
16:20:32.246 Get Declination: 87[B0] 55’ 32" (done)
16:20:32.246 Get Altitude: 41[B0] 31’ 52" (done)
16:20:32.247 Get Azimuth: 02[B0] 42’ 14" (done)
16:20:32.247 Get SiderealTime: 17.72418 (done)
16:20:32.247 Get SideOfPier: pierEast (done)
16:20:32.790 Get Connected: True
16:20:37.273 Get CanSlewAsync: True (done)
16:20:37.273 Get RightAscension: 14:21:06 (done)
16:20:37.274 Get Declination: 78[B0] 16’ 15" (done)
16:20:37.274 Get Altitude: 46[B0] 50’ 51" (done)
16:20:37.274 Get Azimuth: 346[B0] 10’ 27" (done)
16:20:37.274 Get SiderealTime: 17.72552 (done)
16:20:37.275 Get SideOfPier: pierEast (done)

Reporting back after testing. I am using the most recent version of SGP, the 1.6 ASCOM driver from 10Micron. Flip Slew Tolerance at 2, Flip guide tolerance at 3. Auto Meridian flip is on in SGP and set to 4 minutes after the meridian. I have selected the wait for the meridian option in SGP.

I have now run several sequences with multiple meridian flips in each, all successfully. They key was to set the settle time after the flip to longer than it takes the mount to physically flip. My setting is 45 seconds. If I make it 5 seconds, the flip fails every time. It appears that SGP is polling the mount for whether the pier side has changed (Get SideofPier) immediately after giving the Set SideOfPier: PierEast command, and strangely, per the ASCOM Device Hub logs, the mount is responding with a "ye"s answer PierEast when it has only begun to move. SGP also tests whether the mount is still slewing (GetSlewing, and gets back a False - again an incorrect answer, as the mount is actively moving at this point). SGP starts the settle clock immediately upon receiving this confirmation that the pierside is now east and the mount is no longer slewing (while the mount is in fact still physically slewing), and then tests the pier side again as soon as the settle clock has passed. Since the mount has not finished slewing, SGP gets back a (this time accurate) response that the mount is still on the West, and SGP determines that the meridian flip has failed.

Something seems wrong with the mount’s initial response to the inquiry as to whether the pier side has changed that SGP initiates immediately after giving the Set SideOfPier East command. Something also seems wrong with the mount’s initial report back that it is not slewing while it is in the middle of physically executing the meridian flip. I’m not sure if SGP is asking the questions incorrectly or if the mount is answering them incorrectly, but needing to solve this problem by manually configuring a delay to SGP asking the mount if it has finished flipping means something has not been executed properly in software.

On the bright side, this extremely annoying problem appears to be “solved” from a practical perspective for now…

It’s debatable if the SideOfPier should have changed so quickly…either way SGP will still block until the slewing is back to false. The slewing portion certainly seems incorrect as the mount is actually moving. Maybe they don’t consider a meridian flip a slew? I’m not really sure but those 2 fields are the only way we can know what the state of the meridian flip is.

Glad you have a work around!

Jared

Thanks much for getting back to me I agree, it seems pretty clear that the 10Micron ASCOM driver has a glitch. I wondered the same thing about a Meridian Flip not registering as a slew, and have asked 10Micron directly. They have recognized that they have a bug in their ASCOM driver and say they will get back to me when they get it run down. Sadly, this isn’t the only bug. Its strange – their hardware is amazing, but they have struggled with the software recently.

It looks to be a weird coincidence, but given its also a meridian flip problem, the other big premium Italian manufacturer, Avalon is also having issues around pier flips on the latest drivers. Posting it here (already its own thread), in case there’s a SGP coding problem, or wondering if something in the ascom definitions got mucked up some how in translation to Italian?

It is quite possible they use the same external agency for ASCOM drivers, as SoftwareBisque and SkyWatcher did, who are much larger companies.