Hi Richard,
Let's take a step back and consider the design. What you really want
is a new synchronization state. Something like:
enum servo_state {
SERVO_UNLOCKED,
SERVO_JUMP,
SERVO_LOCKED_ALPHA,
SERVO_LOCKED_BETA,
};
The new code should either go into a new servo type or possibly right
into servo.c. (In either case it should wrap the functionality of the
existing servos.)
I am planning on putting this code right into servo_sample() in servo.c so that
it can be used with any servo type.
When the underlying servo becomes LOCKED, then you enter ALPHA and
start your counter. When the time series of the offset has entered
the acceptable zone, you enter the BETA state.
At the top level (clock.c), on the transition from ALPHA:BETA you send
the signaling message to reduce the Sync rate.
I think that this should go in port.c (in port_synchronize()) because the slave
port is the one which sends the "interval request" message to the master after
the offset with the master port has stabilized. This will be especially
important when we consider a boundary clock with multiple Master ports and a
single slave port.
Thanks,
Vedang
See?
Thanks,
Richard
_______________________________________________
Linuxptp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel
_______________________________________________
Linuxptp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel