wr-servo: changes for the better
What happened, sometimes, is that the phase setpoint take a meaningless
(and high) value. This is because we were into SYNC_NSEC and moved
to SYNC_PHASE without checking. Maybe because of other problems too.
That situation led to a lockup of the softpll, which tries to
reach an unreachable setpoint.
Now we force to stay in SYNC_NSEC if the offset is more than one cycle
(and SYNC_SEC if more than one second).
As a side effect, the phase setpoint is always 0..16ns (while earlier
I got setpoints of 1.5 of 17.5 etc, up to 64.5 for the same setup and
same temperature).
The problem here is: what is going to happen if, by thermal effect,
the phase setpoint crosses the 0..16n interval?
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Showing
Please
register
or
sign in
to comment