1. 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)
  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. 11 Nov, 2019 3 commits
    • Jean-Claude BAU's avatar
      Update clock accuracy for GM (ARB) · 12c52105
      Jean-Claude BAU authored
      Change clock accuracy from 0x21(100ns) to 0x20(25ns) for ARB Grand Master.
    • 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
    • Jean-Claude BAU's avatar
      BMCA: New evaluation of ptpTimescale, frequencyTraceable... · 47d07f02
      Jean-Claude BAU authored
      The fields in timePropertiesDS are been reevaluated. The file bmc.c
      contains a table showing the different use cases.
  4. 11 Oct, 2019 4 commits
  5. 04 Jun, 2019 1 commit
    • 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).
  6. 27 May, 2019 1 commit
    • Jean-Claude BAU's avatar
      [Issue:#196] WR time not set properly in GM mode · 36accb7e
      Jean-Claude BAU authored
      The WR time is set in GM mode as follow :
      1/ At startup the NTP time is set using wr_date script
      2/ PPSi calls the tool wr_date with parameters "set host". It will be
      called every time it detects a PLL transition from UNLOCKED to LOCKED
      state. Also PPSi provide a error counter 'gmUnlockErr' which gives the
      number of time the PLL unlocked.
      3/ Parameters "-v set host" in wr_date tool, set only the second part of
      the WR time. The time is set in a middle of two WR seconds ticks.
  7. 24 May, 2019 2 commits
  8. 20 May, 2019 1 commit
    • Jean-Claude BAU's avatar
      [Feature:#128] Improve GM status · b66d61fe
      Jean-Claude BAU authored
      - Add a new state machine available for all timing modes ( Free running
      master, Grand master and boundary clock)
      - State is stored in pp_globals, field timingModeLockingState
      - The 3 main states are :
      -- Locking: Waiting for PLL locked
      -- Locked: PLL is locked
      -- Error: PLL is unlocked but was locked before
      - Changing the timing mode will reset the state to 'Locking'
  9. 15 May, 2019 1 commit
  10. 14 May, 2019 2 commits
  11. 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
  12. 03 May, 2019 1 commit
  13. 02 May, 2019 2 commits
  14. 09 Apr, 2019 6 commits
    • baujc's avatar
      Review of WR protocol implementation (2) · f7205dab
      baujc authored
      - Has Hal is no longer used for ingress/egress latencies, we must then
      take them from the configuration file
      - Definition used by the common servo (WR & HA)
      - Implementation of the IDLE state
      See previous commit 'Review of WR protocol implementation'
    • 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.
    • baujc's avatar
      Simplify WRS calibration functions · f0227345
      baujc authored
      As WR extension share now the same servo than L1Sync extension, the only
      service required from HAL is the value of the bit-slide. Then a
      simplification can be done by removing some functions and some obsolete
      function parameters
    • baujc's avatar
      Add new function fixedDelta_to_pp_time · fc7d5eaf
      baujc authored
    • baujc's avatar
      Change callback signature · 6e6cffc7
      baujc authored
      - Add extra parameters in unpack_announce and run_ext_state_machine
    • baujc's avatar
      Suppress obsolete and unused callbacks · da4495fc
      baujc authored
      - Removed master_msg, s1, execute slave
  15. 29 Mar, 2019 1 commit
  16. 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.
  17. 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
  18. 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
  19. 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()
  20. 25 Jan, 2019 1 commit
  21. 24 Jan, 2019 1 commit
  22. 03 Dec, 2018 2 commits
  23. 29 Nov, 2018 2 commits
  24. 27 Nov, 2018 2 commits