- 25 Mar, 2020 1 commit
-
-
Jean-Claude BAU authored
This calculation is done using the timestamps but without any correction.
-
- 06 Mar, 2020 1 commit
-
-
Jean-Claude BAU authored
-
- 20 Feb, 2020 1 commit
-
-
Jean-Claude BAU authored
When a transition of a interface form up->down->up occured, the Slave port was restarted sometimes with the extension OFF. It has been fixed by re-enabling the extension when a transition state from SLAVE to UNCALIBRATED is detected.
-
- 03 Feb, 2020 3 commits
-
-
Jean-Claude BAU authored
The detection of a new parent has been moved in a call back of the S1 treatment. The previous implementation had some side effect due to the fact that the detection was coming too late in some cases (pb with erbest calculation) The doRestart called by the servo is now extension specific. It help to make a more cleaner restart.
-
Jean-Claude BAU authored
-
Jean-Claude BAU authored
- In case of handshake failure due to the reception of an unexpected message, execute the same procedure executed in case of time-out. The behavior will be more coherent. - better diagnostics
-
- 19 Dec, 2019 1 commit
-
-
Jean-Claude BAU authored
When the PPS generation is forced by configuration, the PPS was disabled when an instance was leaving the UNCALIB/SLAVE states to another state.
-
- 13 Dec, 2019 1 commit
-
-
Jean-Claude BAU authored
- All announce messages not received from erbest are not been taken into account. erbest is the best qualified foreign master. - Comments added
-
- 04 Nov, 2019 1 commit
-
-
Jean-Claude BAU authored
These 2 actions : locking_reset() and enable_timing_output(0) must be done also when the extension is not active.
-
- 14 Aug, 2019 1 commit
-
-
Jean-Claude BAU authored
After around 36 hours, one PPS was missing. This was due to an issue in the WR extension. When the sequence id in the announce message was moving from 65535 to 0, the WR handshake was restarted. As a result of that, the side effects would be : - a missing PPS - an unlock of the PLL
-
- 06 Jun, 2019 1 commit
-
-
Jean-Claude BAU authored
When the extension is inactive due to some circonstances, an instance will reactivate the extension when the instance will jump to UNCALIBRATED state.
-
- 05 Jun, 2019 1 commit
-
-
Jean-Claude BAU authored
-
- 04 Jun, 2019 1 commit
-
-
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).
-
- 28 May, 2019 1 commit
-
-
Jean-Claude BAU authored
-
- 27 May, 2019 1 commit
-
-
Jean-Claude BAU authored
- Give priority to the time-out and not the number of msg repetitions - Call also wr_handshake_fail() function when a time-out is detected.
-
- 24 May, 2019 2 commits
-
-
Jean-Claude BAU authored
As the enable_output_timing() hook is called also in the standard PTP part, the hook has been moved from the WR specific structure wrh_operations to pp_time_operations
-
Jean-Claude BAU authored
-
- 14 May, 2019 1 commit
-
-
Jean-Claude BAU authored
If a PLL unlocked is detected on slave side when the servo is running, the PTP state is forced to UNCALIBRATED to restart the WR calibration (handshake)
-
- 09 May, 2019 1 commit
-
-
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.
-
- 07 May, 2019 1 commit
-
-
Jean-Claude BAU authored
-
- 30 Apr, 2019 1 commit
-
-
baujc authored
-
- 09 Apr, 2019 2 commits
-
-
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 authored
- It has now its own state table - The servo is shared with L1Sync extension. It means that servo calculation is now following the new standard IEEE 1588 - It stay compatible with older versions of the switch. The correction field value in the exchange messages are still not compliant with the standard to keep the compatibility.
-
- 29 Mar, 2019 1 commit
-
-
baujc authored
- For WR extension, we keep the old way to stay compliant with previous version of WR - The changes are applied to HA extension and compliant now with the IEEE standard (delayAsymmetry sent in the CField of [P]DelayReq msg, ...)
-
- 05 Mar, 2019 1 commit
-
-
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.
-
- 01 Mar, 2019 1 commit
-
-
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
-
- 25 Feb, 2019 1 commit
-
-
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
-
- 29 Jan, 2019 1 commit
-
-
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()
-
- 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 4 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
-
- 03 Dec, 2018 1 commit
-
-
Jean-Claude BAU authored
- Update of portDs.meanLinkDelay for P2P mechanism - Fix issue updating currentDS.meanDelay
-
- 27 Nov, 2018 2 commits
-
-
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
-
- 21 Nov, 2018 3 commits
-
-
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
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
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.
-
- 20 Nov, 2018 1 commit
-
-
Jean-Claude BAU authored
This will be needed when switchover will be implemented. Then 2 servos will be needed (an active amd passive one). Also the servo state has been moved in the common servo DS.
-