1. 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
  2. 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
  3. 21 Nov, 2018 1 commit
    • Jean-Claude BAU's avatar
      Fix issues with standart ptp (e2e & p2p) · ada5fb06
      Jean-Claude BAU authored
      In the ptp servo the adjustment of the time was too slow. When the
      difference of the time with the master was less than 1 second, the
      adjustment was done only with the frequency. In case if the difference
      is 0.999s, it can take a very long time to adjust the time.
      Changes made :
      - Adjust with frequency only when time difference is below 20ms
      - Check the timestamp validity before each calculation
      - Create a new function to check the timestamps and use it on all
      servos. This improve significantly the size of the code.
      - Add verification in order not to set an invalid UNIX time
      ada5fb06
  4. 12 Sep, 2017 1 commit
    • Sven Meier's avatar
      utc&leap: fixed kernel issue with leap second handling · b2f4280d
      Sven Meier authored
      kernel has two bugs regarding leap second handling: it need to have the
      leap second flags cleared twice before setting them and it doesn't clear the leap second flags after the leap second happened. A workaround was implemented
      accordingly.
      b2f4280d
  5. 29 Aug, 2017 3 commits
  6. 09 Aug, 2017 1 commit
  7. 07 Aug, 2017 1 commit
  8. 03 Aug, 2017 1 commit
  9. 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
  10. 31 Jan, 2017 1 commit
  11. 16 May, 2016 1 commit
  12. 07 Nov, 2014 1 commit
  13. 22 Sep, 2014 1 commit
    • Alessandro Rubini's avatar
      general: rename freq_ppm to freq_ppb (and fix arch-bare) · aa29b554
      Alessandro Rubini authored
      All adjustments are passed as part-per-billion, so after getting mad
      in understanding what freq_ppm was, I renamed all of them to freq_ppb.
      
      While making changes I verified this is what it is. Thus I fixed the comment
      in ppsi.h (that was wrong by a factor of 64) and the adjustment code in
      bare-time.c that made the same error (I admit I don't test arch-bare often).
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      aa29b554
  14. 21 Jul, 2014 1 commit
  15. 05 Oct, 2013 2 commits
  16. 19 Sep, 2013 1 commit
  17. 16 Sep, 2013 1 commit
    • Alessandro Rubini's avatar
      time_operations: add init_servo() method · 6dcafdcf
      Alessandro Rubini authored
      This function allows a servo to initialize its hardware and return the
      current "observed drift" value that is in charge.
      
      In unix-time this is used to return the current value for frequency
      correction -- being consistent with current naming and use of values,
      which unfortunately is not really correct.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      6dcafdcf
  18. 31 Jul, 2013 1 commit
    • Alessandro Rubini's avatar
      general: rephrase copyright notices (no tech effect) · 23033d8a
      Alessandro Rubini authored
      This changes all "Name Surname for CERN" to "Copyright CERN, author
      Name Surname".  This is trivial and makes no change, with a few
      expections:
      
      - all trivial Makefiles that had "for CERN" lines have now no
      attributions, as they are trivial anyways.
      
      - a few unrepresented files have not the copyright notice (especially
      ptpdump, that I wrote in 2012).
      
      - a few "for CERN" remain in subprojects, where I didn't touch anyrhing
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      23033d8a
  19. 07 Jul, 2013 1 commit
  20. 05 Jun, 2013 1 commit
  21. 23 May, 2013 2 commits
  22. 15 May, 2013 1 commit
  23. 23 Apr, 2013 1 commit
  24. 02 Apr, 2013 1 commit
    • Aurelio Colosimo's avatar
      servo.c: restored behaviour as it was in ptpd · da552755
      Aurelio Colosimo authored
      This patch is temporary and is thought only to guarantee the correct
      convergence of the algorithm. Some of the latest changes in servo.c, about
      how time is adjusted and how the max value for observed drift is set,
      made it unstable. With this patch, the behaviour is restored to the same as
      ptpd, though it still needs to be reviewed to increase performance, readability
      and easier maintainability.
      Signed-off-by: Aurelio Colosimo's avatarAurelio Colosimo <aurelio@aureliocolosimo.it>
      da552755
  25. 07 Mar, 2013 3 commits
    • Alessandro Rubini's avatar
      diag: use new diagnostics for time · c946dca5
      Alessandro Rubini authored
      This is the result, on a master, with "-d 02":
      
      diag-time-2-eth0: posix_time_get:  1362675879.940187923
      diag-time-1-eth0: timeout expired: PP_TO_ANN_INTERVAL
      diag-time-2-eth0: posix_time_get:  1362675880.081818439
      diag-time-2-eth0: posix_time_get:  1362675880.233227916
      diag-time-2-eth0: recv stamp: 1362675880.233227916 (user)
      diag-time-2-eth0: posix_time_get:  1362675880.233499803
      diag-time-1-eth0: timeout expired: PP_TO_SYNC
      
      (time level 1 reports timeouts and set, level 2 reports get-time too).
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      c946dca5
    • Alessandro Rubini's avatar
      general: add ppi argument to all time operations · 11ee59c0
      Alessandro Rubini authored
      Unfortunately, we need to pass ppi to the time operations, so we
      can have per-instance logging options. This is the second time I found
      the need for such extra argument: the first time I worked it around, now
      I surrender.
      
      Actually, I don't find it unlikely for a multi-instance process to
      spit a lot of diagnostics about timestamps. A developer may need to
      filter messages according to who is tiemstamping/timing out etc.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      11ee59c0
    • Alessandro Rubini's avatar
      5e595126
  26. 04 Mar, 2013 2 commits
  27. 02 Mar, 2013 1 commit
  28. 27 Feb, 2013 2 commits