- 29 Jan, 2019 3 commits
-
-
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()
-
baujc authored
The custom profile is usefull for the White Rabbit switch integration tests. It is now possible to remove it for other targets where the memory space is critical (nodes)
-
baujc authored
When /etc/init.d/ppsi.sh is called with the parameter 'restart', it happens sometimes that the restarted PPSI process detects that another one is running but it is not really the case. To sove this problem, the PPSI process is now checking few times with a delay in between before to decide to exit.
-
- 28 Jan, 2019 1 commit
-
-
baujc authored
When a jitter greater than 20ms is observed with peer, the seconds are never adjusted. The solution is then to adjust first the seconds.
-
- 25 Jan, 2019 1 commit
-
-
baujc authored
Instead of restarting a timer on each retry, the timer is initialized only once when we enter in the state. It helps to respect the time spent in a given state before to skip it due to the time-out.
-
- 24 Jan, 2019 5 commits
-
-
baujc authored
For a WR slave, it will force the recetion of a new ANNOUNCE message before to jump from SLAVE to WR_PRESENT state.
-
Maciej Lipinski authored
per Veryx request, they cannot do less than 100ms
-
Maciej Lipinski authored
the names correspond to the info provide to Veryx for testing
-
Maciej Lipinski authored
-
Maciej Lipinski authored
Conflicts: include/ppsi/constants.h
-
- 10 Jan, 2019 1 commit
-
-
baujc authored
As we can get know the WR time (IRPC call) we use it instead of using the T4 time aproximation. Making some tests, the difference between Unix time and WR time is around 30us (was 20ms before with T4)
-
- 03 Dec, 2018 2 commits
-
-
Jean-Claude BAU authored
- Update of portDs.meanLinkDelay for P2P mechanism - Fix issue updating currentDS.meanDelay
-
Jean-Claude BAU authored
- In order to increase the code readibility, the p2p and e2e functions has been splitted into differents files. - Protect P2P from multiple answers coming from different hosts.
-
- 30 Nov, 2018 1 commit
-
-
Jean-Claude BAU authored
According to the clause 9.3.2.3, the qualification is now not evaluated for the EBest foreign master. EBest is always considered qualified.
-
- 29 Nov, 2018 2 commits
-
-
Jean-Claude BAU authored
This new parameter is used to control the configurable parameter L1SyncOptParamsPortDS.timestampsCorrectedTx when L1SyncBasicPortDS.optParamsEnabled is set to true.
-
Jean-Claude BAU authored
The delayCoefficient can be set in ppsi.conf file either with the delayCoefficient (double) parameter or the scaledDelayCoefficient (RelativeDifference) parameter. In ppsi, the priority is given to the scaledDelayCoefficient.
-
- 28 Nov, 2018 2 commits
-
-
Jean-Claude BAU authored
When the extension L1SYNC is not available (no data), the value of L1SyncEnable and L1SyncState are emulated and displayed. Some VERYX tests need these information also when L1SYNC is disabled.
-
Jean-Claude BAU authored
Due to changes in the standard (Clause 17.6.5), the slaveOnly parameter must be forced to FALSE when externalPortConfiguration is enabled.
-
- 27 Nov, 2018 5 commits
-
-
Jean-Claude BAU authored
- When optParamsEnabled is set, the TLV send need to be extended with extra values. Fix here the length of the TLV and the whole message. - Fix print issue of the signaling TLV
-
Jean-Claude BAU authored
- Add DelayAsymmetty calculation for HA - Avoid using pow() math function call. Use directly a constant value. Done for HA and WR.
-
Jean-Claude BAU authored
- The ntohx() is now used to unpack messages and htohx() to pack them. Most of the time only htohx() was used for paking and unpacking messages. - Code optimization
-
Jean-Claude BAU authored
On little indian architecture, the calculation of the correction field was wrong in the PDelay_Resp_FollowUp message. This was introducing a big random offset (few us) of the PPS.
-
Jean-Claude BAU authored
-
- 21 Nov, 2018 17 commits
-
-
Adam Wujek authored
Fix warning introduced in the commit: Implement one-step clock for HA & WR profiles Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Jean-Claude BAU authored
- Many information were store in a common static structure (to_config). However depending on the PPSI instance configuration these information need to be stored per instance. Mainly it concerns the rand value (which_rand and the counter reset value). Only the timer name stay now in a common arrea.
-
Adam Wujek authored
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Jean-Claude BAU authored
According to the clause 9.3.2.3, the qualification is now not evaluated for the ErBest foreign master. On ANN_RECEIPT timout, the ErBest is removed from the list of foreign master to avoid to jump immediately to SLAVE state
-
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 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 authored
According to the clause 9.3.2.3, the quualification is now not evaluated for the ErBest foreign master.
-
Jean-Claude BAU authored
-
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 authored
- Fix issues introduced in last commit "Timeout management correction" - Code optimization - Protect FAULT timeout in case of timeout overload. It can append because the logMinDelayResponse can be changed on real-time by the received DELAY_RESP message
-
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 authored
Change the default value of "alarmDetected" to force execution of fsm the first time.
-
Jean-Claude BAU authored
When received frames are displayed (diagnostic mode), PPSI was staying forever in a loop due to unexpected TLV received in the frame.
-
Jean-Claude BAU authored
-
Jean-Claude BAU authored
This was due to the introduction of system timers in the main loop of the switch. In minirpc the pool() system call exited sometime when the timer fired. Some other problems have been found during the debugging process. Some of them have been already adressed : - In minirpc, loop on pool() system call if the call is interrupted. - Wrong check in function wrs_locking_poll(). Was working by chance. - L12_state_machine() was calling to many often the state handle. It was increasing the number of hardware calls for nothing. TODO: The returned values for the function wrs_locking_poll(), halexp_lock_cmd(), and hal_port_check_lock() should be reviewed to be more consistent.
-
Adam Wujek authored
based on jcb's commit from wrs Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-