- Nov 27, 2018
-
-
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
-
- Nov 21, 2018
-
-
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>
-
- 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>
-
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
-
- 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"
-
- 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"
-
According to the clause 9.3.2.3, the quualification is now not evaluated for the ErBest foreign master.
-
-
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.
-
- 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
-
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
-
Change the default value of "alarmDetected" to force execution of fsm the first time.
-
When received frames are displayed (diagnostic mode), PPSI was staying forever in a loop due to unexpected TLV received in the frame.
-
-
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>
-
- 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 cases)
-
- The origin timestamp sent in SYNC and DELAY_REQ messages is corrected with the egressTimestampLatency.
-
- The timeout expressed in ms is stored in an integer value. A Log interval may have a value in the range -128,127. The timeout cannot covers all this range. A protection as been added to avoid wrong timeout calculation which might generate a crash of PPSI. - A new function is also added pp_timeout_log_to_ms() to verify the log Interval and calculate the timeout. - Optimize the execution of pp_timeout_set()
-
- We do not wait the L1SYNC state UP before to go from UNCALIBRATED to SLAVE state. - When the link goes down, we force the next state to DISABLE
-
- Set the minimum and maximum values of some parameters - Fix format issues in pp_printf and sscanf
-
- Force to stay on UNCALIBRATED state (was going to slave state) - Force to stay on PRE-MASTER state (was going to master state)
-
Adam Wujek authored
Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Reset local remaining time-out when 'select' exits due to a signal
-
- Change calculation of delayAsymmetry - Set offsetFromMaster (generic servo) - Set meanDelay (generic servo)
-
-
- 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
-
- Optimize the scheduler (main_loop) using system timer. It makes the calculation of the timeout more precise taking into account execution time of some part of the code - Optimize the L1SYNC sent messages too take into account the time spent to send an frame
-
- Move initialization of configurable parameters in L1SYNC init hook - Set the L1SYNC state to DISABLE in the startup otherwise the state is not set if the port is not connected - Remove time printing in diag messages - restrict call to servo only when the state is UP - Adjust properly the delay returned by each l1sync state functions - Set REQUEST timeout value dependent of the delay mechanism (E2E/P2P) - Bug fix: PP_P2P_MECH used instead of P2P - Optimize the REQUEST timeout to generate asap a DelayReq message after the first SYNC message received
-
The default configuration was not copied in the right place in PPSI instance.
-
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.
-
- This structure is changed in order to be able to use SIGNALING messages with non-fowardable MAC address. This have an impact on many places as we have to distinguish two kind of signaling messages
-
- 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.
-
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 suppressed.
-
Missing file commit.
-