I would absolutely NOT rely on ‘atPark’ to suggest the dome is parked. The ascom spec does have a park method, but, it does NOT have an unpark. This is a problem for trying to make an intelligent dome driver, because it’s vastly different than a mount where one expects the mount to throw an exception if it’s given a slew command when parked. Any slew commands to a dome will inherently move it away from the park position, and it cannot throw an exception to say ‘this is an error, i am parked’ because, there is no other way to ‘unpark’ it.
Even if this has been changed since I grabbed the spec and wrote the current driver, it’s the kind of change that’ll break all sorts of older software, so, I wont change the driver to honor park as a place to ‘stay parked’.
the AtHome return will return true any time the sensor is detecting home postion. Likewise, I would expect the AtPark to return true any time the dome is at the park postion. There really is no difference in getting there from a park command, or a slew command. Consider this scenario. Dome is sent to the park position by a valid slew command while tracking, and stops at the park position. Now for whatever reason, computer is restarted without restarting dome hardware. When the computer re-connects after drivers are re-initialized, the dome will be at the park postion, therefore it SHOULD return true for AtPark, as there is no way of knowing if it got there from a slew, or from a park command in the last session.
The worst case scenario for this, home and park are the same place. Dome ‘wakes up’ at the home postion, so, AtHoome must be true. There has been no park command issued, but, since we are at the home position, and it is the park position, then AtPark should also be true.
If ascom had a specific ‘unpark’ for the dome, this would be different and it could be done the way it should be done, once parked it stays there till unparked, but a driver has to assume it’s never truely parked because it cant be unparked. The only way to deal with this that follows everything, is to treat AtPark and AtHome essentially the same, return true any time the dome is at the position in question.