- 20 Nov, 2019 1 commit
-
-
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)
-
- 14 Nov, 2019 1 commit
-
-
Jean-Claude BAU authored
- New mechanism for clock degradation (degrade clock class, clock accuracy, clock variance, timeSource, ptpTimeScale, frequencyTraceable, timeTraceable) - 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.
-
- 11 Nov, 2019 3 commits
-
-
Jean-Claude BAU authored
Change clock accuracy from 0x21(100ns) to 0x20(25ns) for ARB Grand Master.
-
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 (Filtered) E2E DELAY_RESP Rx qualified ANNOUNCE In other cases, the activePeer field is set to 0
-
Jean-Claude BAU authored
The fields in timePropertiesDS are been reevaluated. The file bmc.c contains a table showing the different use cases.
-
- 11 Oct, 2019 4 commits
-
-
Jean-Claude BAU authored
Some default attribute values were not compliant with the PTP standard. These default attribute values are used when : - attributes are not defined in ppsi.conf file - attribute values in ppsi.conf file are out of range
-
Jean-Claude BAU authored
As specified in the standard, the domain number must be in the range [0,127]. The range [128-255] is reserved.
-
Jean-Claude BAU authored
This value should return to 1 when the new standard will be published and HA released
-
Jean-Claude BAU authored
The HAL states and the HAL share memory have changed. PPSi must follow these modifications.
-
- 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).
-
- 27 May, 2019 1 commit
-
-
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.
-
- 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
-
- 20 May, 2019 1 commit
-
-
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'
-
- 15 May, 2019 1 commit
-
-
Jean-Claude BAU authored
- Change the Quality structure to make it compliant with the standard - Fix network to host conversion to display offsetScaledLogVariance
-
- 14 May, 2019 1 commit
-
-
Jean-Claude BAU authored
- Calculations made using fixed pointarythmetic - delayAsymCoeff calculated using polynomial expansion - Based on Rens Roosenstein work
-
- 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.
-
- 03 May, 2019 1 commit
-
-
Jean-Claude BAU authored
-
- 02 May, 2019 1 commit
-
-
baujc authored
Modification made to be more coherent as delayCoefficient is in range [-1,1] instead of [-2,2].
-
- 09 Apr, 2019 4 commits
-
-
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 authored
-
baujc authored
- Add extra parameters in unpack_announce and run_ext_state_machine callbacks
-
baujc authored
- Removed master_msg, s1, execute slave
-
- 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()
-
- 24 Jan, 2019 1 commit
-
-
Maciej Lipinski authored
Conflicts: include/ppsi/constants.h
-
- 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.
-
- 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.
-
- 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 5 commits
-
-
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.
-
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
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
-