1. 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
                (Filtered)
      E2E       DELAY_RESP      Rx qualified ANNOUNCE
      
      In other cases, the activePeer field is set to 0
      1f503295
  2. 18 Oct, 2019 1 commit
  3. 11 Oct, 2019 2 commits
  4. 04 Jun, 2019 2 commits
    • Jean-Claude BAU's avatar
      Improve behavior when link up->down->up not detected. · 420da467
      Jean-Claude BAU authored
      When the link state changes rapidly, it can't be detected by PPSi. This
      is the case with the BTrain configuration. So we must detect that the
      peer has changed and restart the servo for a slave and use the right
      protocol (extension/ptp).
      420da467
    • Jean-Claude BAU's avatar
      Set instance state to DISABLED at startup · 1661d43b
      Jean-Claude BAU authored
      At startup the state of a instance is set to DISABLED and will be set
      if the link is up to INITIALIZING. This is done to be coherent with the
      curent behavior: the state becomes DISABLED when the link is down
      1661d43b
  5. 24 May, 2019 1 commit
  6. 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
      fail.
      59838a0d
  7. 09 Apr, 2019 1 commit
    • baujc's avatar
      Improvment of the LinkState management · 84fc8c10
      baujc authored
      It has been improvement to make it works with WR extension but the final
      mechanism has to be improved to make it more simple.
      84fc8c10
  8. 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
      function
      25692a35
  9. 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
      515af578
  10. 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
      calculation,...)
      - 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()
      c81db09e
  11. 21 Nov, 2018 1 commit
    • 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
      readable.
      - 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.
      a45008ca
  12. 20 Nov, 2018 3 commits
  13. 26 Jul, 2017 1 commit
  14. 20 Jul, 2017 2 commits
    • Sven Meier's avatar
      bmc & wr locking: added leap second propagation and added reset of locking · bc586acd
      Sven Meier authored
      Leap seconds are now also fetched from the system in case we are a grandmaster
      A reset of the locking procedure was added so a locked switch can get master again
      bc586acd
    • Sven Meier's avatar
      bmc & cleanup: fixes after the audit portings · 8633ced3
      Sven Meier authored
      The audit portings changed the timely behaviour of the ppsi which cause wrong behaviours,
      the timeout scheme was changed to only reset timeouts where needed and in all non PTP
      states. UTC offset is now fetched from the system where supported, link up/down is now
      considered in the BMC, also some state changes where cleaned up to be out of the BMC, e.g.
      state changes based on timeouts between PreMaster and Master or between Uncalibrated and Slave.
      8633ced3
  15. 12 Jul, 2017 6 commits
  16. 23 Jun, 2017 1 commit
  17. 27 Feb, 2017 1 commit
  18. 31 Jan, 2017 1 commit
  19. 03 Dec, 2016 1 commit
  20. 02 Dec, 2016 1 commit
  21. 01 Dec, 2016 2 commits
  22. 21 Nov, 2016 2 commits
    • Alessandro Rubini's avatar
      fsm.c: move assignement of is_new_state together · 5de7fc0b
      Alessandro Rubini authored
      As a side effect, we get a reported "enter initializing" message
      when wrs has a link-up event (because in that case state-change is
      performed externally, not by a state that switches to another).
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      5de7fc0b
    • Alessandro Rubini's avatar
      fsm.c: bugfix, exposed by link down/up in wr-switch · 6d351515
      Alessandro Rubini authored
      Commit d2b2c636 introduced a caching of the current state structure.
      The "current" structure, as long as not null, is considered valid.
      arch-wrs, just sets ppi->state to initializing on link-up, without
      clearing the cached pointer, so fsm.c was using the old pointer,
      resulting in use of closed file descriptors, as no init was performed.
      
      This doesn't apply to change from withing the states themselves, as
      fsm.c manages the state change.
      
      As a side effect, now that we check the state numberm there's no need
      to zero the pointer on state leave. (And while a it another trivial detail...).
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      6d351515
  23. 04 Nov, 2016 1 commit
  24. 20 Sep, 2016 5 commits