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

Reply via email to