Commit graph

9462 commits

Author SHA1 Message Date
Enrico Joerns defcd1a34c [cooja] ContikiMoteType: Moved further parse functions to SectionParser classes 2014-07-31 21:53:35 +02:00
Enrico Joerns 66d4dad1e1 [cooja] Removed offset from SectionMoteMemory to make it more generic 2014-07-31 21:53:35 +02:00
Enrico Joerns c5ff3555a0 [cooja] ContikiMoteType: Introduce abstract SectionParser
Should encapsulate and decrease both redundancy and code duplication
2014-07-31 21:53:10 +02:00
Enrico Joerns f4979ffeeb [cooja] memory: SectionMoteMemory implementation of MemoryInterface functions
as forwarding to encapsulated memory sections

Requires to make use of Symbol class for cooja motes, too
2014-07-31 21:20:09 +02:00
Enrico Joerns 070e0ba0fc [cooja] memory: Implementation of simple array-backed memory class 'ArrayMamory' 2014-07-31 21:20:09 +02:00
Enrico Joerns f6a0f54424 [cooja] ContikiMoteType: Some renames and function reordering 2014-07-31 21:20:09 +02:00
Enrico Joerns dae92d93bb [cooja] ContikiMoteType: Non-functional indention and code style updates 2014-07-31 21:20:09 +02:00
Enrico Joerns 434c4db1a2 [cooja] Implementation of former MspMoteMemory dummy functions 2014-07-31 21:20:08 +02:00
Enrico Joerns e5a35821c3 [cooja] Implementation of former AvrMoteMemory dummy functions 2014-07-31 21:20:08 +02:00
Enrico Joerns 186240821f [cooja] memory: Moved SectionMoteMemory to package memory 2014-07-31 21:20:08 +02:00
Enrico Joerns 44767324a5 [cooja] memory: Removed AddressMemory class including all references 2014-07-31 21:20:01 +02:00
Enrico Joerns 482dab5d16 [cooja] memory: Removed MoteMemory class including all references 2014-07-31 21:08:18 +02:00
Enrico Joerns 9dd29d56c9 [cooja] getMemory() now returns MemoryInterface
Including code adaptions based on new memory methods to keep code compilable
2014-07-31 21:08:18 +02:00
Enrico Joerns 19d07beb16 [cooja] memory: SectionMoteMemory dummy implementation of MemoryInterface 2014-07-31 21:08:18 +02:00
Enrico Joerns 6b15e7837d [cooja] memory: Added address and symbol based memory access classes 2014-07-31 21:04:53 +02:00
Enrico Joerns d1c05300a9 [cooja] memory: AvrMoteMemory and MspMoteMemory dummy implementation of MemoryInterface 2014-07-31 16:30:05 +02:00
Enrico Joerns 128ef57289 [cooja] memory: Introduce minimal memory access interface 'MemoryInterface'
A mote should provide access to its memory using this interface.
All high-level access methods are wrapped around this minimal interface.

Contains dummy-implementations of functions for AvrMoteMemory and MspMoteMemory
2014-07-31 16:27:25 +02:00
Enrico Joerns 4ac0250dc9 [cooja] Added base class MemoryBuffer for reading and writing both simple and complex data structures
to and from memory with support for padding.
2014-07-31 13:32:06 +02:00
Enrico Joerns 579f0a9a93 [cooja] Added MemoryLayout class to represent basic information about
motes memory such as word size or endianess
2014-07-31 13:32:06 +02:00
Enrico Joerns c6f8a2d558 [cooja] Added @Override annotations for relevant files 2014-07-31 13:32:06 +02:00
Mariano Alvira 01bd045570 Merge pull request #737 from jimparis/slip-buffer-overflow-fixes
Increase fixed filename sizes in SLIP tunnels
2014-07-08 09:16:50 -04:00
Mariano Alvira 4051cd38a0 Merge pull request #748 from jimparis/travis-cleanup
Travis cleanup
2014-07-08 09:15:34 -04:00
Jim Paris 21b78de088 Increase fixed filename sizes in SLIP tunnels
Long serial port names like
  /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DN0038W8-if00-port0
cause crashes.  This is the simplest fix to avoid the problem.
2014-07-08 01:48:28 -04:00
Jim Paris b5f37e856c Rename travis "arm" BUILD_ARCH to "arm-apcs".
These platforms are built with an old ARM compiler that supports the
deprecated APCS standard.
2014-07-08 01:48:28 -04:00
Jim Paris 6d7464a422 Add retries to commands that download from external servers.
This helps reduce the chance of a build failure due to transient
download error.  This also switches to consistent use of wget
throughout, which reports download errors more cleanly in the travis
build logs.
2014-07-08 01:48:28 -04:00
Jim Paris 4242182588 Clean up script commands in .travis.yml.
Besides general whitespace and quoting cleanup, commands that test
variables were changed from:
  [ $B = a ] && command || true
to
  if [ $B = a ] ; then command ; fi
This form correctly returns the exit code of "command".
2014-07-05 23:44:46 -04:00
Nicolas Tsiftes 784b20c04d Merge pull request #739 from alignan/merge_z1sp_with_z1
Merges Z1SP into Z1 platform
2014-07-04 22:03:27 +02:00
Oliver Schmidt 80edbe14a9 Merge pull request #747 from oliverschmidt/master
Only wait for a keypress if the user is told to press a key.
2014-07-04 20:00:40 +02:00
Oliver Schmidt 9ee1bae150 Only wait for a keypress if the user is told to press a key. 2014-07-04 19:33:35 +02:00
Antonio Lignan 5467674fcc Merges Z1SP into Z1 platform 2014-07-04 10:41:05 +02:00
Nicolas Tsiftes ccc75404f4 Merge pull request #711 from gebart/upstream-fix-implicit-definitions
uip.h missing #include <string.h>
2014-07-02 16:36:03 +02:00
Mariano Alvira ed87b928c5 Merge pull request #734 from hexluthor/rl78-linkaddr
rl78: Change RIMEADDR_CONF_SIZE to LINKADDR_CONF_SIZE
2014-06-29 08:01:02 -04:00
Ian Martin 6ae6c4768e rl78: Change RIMEADDR_CONF_SIZE to LINKADDR_CONF_SIZE because the rimeaddr module has been renamed to linkaddr. 2014-06-28 22:07:57 -04:00
Nicolas Tsiftes 782de873e4 Merge pull request #650 from cetic/pr-rpl-hbh-fixes
Fix for RPL Hop-by-Hop options
2014-06-27 14:43:00 +02:00
Laurent Deru 02972e6514 Improve RPL hop-by-hop option detection 2014-06-27 09:45:57 +02:00
Laurent Deru d45782fbcd Insert properly Hop-by-Hop option at first hop 2014-06-27 09:45:51 +02:00
Laurent Deru 2dfe2c377f Setting uip_ext_len again breaks hop-by-hop option 2014-06-27 09:43:53 +02:00
Laurent Deru b6742e5eb5 Sender rank in Hop-by-Hop option has inverted bytes 2014-06-27 09:43:53 +02:00
Nicolas Tsiftes 43731dbb68 Merge pull request #637 from alignan/z1-add-flags-20bit-support
Added flags to enable 20-bit support from msp430-gcc 4.7.x
2014-06-19 09:56:52 +02:00
Adam Dunkels ad4c1b9218 Merge pull request #729 from g-oikonomou/fix-nd6-sdcc
Fix SDCC Compile Error
2014-06-18 08:14:48 +02:00
George Oikonomou 32a7572f25 Fix SDCC Compile Error 2014-06-17 22:20:49 +01:00
Antonio Lignan 3d64b80e40 Added flags to enable 20-bit support from msp430-gcc 4.7.x 2014-06-17 12:55:08 +02:00
Nicolas Tsiftes 24e260910c Merge pull request #718 from g-oikonomou/rpl-dodagid-compliance
Make DODAG ID selection RFC 6550-compliant
2014-06-13 15:33:56 +02:00
Nicolas Tsiftes 4ce3e4dee8 Merge pull request #701 from tim-ist/routing_fix
Re-create a routing table entry if the next hop is changed.
2014-06-13 14:56:56 +02:00
Timofei Istomin 65ef375bdb Re-create a routing table entry if the next hop is changed.
The next-hop address did not get updated in the routing table
in case an entry for the destination already existed.

This patch resolves the issue by removing the entry and
having it re-created from scratch.

The issue causes a routing error triggering reconstruction of
the DODAG through version increase.

In case of somewhat frequent downward traffic in not (yet) stabilized DODAG
a vicious circle is formed: unstable topology means churn, downward
routing under churn causes reconstruction of DODAG. In this situation
the network does not have chance to stabilize.

We encountered a constant churn caused by this bug
in a network of 50 nodes and a periodic traffic (a packet every 5
seconds) generated at the root.

More info and a PCAP demonstrating the issue can be found here:
https://github.com/contiki-os/contiki/issues/496
2014-06-13 13:31:15 +02:00
Nicolas Tsiftes 4c5fa6ff5d Merge pull request #713 from adamdunkels/pr/drop-iris
Remove the unmaintained iris platform
2014-06-13 12:57:52 +02:00
Oliver Schmidt e2d56395ea Merge pull request #725 from oliverschmidt/master
Enhanced Ethernet drivers.
2014-06-12 23:40:25 +02:00
Oliver Schmidt d955b179eb Merge remote-tracking branch 'upstream/master' 2014-06-12 22:57:46 +02:00
Oliver Schmidt a5d7a06027 Enhanced Ethernet drivers.
Made Ethernet drivers easier to consume by assembly programs.
* Replaced function pointers with JMP instructions.
* Provide return values additionally via Carry flag.

Reset Ethernet chips on initialization.
Both for the CS8900A and the W5100 the data sheets just say that
the RESET bit is automatically cleared after the RESET. This may
be interpreted in two ways:
1) There's no need to be afraid of reading the RESET bit as 1 and
unintentionally trigger a RESET by writing it back after ORing in
some other bit.
2) The RESET process isn't complete before the RESET bit hasn't
become 0 again.
It's impossible for me to empirically falsify the latter option
as the drivers are supposed to work on faster machines than the
ones I have access to. And if the RESET process includes things
like oscillators then the time to complete the RESET could differ
even between multiple exemplars of the same chip. Therefore I
opted to presume the latter option.
However that means a non-exsistent chip may cause an infinite
loop while waiting for the RESET bit to be cleared so I finally
added code to detect the presence of the Ethernet chips. There's
a risk of a chip being locked up in a way that makes the detection
fail - and therefore the RESET not being performed. This catch-22
needs to be solved by the user doing a hard RESET.
2014-06-12 22:56:35 +02:00
Adam Dunkels 5bcdbb22cc Merge pull request #724 from adamdunkels/pr/toggle
Quick travis fail fix: leds_toggle()
2014-06-12 21:41:54 +02:00