1. 27 Nov, 2018 4 commits
  2. 21 Nov, 2018 36 commits
    • Adam Wujek's avatar
      proto-standard/state-slave: fix warning · fd1c5d4c
      Adam Wujek authored
      Fix warning introduced in the commit:
      Implement one-step clock for HA & WR profiles
      Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
      fd1c5d4c
    • Jean-Claude BAU's avatar
      Fix timer bugs · 88546c40
      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.
      88546c40
    • Adam Wujek's avatar
      443c6dfc
    • Jean-Claude BAU's avatar
      Fix issue on Erbest computation (follow-up) · 6e033a57
      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
      6e033a57
    • Jean-Claude BAU's avatar
      Configuration enhancement (follow up) · 0141769d
      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"
      0141769d
    • Jean-Claude BAU's avatar
      Configuration enhancement · 9b169074
      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"
      9b169074
    • Jean-Claude BAU's avatar
      Fix issue on Erbest computation · c78f9181
      Jean-Claude BAU authored
      According to the clause 9.3.2.3, the quualification is now not evaluated
      for the ErBest foreign master.
      c78f9181
    • Jean-Claude BAU's avatar
    • Jean-Claude BAU's avatar
      Implement one-step clock for HA & WR profiles · cd3ee739
      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.
      cd3ee739
    • Jean-Claude BAU's avatar
      Fix timeout issues · 2caf77d5
      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
      2caf77d5
    • Jean-Claude BAU's avatar
      Fix issues with standart ptp (e2e & p2p) · ada5fb06
      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
      ada5fb06
    • Jean-Claude BAU's avatar
      PPSI not starting correctly after the reboot of the switch. · 41635c92
      Jean-Claude BAU authored
      Change the default value of "alarmDetected" to force execution of fsm
      the first time.
      41635c92
    • Jean-Claude BAU's avatar
      Issue displaying TLV of unexppected frames · 2c896cb5
      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.
      2c896cb5
    • Jean-Claude BAU's avatar
      ee15efd7
    • Jean-Claude BAU's avatar
      Soft PLL returns unlock state sometime · 06bd82d5
      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.
      06bd82d5
    • Adam Wujek's avatar
      tools: wrs_dump_shmem: Display L1Sync portDS data · ce55ff3d
      Adam Wujek authored
      based on jcb's commit from wrs
      Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
      ce55ff3d
    • Adam Wujek's avatar
      tools: update wrs_dump_shmem_ppsi · 8cf7a183
      Adam Wujek authored
      Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
      8cf7a183
    • Jean-Claude BAU's avatar
      Bug fix in picos_to_interval · b6a29541
      Jean-Claude BAU authored
      - 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)
      b6a29541
    • Jean-Claude BAU's avatar
      Timestamp correction in SYNC and DELAY_REQ message · 0856535b
      Jean-Claude BAU authored
      - The origin timestamp sent in SYNC and DELAY_REQ messages is corrected
      with the egressTimestampLatency.
      0856535b
    • Jean-Claude BAU's avatar
      Timeout management correction. · 5eaba882
      Jean-Claude BAU authored
      - 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()
      5eaba882
    • Jean-Claude BAU's avatar
      L1SYNC: change UNCALIBRATED and DISABLE state behaviour · 6fc858fb
      Jean-Claude BAU authored
      - 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
      6fc858fb
    • Jean-Claude BAU's avatar
      Configuration updates · 303c9771
      Jean-Claude BAU authored
      - Set the minimum and maximum values of some parameters
      - Fix format issues in pp_printf and sscanf
      303c9771
    • Jean-Claude BAU's avatar
      Fix externalPortConfiguration issues · 6f8bd484
      Jean-Claude BAU authored
      - Force to stay on UNCALIBRATED state (was going to slave state)
      - Force to stay on PRE-MASTER state  (was going to master state)
      6f8bd484
    • Adam Wujek's avatar
      tools: update wrs_dump_shmem_ppsi · 2e5d6f4d
      Adam Wujek authored
      Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
      2e5d6f4d
    • Jean-Claude BAU's avatar
      Optimization timeout generation · a1858022
      Jean-Claude BAU authored
      - Reset local remaining time-out when 'select' exits due to a signal
      a1858022
    • Jean-Claude BAU's avatar
      L1SYNC Servo: fix issues · 2dfd3108
      Jean-Claude BAU authored
      - Change calculation of delayAsymmetry
      - Set offsetFromMaster (generic servo)
      - Set meanDelay (generic servo)
      2dfd3108
    • Jean-Claude BAU's avatar
      Add asymmetryCorrectionPortDS.enable · 55bbb65b
      Jean-Claude BAU authored
      55bbb65b
    • Jean-Claude BAU's avatar
      Fix minor parameter configuration issues · f35600f9
      Jean-Claude BAU authored
      - 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
      f35600f9
    • Jean-Claude BAU's avatar
      Optimization timeout generation · 1d0c29c0
      Jean-Claude BAU authored
      - 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
      1d0c29c0
    • Jean-Claude BAU's avatar
      HA updates, bug fixes and optimization · fbe6df4e
      Jean-Claude BAU authored
      - 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
      fbe6df4e
    • Jean-Claude BAU's avatar
      Fix initialization issue with configuration · e9f4ec10
      Jean-Claude BAU authored
      The default configuration was not copied in the right place in PPSI
      instance.
      e9f4ec10
    • Jean-Claude BAU's avatar
      High Accuracy - Second implementation · a45008ca
      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.
      a45008ca
    • Jean-Claude BAU's avatar
      Change the pp_msgtype_info structure · e0b61c86
      Jean-Claude BAU authored
      - 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
      e0b61c86
    • Jean-Claude BAU's avatar
      PPS configuration enhancement · fb26d591
      Jean-Claude BAU authored
      - 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.
      fb26d591
    • Jean-Claude BAU's avatar
      PPSi argument 'g' suppressed · 5dd8ccf3
      Jean-Claude BAU authored
      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.
      5dd8ccf3
    • Jean-Claude BAU's avatar
      Move common servo DS in each pp_instance. · 11b27841
      Jean-Claude BAU authored
      Missing file commit.
      11b27841