1. 03 Feb, 2020 1 commit
  2. 14 Nov, 2019 1 commit
    • Jean-Claude BAU's avatar
      Clock degradation · 04f722fe
      Jean-Claude BAU authored
      - New mechanism for clock degradation (degrade clock class, clock
      accuracy, clock variance, timeSource, ptpTimeScale, frequencyTraceable,
      - timeSource can be configured now
      - If clock accuracy, clock variance and timeSource are not set in
      ppsi.conf, default values are used depending of the clock class.
  3. 14 Jun, 2019 1 commit
  4. 15 May, 2019 1 commit
  5. 03 May, 2019 1 commit
  6. 02 May, 2019 2 commits
  7. 09 Apr, 2019 2 commits
  8. 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
  9. 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()
  10. 29 Nov, 2018 2 commits
  11. 21 Nov, 2018 9 commits
    • Jean-Claude BAU's avatar
      Configuration enhancement · 9b169074
      Jean-Claude BAU authored
      - Add new config parameters (l1SyncRxCoherencyIsRequired,...)
      - Add new profile: CUSTOM. It will be mostly used for testing
      - Fix issue on state name: "pre_master" instead of "pre-master"
    • 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
    • Jean-Claude BAU's avatar
    • Jean-Claude BAU's avatar
      Bug fix in picos_to_interval · b6a29541
      Jean-Claude BAU authored
      - This function checks now the minimum and maximum values which can be
      encoded into a RelativeDifference type.
      - Bux fix for the calculation of min/max value conversion (special
    • Jean-Claude BAU's avatar
      Configuration updates · 303c9771
      Jean-Claude BAU authored
      - Set the minimum and maximum values of some parameters
      - Fix format issues in pp_printf and sscanf
    • Jean-Claude BAU's avatar
      Fix minor parameter configuration issues · f35600f9
      Jean-Claude BAU authored
      - The %f format is not supported in pp_printf. So we will not display
      the float value in error messages.
      - Change DBL_MIN by -DBL_MAX to have the minimum value of a double
    • 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.
    • Jean-Claude BAU's avatar
      PPS configuration enhancement · fb26d591
      Jean-Claude BAU authored
      - New  parameters added
      - Parameter check with min/max values
      - Updated fied mask suppressed: At startup the conf structure in each
      ppsi instance must be initialized with the default values.
    • Jean-Claude BAU's avatar
      PPSi argument 'g' suppressed · 5dd8ccf3
      Jean-Claude BAU authored
      This arguement was used to set all ports to slave role. As it may be on
      conflict with the ppsi configuration, this parameter has been
  12. 20 Nov, 2018 4 commits
    • Jean-Claude BAU's avatar
      Configuration file parsing enhancement · 6df5da42
      Jean-Claude BAU authored
      - We can declare now a list of keyword for the parameter name :
      it make the declaration of keywords more compact in conf.c and use less
      memory (eg. "extension profile" )
      - We can declare also a list of keywords for the parameter value
      (eg. "true 1 on" = 1)
      - Add the possibility to mark parameters set in the config file. It is
      very important to know in some cases in order to apply the default value
      or not.
      - Decode other parameter types: boolean, double
    • 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
  13. 28 Feb, 2017 1 commit
  14. 27 Feb, 2017 1 commit
  15. 24 Feb, 2017 2 commits
  16. 31 Jan, 2017 1 commit
  17. 02 Dec, 2016 1 commit
  18. 04 Nov, 2016 1 commit
  19. 25 Oct, 2016 2 commits
    • Alessandro Rubini's avatar
      trivial: remove unsed in/outbound_latency · 7d10c341
      Alessandro Rubini authored
      While it may make sense to setup constant delay somewhere (for WR we
      define them, for instance), the legacy implementation was unused and
      Unused because nobody sets it (even if we could do it in the config
      file).  Wrong because inbound is never used, and both are global and
      not per-port.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
    • Alessandro Rubini's avatar
      general: make delay mechanism configurable and fix defaults · 5e0e5a62
      Alessandro Rubini authored
      Now this is the behaviour for the choice:
               if you select P2P, it's built and selected. Default is E2E_ONLY.
               The P2P is built by default configuration, and the mechanism
               is selected at configuration time. Default is E2E. If you
               choose E2E_ONLY and configure pdelay, it will ignore the config.
               (Suboptimal but I'm lazy: do *not* use E2E_ONLY for those archs.
              The default is e2e until changed at run time.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
  20. 20 Sep, 2016 1 commit
    • Alessandro Rubini's avatar
      Support E2E build without P2P. Saves 5kB in wrpc-sw · 3542ae48
      Alessandro Rubini authored
      Here in ppsi,
        ./MAKEALL wrpc_defconfig wrpc_pdelay_defconfig
      shows a very small difference, but most pdelay code is then
      discarded by the wrpc-sw link time, due to --gc-sections.
      This is the result:
         laptopo% ./MAKEALL spec_defconfig spec_pdelay_defconfig
         ##### Building with 'spec_defconfig'
         /opt/lm32-gcc-4.5.3/bin/lm32-elf-ar: creating libsdbfs.a
            text    data     bss     dec     hex filename
           87688    3492    6352   97532   17cfc wrc.elf
         ##### Building with 'spec_pdelay_defconfig'
         /opt/lm32-gcc-4.5.3/bin/lm32-elf-ar: creating libsdbfs.a
            text    data     bss     dec     hex filename
           93140    3492    6360  102992   19250 wrc.elf
      What is missing now is the run-time choice between e2e and p2p. Later....
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
  21. 08 Apr, 2016 4 commits