1. 03 Feb, 2020 1 commit
  2. 13 Dec, 2019 1 commit
  3. 20 Nov, 2019 1 commit
    • Jean-Claude BAU's avatar
      BMCA: new qualification algorithm · d39aa5ee
      Jean-Claude BAU authored
      Introduction of an other way to calculate the best foreign master. It
      has been changed to fix bugs found during ISPC20119 (IOL test). Tests
      showed unstable behavior in the computation of foreign master
      qualification in some specific circumstances (time window of 8s with
      announce messages every 5s)
  4. 11 Nov, 2019 1 commit
    • Jean-Claude BAU's avatar
      New field activePeer in pp_instance structure · 1f503295
      Jean-Claude BAU authored
      This field is used to store the active peer connected to an instance. In
      wr_mon tool, it replaces the field peer on the display which was not
      very explicit when many peers are connected on the same port. The field
      activePeer takes the value of peer field in the following cases :
                 MASTER          UNCALIBRATED/SLAVE
      P2P     Rx PDELAY_RESP    Rx qualified ANNOUNCE
      E2E       DELAY_RESP      Rx qualified ANNOUNCE
      In other cases, the activePeer field is set to 0
  5. 09 May, 2019 1 commit
    • Jean-Claude BAU's avatar
      WR/PTP protocol detection + WR protocol improvement · 59838a0d
      Jean-Claude BAU authored
      - Simplify how an instance switch from WR to PTP protocol and vice-versa
      - Change the WR state machine: When an unexpected WR signaling message
      is received, the state is forced to IDLE. Solve handshake issue when
      instance is waiting for an answer with a long time-out and in the other
      side the PPSi process is restarted. In this use case the handshake will
  6. 09 Apr, 2019 2 commits
  7. 29 Mar, 2019 1 commit
  8. 05 Mar, 2019 1 commit
    • baujc's avatar
      Suppress timer PP_TO_FAULT · 765c661b
      baujc authored
      After reviewing the code with Maciej, this time-out does not seem to be
      used in a very coherent way. We decided then to remove it.
  9. 01 Mar, 2019 1 commit
    • baujc's avatar
      Code optimization · 25692a35
      baujc authored
      - Make externalPortConfiguration compliant with the PTP specifications
      - Optimize code for externalPortConfiguration
      - Optimize code for slaveOnly
      - Replace "CONFIG_HAS_P2P && ppi->delayMechanism==P2P" by an inline
  10. 25 Feb, 2019 1 commit
    • baujc's avatar
      Big update 2 · 515af578
      baujc authored
      . Better integrate of code optimization with PPSi Kconfig
      . PPSi Kconfig changes to simplify the code in PPSi and avoid #ifdef ..
      . Improve code optimization
      . Move some declaration in ppsi.h in other files to ligthen ppsi.h
      . Improvement of timers: global or instance dependent, dyn. allocation,
      renaming for better diagnostics, disabling allowed, ...
      . New behaviour for the PPS output generation (configurable,...)
      . Move control of the timing mode from HAL to PPSi
      . Optimization of code when a Protocol extension is not available
      . BMCA: Calculate the ebest,... only one time and then trigger all
      instances to execute the bmca state descision
      . Fix bug in the calculation of the clockIdentity to bring it into
      compliance with PTP spec 2008 document
      . Fix a bug related to Announce message received in SLAVE/UNCALIB
      . WR ext: use dynamic timer and adapt to new PPS generation
      . HA ext: Fix bug in fault injection mechanism
  11. 29 Jan, 2019 1 commit
    • baujc's avatar
      Big update ... · c81db09e
      baujc authored
      - New L1Sync and PTP servo calculation (delayAsym,...)
      - Make function calls more uniforms between extensions
      - refactoring
      - Add a new state machine to enable/disable an extension and provide
      only PTP support: New timer, new hooks, ...
      - Fix bug in time format conversion
      - Code removed when an extension is not required (#ifdef XXX )
      - Align the PTP and L1Sync servo calculation (shared fct, same
      - Force only one servo running at a given time for a given instance
      - New servo reset hook : called by main loop
      - Add function to converte a time into a string
      - Force to stay in FAULTY state during 60s
      - Optimise function wrs_enable_timing_output()
  12. 27 Nov, 2018 1 commit
  13. 21 Nov, 2018 5 commits
    • Adam Wujek's avatar
      proto-standard/state-slave: fix warning · fd1c5d4c
      Adam Wujek authored
      Fix warning introduced in the commit:
      Implement one-step clock for HA & WR profiles
      Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
    • Jean-Claude BAU's avatar
      Implement one-step clock for HA & WR profiles · cd3ee739
      Jean-Claude BAU authored
      The one-step clock didn't work for HA & WR profiles. This new
      implementation is based on a new hook "handle_sync" called in case of
      one-step clock mode.
    • Jean-Claude BAU's avatar
      Fix externalPortConfiguration issues · 6f8bd484
      Jean-Claude BAU authored
      - Force to stay on UNCALIBRATED state (was going to slave state)
      - Force to stay on PRE-MASTER state  (was going to master state)
    • Jean-Claude BAU's avatar
      HA updates, bug fixes and optimization · fbe6df4e
      Jean-Claude BAU authored
      - Move initialization of configurable parameters in L1SYNC init hook
      - Set the L1SYNC state to DISABLE in the startup otherwise the state is
      not set if the port is not connected
      - Remove time printing in diag messages
      - restrict call to servo only when the state is UP
      - Adjust properly the delay returned by each l1sync state functions
      - Set REQUEST timeout value dependent of the delay mechanism (E2E/P2P)
      - Bug fix: PP_P2P_MECH used instead of P2P
      - Optimize the REQUEST timeout to generate asap a DelayReq message after
      the first SYNC message received
    • Jean-Claude BAU's avatar
      High Accuracy - Second implementation · a45008ca
      Jean-Claude BAU authored
      This implementation does not include yet the possibility to declare 2
      exclusive instances on a same port (WR & HA)
      - Some structures are renamed with the suffix _t to make it more
      - Some variables are renamed  to be more clear
      - Implementation of masterOnly, slaveOnly and externalPortConfiguration
      - All extension specific includes (XX-api.h) is now automatically
      included in ppsi.h and do not need to be included in other files.
  14. 20 Nov, 2018 3 commits
    • Jean-Claude BAU's avatar
      High Accuracy - first implementation · 4bfaea77
      Jean-Claude BAU authored
      This implementation works on a WR Switch but does not yet integrate all
      required functionalities. List of current modifications :
      - Implementation of the L1SYNC protocol
      - Modifications of the standard protocol: new hook, TS calculation
      - Change WRS to integrate HA
      - HAL adaptations
      - ...
    • Jean-Claude BAU's avatar
      Arch. changes for HA integration + bring into compliance with the · 41bedca5
      Jean-Claude BAU authored
      standard IEEE1588-2018
      We bring here a lot of changes to :
      - make the implementation more complaiant with the standard
        We introduce new structures for the time (TimeInterval, Relative
        Named used in structures are aligned to the standard, ...
        It is just a first step. More work is needed
      - be able to use more than one protocol extension at the same time
        (configurations, structures, ...)
      - add the concept of profile
      - increase diagnostics by displaying also standard PTP servo
    • Jean-Claude BAU's avatar
  15. 15 Aug, 2017 1 commit
  16. 12 Jul, 2017 10 commits
  17. 05 Apr, 2017 1 commit
    • Alessandro Rubini's avatar
      general fix: implement SYNCHRONIZATION_FAULT · a438acc9
      Alessandro Rubini authored
      If we stopped sending to the master or the peer (for traffic or
      whatever; in my case with "fault drop"), we wouldn't notice the
      This looks like SYNCHRONIZATION_FAULT (, so this reuses the
      almost-unused TO_FAULTY, renaming it to a more generic TO_FAULT.
    says we should reach uncalibrated, but since uncalibrated doesn't
      exits (it is never entered, it's dead and untested code at this point),
      I handle the problem just like the timeout receiving announce messages.
      For wr, I reset the servo, so the problem can be seen.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
  18. 03 Mar, 2017 2 commits
  19. 27 Feb, 2017 1 commit
  20. 31 Jan, 2017 2 commits
  21. 17 Jan, 2017 1 commit
  22. 02 Dec, 2016 1 commit