1. 22 Sep, 2014 3 commits
    • Alessandro Rubini's avatar
      general: add port_name to ppi, use it for diagnostics (not iface_name) · 63873358
      Alessandro Rubini authored
      Otherwise, if we have two PTP ports for the same interface, like
      Ethernet and UDP, we are not able to tell which message is for which.
      
      This now works as expected:
      
      ./ppsi -C "port eth0;  iface eth0; role master; proto raw; diagnostics 111" \
             -C "port eth0u; iface eth0; role master; proto udp; diagnostics 111"
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      63873358
    • Alessandro Rubini's avatar
      wrs: drive the PLL frequency when non-WR · 722e00ad
      Alessandro Rubini authored
      This adds the "adjust_frequecy" method to time-wrs. The WR servo is
      not using this method, which is only called by the normal PTP servo.
      
      With this new method, a non-WR slave is able to trim frequency,
      whereas before this commit we were only able to jump our time.  The
      code move straight the FPGA register, by having some hardware-specific
      constants explicit in the code. Thus, it is not very beautiful, but
      it works fine on my systems.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      722e00ad
    • Alessandro Rubini's avatar
      general: rename freq_ppm to freq_ppb (and fix arch-bare) · aa29b554
      Alessandro Rubini authored
      All adjustments are passed as part-per-billion, so after getting mad
      in understanding what freq_ppm was, I renamed all of them to freq_ppb.
      
      While making changes I verified this is what it is. Thus I fixed the comment
      in ppsi.h (that was wrong by a factor of 64) and the adjustment code in
      bare-time.c that made the same error (I admit I don't test arch-bare often).
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      aa29b554
  2. 06 Aug, 2014 2 commits
  3. 05 Aug, 2014 5 commits
  4. 03 Aug, 2014 2 commits
  5. 02 Aug, 2014 2 commits
  6. 21 Jul, 2014 9 commits
  7. 18 Jul, 2014 3 commits
    • Pietro Fezzardi's avatar
      std servo: no running avg and outlier removal on ofm · 8ddfbcec
      Pietro Fezzardi authored
      There is no need to remove outliers and to make a running
      average on ofm. Indeed we know that ofm = t2 - t1 -mpd.
      We are already removing outliers and averaging on mpd.
      So, if after mpd has been "cleaned", ofm still shows outliers
      or irregularities they are for sure due to t1 and t2. So they
      are errors coming from the clocks and they have not to be
      ignored. Instead they must be corrected ASAP, and to do that
      the software must be able to see them instantly. So no
      running avg nor outlier removal has to be performed on ofm values.
      8ddfbcec
    • Pietro Fezzardi's avatar
      standard servo: store accumulator in scaled nsecs · 67258e3b
      Pietro Fezzardi authored
      The integral accumulator of the PI servo is now a 64bit integer.
      The stored values are bit shifted by 10, so we have a finer
      granularity on the control.
      With the previous implementation the integral part stopped working
      when ofm was under the value of OPTS(ppi)->ai. This problem has
      been solved with this changes.
      I had to use __div64_32() from lib/div64.c, because dividing for
      a long long is not allowed in arch-wrpc (it takes too much RAM).
      67258e3b
    • Pietro Fezzardi's avatar
      arch-sim: new simulator diagnostics and config · 717a8f5e
      Pietro Fezzardi authored
      diagnostics:
      
      For testing purposes we can't just read the ofm value
      printed out by the slave, because that's only the offset
      perceived by the slave and can be wrong. We need instead to
      print out the offset obtained subtracting the real time of
      the master from the real time of the slave.
      To print out the ofm we use the "ext" flag of pp_diag.
      The ofm is printed only when the slave gets a
      DelayResp message from the master.
      A new tool to strip ofm out of simulator log is provided
      
      config:
      
      now the max number of simulated ptp iterations can be configured.
      previously one could set the number of seconds to simulate.
      this is not possible anymore.
      717a8f5e
  8. 09 Jul, 2014 1 commit
  9. 26 Mar, 2014 6 commits
  10. 21 Mar, 2014 7 commits