diff --git a/drivers/telescope/lx200ap_experimental.cpp b/drivers/telescope/lx200ap_experimental.cpp index 05e607bf..f2aa0678 100644 --- a/drivers/telescope/lx200ap_experimental.cpp +++ b/drivers/telescope/lx200ap_experimental.cpp @@ -242,10 +242,10 @@ bool LX200AstroPhysicsExperimental::updateProperties() { double parkAz, parkAlt; - if (calcParkPosition(parkPos, &parkAz, &parkAlt)) + if (calcParkPosition(parkPos, &parkAlt, &parkAz)) { - SetAxis1Park(parkAlt); - SetAxis2Park(parkAz); + SetAxis1Park(parkAz); + SetAxis2Park(parkAlt); LOGF_DEBUG("Set predefined park position %d to az=%f alt=%f", parkPos, parkAz, parkAlt); } else @@ -347,7 +347,7 @@ bool LX200AstroPhysicsExperimental::initMount() { LOG_DEBUG("Mount is not yet initialized. Initializing it..."); - if (isSimulation() == false) + if (!isSimulation()) { // This is how to init the mount in case RA/DE are missing. // :PO# @@ -571,10 +571,10 @@ bool LX200AstroPhysicsExperimental::ISNewSwitch(const char *dev, const char *nam { double parkAz, parkAlt; - if (calcParkPosition(parkPos, &parkAz, &parkAlt)) + if (calcParkPosition(parkPos, &parkAlt, &parkAz)) { - SetAxis1Park(parkAlt); - SetAxis2Park(parkAz); + SetAxis1Park(parkAz); + SetAxis2Park(parkAlt); LOGF_DEBUG("Set predefined park position %d to az=%f alt=%f", parkPos, parkAz, parkAlt); } else @@ -1338,6 +1338,7 @@ bool LX200AstroPhysicsExperimental::SetSlewRate(int index) bool LX200AstroPhysicsExperimental::Park() { + // 2020-04-05, wildi, Astro-Physics does not sell AltAz mounts double parkAz = GetAxis1Park(); double parkAlt = GetAxis2Park(); @@ -1366,6 +1367,15 @@ bool LX200AstroPhysicsExperimental::Park() ln_get_equ_from_hrz(&horizontalPos, &observer, ln_get_julian_from_sys(), &equatorialPos); + double lst; + double lha; + lst = get_local_sidereal_time(LocationN[LOCATION_LONGITUDE].value); + lha = get_local_hour_angle(lst, equatorialPos.ra); + + char HAStr[16]; + fs_sexa(HAStr, lha, 2, 3600); + LOGF_DEBUG("Parking to HA (%s)...", HAStr); + Goto(equatorialPos.ra / 15.0, equatorialPos.dec); } else @@ -1483,14 +1493,14 @@ bool LX200AstroPhysicsExperimental::UnPark() LOGF_DEBUG("unparkPos=%d unparkAlt=%f unparkAz=%f", unparkPos, unparkAlt, unparkAz); - if (setAPObjectAZ(PortFD, unparkAz) < 0 || (setAPObjectAlt(PortFD, unparkAlt)) < 0) + if (!isSimulation() && (setAPObjectAZ(PortFD, unparkAz) < 0 || (setAPObjectAlt(PortFD, unparkAlt)) < 0)) { LOG_ERROR("Error setting Az/Alt."); return false; } char syncString[256]; - if (APSyncCM(PortFD, syncString) < 0) + if (!isSimulation() && APSyncCM(PortFD, syncString) < 0) { LOG_WARN("Sync failed."); return false;