...
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 structure | 1.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 |
---|
|
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 |
---|
|
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:
...