1. 16 Feb, 2017 1 commit
  2. 04 Apr, 2016 6 commits
    • Alessandro Rubini's avatar
      dev.mk: bugfix host build · 427b1b37
      Alessandro Rubini authored
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      427b1b37
    • Alessandro Rubini's avatar
      d232aff8
    • Alessandro Rubini's avatar
      Support for host builds. · cf33ae1d
      Alessandro Rubini authored
      This commit is not breaking the current status, but adds the
      ability to build on the host, to simulate and (mainly) to help
      me hack the networking code in a simpler/faster environment.
      
      Missing features:
      	- ptp
      	- build in i386 (currently x86-64 is hardwired)
      
      Also, this commit requires a change in ppsi, that I'm not going to
      commit now: we must get rid of the main function (most of that
      stuff is done win wrc_ptp.c, which we must replicate  in a unix-compatible
      way).
      
      This is the ppsi change
      
         --- a/arch-unix/Makefile
         +++ b/arch-unix/Makefile
         @@ -4,7 +4,7 @@ A := arch-$(ARCH)
      
          CFLAGS += -Itools
      
         -OBJ-y += $A/unix-startup.o \
         +OBJ-y += \
                 $A/main-loop.o \
                 $A/unix-io.o \
                 $A/unix-conf.o \
      
      Local changes in this commit:
            - adding CONFIG_HOST_PROCESS and the auto-generated opposites:
            CONFIG_LM32 and CONFIG_EMBEDDED_NODE (LM32 && NODE)
      
            - make some config option depend on !HOST_PROCESS
      
            - Makefile: some dependencies on HOST_PROCESS and the opposite
      
            - */*.mk: some dev and shell objects depend on
            CONFIG_EMBEDDED_NODE instead of CONFIG_WR_NODE (i.e.: both a
            node and an lm32)
      
            - new host/ subdir where some placeholders are placed
      
            - no sdb support on the host
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      cf33ae1d
    • Alessandro Rubini's avatar
      temperature: add a fake temperature-set to show how to use it · c58702a0
      Alessandro Rubini authored
      We have three temperatures, called "roof", "core", "case"
      (yess rubi like word same lengt, s/he most love four).
      
      There is a "faketemp" command that can set one two or all of them.
      This allows to test negative temperatures in printouts (White Rabbit
      in Siberia does it, but we southish can't test easily).
      
      All temperatures are initialized to invalid. Example:
      
         wrc# faketemp -10 -2.5
         wrc# faketemp
         fff60000 fffd8003 80000000
         wrc# temp
         pcb:84.7500 roof:-10.0000 core:-2.4999 case:INVALID
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      c58702a0
    • Alessandro Rubini's avatar
      temperature: add a temperature framework · e2e7d59a
      Alessandro Rubini authored
      This commit adds data structures, methods and a process to manage
      temperature.  Currently the only temperature being read is the onewire
      thermometer, so there is no difference with what we had before.
      The cost is 1.1 kB in binary size.
      
      Well, there is a difference: only the stat engine was reading
      temperature, while now the thermometer is read continuously (every 15
      seconds, or another Kconfig-urable interval).  This takes quite some
      CPU time (18.5ms per polling loop, but allows any user to read
      temperature (using the API we now provide) without re-reading the
      onewire bus.
      
      The real aim of this is monitoring a board-specific set of sensors,
      as implemented and show in the next commit.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      e2e7d59a
    • Alessandro Rubini's avatar
      vlan: add "vlan off" command, switch pfilter rule-set at runtime · d4c72f47
      Alessandro Rubini authored
      This allows a node built with CONFIG_VLAN to choose at run-time
      whether vlans are allowed or not.  We build both pfilter rule-sets,
      and according to the active vlan number we write one or the other.
      
      The case "CONFIG_VLAN is not set" is handled by providing default
      NULL pointers for beginning and end of the vlan rule-set.
      
      As a side effect, I renamed the files and the functions in
      the pfilter-builder.
      
      This is how it works for me, with CONFIG_PFILTER_VERBOSE set,
      so you see different rule-set  are used (29 rules vs. 16 rules):
      
          wrc# vlan set 0
          0 ("0") out of range
          Command "vlan": error -22
          wrc# vlan off
          fixing MAC adress in rule: use 22:33:44:55:66:77
          pfilter rule 00: 4.00000000
          pfilter rule 01: 1.e4466013
          [...]
          pfilter rule 28: 8.00000000
          current vlan: 0 (0x0)
          wrc# ip set 10.0.0.2
          IP-address: 10.0.0.2 (static assignment)
      
        (and I am now reachable by untagged frames)
      
          wrc# vlan set 10
          fixing MAC adress in rule: use 22:33:44:55:66:77
          fixing VLAN number in rule: use 10
          pfilter rule 00: 4.00000000
          pfilter rule 01: 1.e4466013
          [...]
          pfilter rule 15: 8.00000000
          current vlan: 10 (0xa)
      
        (and I am now reachable on vlan 10)
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      
      Conflicts:
      	Makefile
      d4c72f47
  3. 13 Oct, 2015 1 commit
  4. 08 Jan, 2015 2 commits
  5. 06 Jan, 2015 1 commit
  6. 18 Nov, 2014 1 commit
  7. 11 Feb, 2014 1 commit
  8. 14 Nov, 2013 1 commit
  9. 17 Oct, 2013 1 commit
  10. 24 Sep, 2013 2 commits
  11. 26 Apr, 2013 1 commit
    • Cesar Prados's avatar
      w1: implement eeprom support · 4408ce6c
      Cesar Prados authored
      This also adds three shell commands, for testing:
      
           w1w PAGE TEXT
           w1r PAGE
           w1test
      
      The w1test command writes to 80 pages and reads them back (warning: it
      erases the whole device).
      4408ce6c
  12. 03 Apr, 2013 2 commits
    • Alessandro Rubini's avatar
      onewire: Kconfig choice between w1 and sockitowm · ad2efece
      Alessandro Rubini authored
      This adds the build choice about whether to use the older sockitowm or
      the new "w1" implementation, which supports all three thermometers
      but is still missing eeprom support (the API is defined, though, see
      include/w1.h
      
      This also adds a shell command, called "w1", which rescans the bus and
      tries to read the temperature from all devices. In the example below
      the third device is an eeprom, so it return an error for temperature
      read-out.
      
         wrc# w1
         W1: 68000801dce56910
         W1: f70000001eda8242
         W1: 5f00000040e50143
         device 0: 68000801dce56910
         temp: 34.7500
         device 1: f70000001eda8242
         temp: 32.5000
         device 2: 5f00000040e50143
         temp: -32768.0000
      
      The code is properly integrated in wrpc-sw, and the "first" thermometer is
      used to build the MAC address of the device, like it used to be with
      sockitowm.
      
      The binary built with w1 is 3kB smaller than what is build with sockitowm.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      ad2efece
    • Alessandro Rubini's avatar
      dev: introduce uart-sw · fd3f8864
      Alessandro Rubini authored
      This introduces dev/uart-sw as an alternative to dev/uart . The
      software-only thing is a pair of circular buffers that can be driven
      by tools/wrpc-uart-sw .
      
      The software uart can be enabled by Kconfig (and is disabled by
      default).  The code size is the same as the uart, but it "wastes" 306
      bytes of data space.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      fd3f8864
  13. 19 Mar, 2013 1 commit
  14. 01 Nov, 2012 1 commit
  15. 11 Jul, 2012 1 commit
  16. 09 Jul, 2012 1 commit
  17. 04 Jul, 2012 1 commit
  18. 13 Jun, 2012 1 commit
  19. 06 Jun, 2012 1 commit