Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The OpenWSN team has entirely re-architected the directory structure of the project to significantly simplify the organization.

In particular, we We have "flattened" the directory structure:, making it much easier to navigate and understand. In particular the OpenWSN stack (IEEE802.15.4e, RPL, 6LoWPAN, CoAP) is now in a different directory than the applications which run on top of it. This cleaner organization allows for example dynamic application compilation (see below).

1.6.0 structure1.8.0 structure

 

Porting from 1.6.0 to 1.8.0

poEach root directory contains a README fie which helps your navigate the project on GitHub.

On top of that, we have introduced a dynamic application compilation. This means that you can add one or more applications on top of the OpenWSN stack directly from the command line.

To compile the OpenWSN project on the TelosB with default applications, use:

Code Block
scons board=telosb toolchain=mspgcc oos_openwsn
Expand
titleComplete output...
Code Block
C:\Users\Thomas\Desktop\openwsn-fw>scons board=telosb toolchain=mspgcc oos_openwsn
scons: Reading SConscript files ...
 ___                 _ _ _  ___  _ _
| . | ___  ___ ._ _ | | | |/ __>| \ |
| | || . \/ ._>| ' || | | |\__ \|   |
`___'|  _/\___.|_|_||__/_/ <___/|_\_|
     |_|                  openwsn.org
scons: done reading SConscript files.
scons: Building targets ...
Compiling projects\common\03oos_openwsn\03oos_openwsn.o
Compiling build\telosb_mspgcc\openstack\openstack.o
Compiling build\telosb_mspgcc\openstack\02a-MAClow\topology.o
Compiling build\telosb_mspgcc\openstack\02a-MAClow\IEEE802154.o
Compiling build\telosb_mspgcc\openstack\02a-MAClow\IEEE802154E.o
Compiling build\telosb_mspgcc\openstack\02a-MAClow\adaptive_sync.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\neighbors.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\otf.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\processIE.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\schedule.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\sixtop.o
Compiling build\telosb_mspgcc\openstack\03a-IPHC\iphc.o
Compiling build\telosb_mspgcc\openstack\03a-IPHC\openbridge.o
Compiling build\telosb_mspgcc\openstack\03b-IPv6\forwarding.o
Compiling build\telosb_mspgcc\openstack\03b-IPv6\icmpv6.o
Compiling build\telosb_mspgcc\openstack\03b-IPv6\icmpv6echo.o
Compiling build\telosb_mspgcc\openstack\03b-IPv6\icmpv6rpl.o
Compiling build\telosb_mspgcc\openstack\04-TRAN\opencoap.o
Compiling build\telosb_mspgcc\openstack\04-TRAN\opentcp.o
Compiling build\telosb_mspgcc\openstack\04-TRAN\openudp.o
Compiling build\telosb_mspgcc\openstack\cross-layers\idmanager.o
Compiling build\telosb_mspgcc\openstack\cross-layers\openqueue.o
Compiling build\telosb_mspgcc\openstack\cross-layers\openrandom.o
Compiling build\telosb_mspgcc\openstack\cross-layers\packetfunctions.o
Archiving build\telosb_mspgcc\openstack\libopenstack.a
Indexing  build\telosb_mspgcc\openstack\libopenstack.a
Dynifying build\telosb_mspgcc\openapps\openapps_dyn.c
Compiling build\telosb_mspgcc\openapps\openapps_dyn.o
Compiling build\telosb_mspgcc\openapps\c6t\c6t.o
Compiling build\telosb_mspgcc\openapps\cinfo\cinfo.o
Compiling build\telosb_mspgcc\openapps\cleds\cleds.o
Compiling build\telosb_mspgcc\openapps\cwellknown\cwellknown.o
Compiling build\telosb_mspgcc\openapps\techo\techo.o
Compiling build\telosb_mspgcc\openapps\uecho\uecho.o
Archiving build\telosb_mspgcc\openapps\libopenapps.a
Indexing  build\telosb_mspgcc\openapps\libopenapps.a
Compiling build\telosb_mspgcc\kernel\openos\scheduler.o
Archiving build\telosb_mspgcc\kernel\openos\libopenos.a
Indexing  build\telosb_mspgcc\kernel\openos\libopenos.a
Compiling build\telosb_mspgcc\drivers\common\openhdlc.o
Compiling build\telosb_mspgcc\drivers\common\openserial.o
Compiling build\telosb_mspgcc\drivers\common\opentimers.o
Archiving build\telosb_mspgcc\drivers\libdrivers.a
Indexing  build\telosb_mspgcc\drivers\libdrivers.a
Compiling build\telosb_mspgcc\bsp\boards\telosb\board.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\bsp_timer.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\debugpins.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\eui64.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\leds.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\radiotimer.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\spi.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\uart.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\cc2420\radio.o
Archiving build\telosb_mspgcc\bsp\boards\telosb\libbsp.a
Indexing  build\telosb_mspgcc\bsp\boards\telosb\libbsp.a
Linking   projects\common\03oos_openwsn_prog.exe
msp430-size projects\common\03oos_openwsn_prog.exe
   text    data     bss     dec     hex filename
  43296       0    4038   47334    b8e6 projects\common\03oos_openwsn_prog.exe
msp430-objcopy --output-target=ihex projects\common\03oos_openwsn_prog.exe projects\common\03oos_openwsn_prog.ihex
msp430-objcopy --output-target=binary projects\common\03oos_openwsn_prog.exe projects\common\03oos_openwsn_prog.bin
scons: done building targets.

Now, to add the cexample application, use

Code Block
scons board=telosb toolchain=mspgcc apps=cexample oos_openwsn
Expand
titleComplete output...
Code Block
C:\Users\Thomas\Desktop\openwsn-fw>scons board=telosb toolchain=mspgcc apps=cexample oos_openwsn
scons: Reading SConscript files ...
 ___                 _ _ _  ___  _ _
| . | ___  ___ ._ _ | | | |/ __>| \ |
| | || . \/ ._>| ' || | | |\__ \|   |
`___'|  _/\___.|_|_||__/_/ <___/|_\_|
     |_|                  openwsn.org
scons: done reading SConscript files.
scons: Building targets ...
Compiling projects\common\03oos_openwsn\03oos_openwsn.o
Compiling build\telosb_mspgcc\openstack\openstack.o
Compiling build\telosb_mspgcc\openstack\02a-MAClow\topology.o
Compiling build\telosb_mspgcc\openstack\02a-MAClow\IEEE802154.o
Compiling build\telosb_mspgcc\openstack\02a-MAClow\IEEE802154E.o
Compiling build\telosb_mspgcc\openstack\02a-MAClow\adaptive_sync.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\neighbors.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\otf.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\processIE.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\schedule.o
Compiling build\telosb_mspgcc\openstack\02b-MAChigh\sixtop.o
Compiling build\telosb_mspgcc\openstack\03a-IPHC\iphc.o
Compiling build\telosb_mspgcc\openstack\03a-IPHC\openbridge.o
Compiling build\telosb_mspgcc\openstack\03b-IPv6\forwarding.o
Compiling build\telosb_mspgcc\openstack\03b-IPv6\icmpv6.o
Compiling build\telosb_mspgcc\openstack\03b-IPv6\icmpv6echo.o
Compiling build\telosb_mspgcc\openstack\03b-IPv6\icmpv6rpl.o
Compiling build\telosb_mspgcc\openstack\04-TRAN\opencoap.o
Compiling build\telosb_mspgcc\openstack\04-TRAN\opentcp.o
Compiling build\telosb_mspgcc\openstack\04-TRAN\openudp.o
Compiling build\telosb_mspgcc\openstack\cross-layers\idmanager.o
Compiling build\telosb_mspgcc\openstack\cross-layers\openqueue.o
Compiling build\telosb_mspgcc\openstack\cross-layers\openrandom.o
Compiling build\telosb_mspgcc\openstack\cross-layers\packetfunctions.o
Archiving build\telosb_mspgcc\openstack\libopenstack.a
Indexing  build\telosb_mspgcc\openstack\libopenstack.a
Dynifying build\telosb_mspgcc\openapps\openapps_dyn.c
Compiling build\telosb_mspgcc\openapps\openapps_dyn.o
Compiling build\telosb_mspgcc\openapps\c6t\c6t.o
Compiling build\telosb_mspgcc\openapps\cexample\cexample.o
Compiling build\telosb_mspgcc\openapps\cinfo\cinfo.o
Compiling build\telosb_mspgcc\openapps\cleds\cleds.o
Compiling build\telosb_mspgcc\openapps\cwellknown\cwellknown.o
Compiling build\telosb_mspgcc\openapps\techo\techo.o
Compiling build\telosb_mspgcc\openapps\uecho\uecho.o
Archiving build\telosb_mspgcc\openapps\libopenapps.a
Indexing  build\telosb_mspgcc\openapps\libopenapps.a
Compiling build\telosb_mspgcc\kernel\openos\scheduler.o
Archiving build\telosb_mspgcc\kernel\openos\libopenos.a
Indexing  build\telosb_mspgcc\kernel\openos\libopenos.a
Compiling build\telosb_mspgcc\drivers\common\openhdlc.o
Compiling build\telosb_mspgcc\drivers\common\openserial.o
Compiling build\telosb_mspgcc\drivers\common\opentimers.o
Archiving build\telosb_mspgcc\drivers\libdrivers.a
Indexing  build\telosb_mspgcc\drivers\libdrivers.a
Compiling build\telosb_mspgcc\bsp\boards\telosb\board.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\bsp_timer.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\debugpins.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\eui64.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\leds.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\radiotimer.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\spi.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\uart.o
Compiling build\telosb_mspgcc\bsp\boards\telosb\cc2420\radio.o
Archiving build\telosb_mspgcc\bsp\boards\telosb\libbsp.a
Indexing  build\telosb_mspgcc\bsp\boards\telosb\libbsp.a
Linking   projects\common\03oos_openwsn_prog.exe
msp430-size projects\common\03oos_openwsn_prog.exe
   text    data     bss     dec     hex filename
  43678       0    4060   47738    ba7a projects\common\03oos_openwsn_prog.exe
msp430-objcopy --output-target=ihex projects\common\03oos_openwsn_prog.exe projects\common\03oos_openwsn_prog.ihex
msp430-objcopy --output-target=binary projects\common\03oos_openwsn_prog.exe projects\common\03oos_openwsn_prog.bin
scons: done building targets.

Porting from 1.6.0 to 1.8.0

Applications which ran on OpenWSN 1.6.0 will continue to run on OpenWSN 1.8.0.

If you have made changes to the stack itself (MAC, routing, etc.), you will need to sync your fork or simply remove and re-fork the project.

Download

The release is composed of two parts:

...