wr-servo: loose track_phase when big offset
Even if we count failure events for SNMP (in the switch), we actually
never generate them. The code has always been tracking phase for
any offset smaller than one clock tick (8ns or 16ns), but we'd better
jump in phase (and leave TRACK_PHASE servo state) and this is a failure.
With this commit, to loos track_phase in wrpc you can just force
the setpoint far enough from the calculated one: e.g.
[..] cko:2 setp:929 [...]
wrc# pll sps 0 500
[...] ss:'SYNC_PHASE' [...] cko:431 setp:1367 [...]
then it takes 15 iterations to converge, but that's because the
calculations the first time (as shown) are wrong. A real glitch
loosing track_phase would be recovered in 3 iterations.
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Showing
Please
register
or
sign in
to comment