wr-servo: fix a synchronization bug
This is likely the result of my cleanup of wr-servo, where I forgot
some pieces.
Greg collected some interesting logs in wrpc where the setpoint
was calculated wrongly. This fixes the thing and removes some redundancy.
I "git diff" order:
- avoid WR_UNINITIALIZED, really unused. Do what's needed at
wr_servo_init() time
- adjust phase to 0 at init time, where s->cur_setpoint is set (we
really should set and use in a single unified place)
- set delta_ms_prev before entering TRACK_PHASE, not earlier where it
doesn't fit
- avoid extra checks of non-zero offset.seconds and
offset.nanoseconds, because they are checked at the beginning anyways.
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Showing
Please
register
or
sign in
to comment