OK, I think I found it, and it's my bad.

For ref:
// [n]ot tracking
// [N]o goto

Trying to simplify things, I'd removed some parking code which also handled the :GU return in one case (not n or N). The own goto should be updated with that (and unrelated PEC, since the command (:QZ#) used no longer works on newer versions, but that should be good now.)

So:
General cases:
!n !N = SLEWING (tracking, goto) < Case I neglected, since it seems like you wouldn't be tracking while on a goto
n !N = SLEWING (not tracking, goto)
     (If also I (Parking n progress) = PARKING)
!n N = TRACKING (tracking, no goto)
n N = IDLE (not tracking, no goto)

Overriden by
P (Parked, also set parked true) PARKED

Related which only give Messages/not change trackstate:
p (sets parked false) (unparked)
F (sets parked false) (parking failed)
I (sets parked false, case handled above) (parking in progress)
H (messages only, combined with p/P)

Someone want to check my logic to make sure I didn't miss anything?
 


Read More...