1. 04 Nov, 2016 2 commits
  2. 25 Oct, 2016 3 commits
  3. 20 Sep, 2016 2 commits
    • Alessandro Rubini's avatar
      Support E2E build without P2P. Saves 5kB in wrpc-sw · 3542ae48
      Alessandro Rubini authored
      Here in ppsi,
      
        ./MAKEALL wrpc_defconfig wrpc_pdelay_defconfig
      
      shows a very small difference, but most pdelay code is then
      discarded by the wrpc-sw link time, due to --gc-sections.
      This is the result:
      
         laptopo% ./MAKEALL spec_defconfig spec_pdelay_defconfig
         ##### Building with 'spec_defconfig'
         /opt/lm32-gcc-4.5.3/bin/lm32-elf-ar: creating libsdbfs.a
            text    data     bss     dec     hex filename
           87688    3492    6352   97532   17cfc wrc.elf
         ##### Building with 'spec_pdelay_defconfig'
         /opt/lm32-gcc-4.5.3/bin/lm32-elf-ar: creating libsdbfs.a
            text    data     bss     dec     hex filename
           93140    3492    6360  102992   19250 wrc.elf
      
      What is missing now is the run-time choice between e2e and p2p. Later....
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      3542ae48
    • Davide Ciminaghi's avatar
      d2b2c636
  4. 16 Jun, 2016 2 commits
  5. 16 May, 2016 7 commits
  6. 06 Jul, 2015 5 commits
  7. 26 Jun, 2015 1 commit
  8. 05 Feb, 2015 1 commit
  9. 05 Dec, 2014 1 commit
    • Alessandro Rubini's avatar
      general: move buffers our of pp_instance, and make them smaller · d93b31c7
      Alessandro Rubini authored
      In order to fit all pp_instance items withing WRS shared memory,
      we need to make them a little smaller.  Thus, the tx and rx buffers
      are now allocated separately.  And, while I am at it, I make them
      smaller, because 128 bytes are more than enough for PTP with
      extensions (all frames are under 100 bytes). Given we are always
      showr of memory in wrpc-sw, this is benefical.
      
      As a side effect, clean up some out-of-memory exit paths, and fix a
      use-before-check buglet in arch-unix (no, we never go out of memory,
      but the check was wrong).
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      d93b31c7
  10. 13 Nov, 2014 1 commit
  11. 11 Nov, 2014 1 commit
  12. 07 Nov, 2014 7 commits
  13. 22 Sep, 2014 1 commit
  14. 21 Jul, 2014 1 commit
  15. 18 Jul, 2014 2 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
  16. 21 Mar, 2014 1 commit
    • Pietro Fezzardi's avatar
      config: removed global variables current_ppg and current_ppi · 899ab83e
      Pietro Fezzardi authored
      New prototype for cfg_handler to remove the global variable *current_ppg.
      The current ppg is now passed as argument to the cfg handler as follows:
      
      typedef int (*cfg_handler)(int lineno, struct pp_globals *ppg,
      				union pp_cfg_arg *arg);
      
      New variable added in include/ppsi/pp-instance.h:
      
      struct pp_globals_cfg {
      	int cfg_items;
      	int cur_ppi_n;
      };
      
      Now struct pp_globals has a new field:
      
      struct pp_globals {
      	[...]
      	struct pp_globals_cfg cfg;
      	[...]
      };
      
      The field cfg_items has been moved from pp_globals
      to pp_globals_cfg. The configuration routine uses the field
      cur_ppi_n inside pp_globals_cfg to store the current ppi being
      configured. So neither the global variable *current_ppi is needed
      anymore.
      
      The helper inline function CUR_PPI has been defined to make
      accesses to current ppi more readable.
      899ab83e
  17. 02 Mar, 2014 1 commit
  18. 07 Nov, 2013 1 commit