GEM mount on a DIY harmonic-drive build (FYSETC E4, 10.24c) correctly rejects GOTOs (:MS# → 6, "outside limits") for targets that should be reachable on the current pier side without a meridian flip, and toggling Preferred Pier Side (East/West) does not change the outcome. Our OTA/tripod geometry has no clearance for a 180° RA meridian flip, so we need GOTO to succeed whenever the target is physically reachable on the current side — never attempt a flip.
Setup
Mount type: GEM, harmonic drive 1:300
Controller: FYSETC E4 (ESP32), OnStepX 10.24c, compiled from source
Location: Lat +50:37, Lon -026:15 (note: West-positive convention, confirmed correct)
Relevant Config.h:
cpp#define MOUNT_TYPE GEM
#define AXIS1_REVERSE ON
#define AXIS1_LIMIT_MIN -180
#define AXIS1_LIMIT_MAX 180
#define AXIS2_REVERSE OFF
#define AXIS2_LIMIT_MIN -90
#define AXIS2_LIMIT_MAX 90
Axis2 mechanics independently verified correct (measured physical rotation matches commanded degrees exactly, with and without payload — ruled out gear ratio / step loss).
Reproduction
Fresh boot, NV wiped, Home set at the pole (Dec 90°, counterweight down). :Gm# → N (no pier side yet, as expected per docs).
GOTO to Dec=70° (same RA, near meridian): succeeds, accurate.
GOTO to Dec=45° or Dec=0° (same RA): :MS# → 6.
GOTO to Vega (RA≈18h37m, Dec≈+38°47', HA ≈ +19 min from meridian — well inside the default ±15° meridian limit, i.e. no flip should be required): :MS# → 6.
Set Preferred Pier Side → West via web interface, repeat step 4: same result, 6.
Question
Is there a known/required step to correctly resolve pier side on the very first GOTO after a fresh boot/NV wipe (e.g. an initial Sync, or some ALIGN/PIER_SIDE_SYNC_CHANGE_SIDES setting) before Preferred Pier Side has any effect? Our suspicion is that the ambiguous pier side at Home (N) is being resolved to the wrong side internally, causing the Axis2 target angle to be computed as 180 - Dec instead of Dec, which then trips AXIS2_LIMIT_MAX.
Is there a way to force a specific pier side unconditionally (not just "preferred", which I understand only applies when both sides are geometrically valid) so we can guarantee GOTO never attempts the side that would require a flip we can't physically perform?
Happy to provide full Config.h, LX200 transcripts, and verbose serial logs on request.
GEM mount on a DIY harmonic-drive build (FYSETC E4, 10.24c) correctly rejects GOTOs (:MS# → 6, "outside limits") for targets that should be reachable on the current pier side without a meridian flip, and toggling Preferred Pier Side (East/West) does not change the outcome. Our OTA/tripod geometry has no clearance for a 180° RA meridian flip, so we need GOTO to succeed whenever the target is physically reachable on the current side — never attempt a flip.
Setup
Mount type: GEM, harmonic drive 1:300
Controller: FYSETC E4 (ESP32), OnStepX 10.24c, compiled from source
Location: Lat +50:37, Lon -026:15 (note: West-positive convention, confirmed correct)
Relevant Config.h:
cpp#define MOUNT_TYPE GEM
#define AXIS1_REVERSE ON
#define AXIS1_LIMIT_MIN -180
#define AXIS1_LIMIT_MAX 180
#define AXIS2_REVERSE OFF
#define AXIS2_LIMIT_MIN -90
#define AXIS2_LIMIT_MAX 90
Axis2 mechanics independently verified correct (measured physical rotation matches commanded degrees exactly, with and without payload — ruled out gear ratio / step loss).
Reproduction
Fresh boot, NV wiped, Home set at the pole (Dec 90°, counterweight down). :Gm# → N (no pier side yet, as expected per docs).
GOTO to Dec=70° (same RA, near meridian): succeeds, accurate.
GOTO to Dec=45° or Dec=0° (same RA): :MS# → 6.
GOTO to Vega (RA≈18h37m, Dec≈+38°47', HA ≈ +19 min from meridian — well inside the default ±15° meridian limit, i.e. no flip should be required): :MS# → 6.
Set Preferred Pier Side → West via web interface, repeat step 4: same result, 6.
Question
Is there a known/required step to correctly resolve pier side on the very first GOTO after a fresh boot/NV wipe (e.g. an initial Sync, or some ALIGN/PIER_SIDE_SYNC_CHANGE_SIDES setting) before Preferred Pier Side has any effect? Our suspicion is that the ambiguous pier side at Home (N) is being resolved to the wrong side internally, causing the Axis2 target angle to be computed as 180 - Dec instead of Dec, which then trips AXIS2_LIMIT_MAX.
Is there a way to force a specific pier side unconditionally (not just "preferred", which I understand only applies when both sides are geometrically valid) so we can guarantee GOTO never attempts the side that would require a flip we can't physically perform?
Happy to provide full Config.h, LX200 transcripts, and verbose serial logs on request.