Commit Graph

9459 Commits

Author SHA1 Message Date
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
Adam Dunkels
14aedabffd Updated to match the new leds_toggle() API 2014-06-12 20:02:33 +02:00
Adam Dunkels
60e8b29d53 Merge pull request #721 from g-oikonomou/relocate-gnurl78
Download the RL 78 toolchain from a different URL
2014-06-12 20:02:14 +02:00
George Oikonomou
9df2572c5d Download the RL 78 toolchain from a different URL
Fixes #720
2014-06-12 09:10:26 +01:00