Commit graph

11593 commits

Author SHA1 Message Date
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
Atis Elsts 705587cdb7 Fix time accounting on msp430 Series 1 and Series 2 MCU based platforms.
The problem with the current version of the code was that the condition at the end of the do...while loop at Timer A1 interrupt:
 while((TACCR1 - TAR) > INTERVAL);
evaluates to false whenever TACCR1 == TAR.
Not incrementing TACCR1 in this case leads to Timer A1 interrupt not being called for 2 seconds, until TAR counter reaches TACCR1 again after an overflow.

The patch avoids this problem by changing the condition of the loop, and using CLOCK_LT macro to compare between time values.

The patch also attempts to fix another problem: a read of TAR register while it is being updated may return a lower value than the actual contents. To avoid that, the "read twice and compare results" idiom should be used. As the TAR register is updated by the actual hardware, it is of no importance whether it is read with interrupts disabled or enabled; the problem can occur in both contexts.
2014-07-02 11:07:02 +02:00
Rémy Léone f111058472 Removing trailing whitespaces 2014-06-30 20:01:05 +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
Camilo Rodegheri a50e933f4b Update README.md
Adding new command for ftdi_sio which applies to Kernel>3.12 used by Ubuntu 14.04 LTS
2014-06-21 15:04:48 -03: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
Sébastien De Fauw 22caf4b2e1 Prefix Information Option never send in RA messages
The problem came from the fact that there two opposite macro (UIP_CONF_ROUTER) that could not activate the code responsible to send the PIO option in NDP.
2014-06-17 11:41:43 +02:00
Sébastien De Fauw b441901321 IPv6 host adds prefixes successfully but return always NULL
In Neighbor Discovery Protocol, when IPv6 host adds a prefix (coming from PIO) but it is always failing whatever if is successfully add in prefix table. The reason comes from the fact that the function uip_ds6_prefix_add in host version always return NULL. This is opposite of the specification of the router version.
2014-06-17 11:38:07 +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
Roy Scheefhals 1058ea986a Changed the parameter 'char * data' of process_start to the
type process_data_t. This was an artifact when the choice was
made to use the void * type for the data parameter in processes.

Changed parameter 'void * data' of process_post_synch to
process_data_t for consistency.

Checked all the uses of process_start() in contiki and fixed casts
of the data parameter.
2014-06-12 13:40:28 +02:00
George Oikonomou 9df2572c5d Download the RL 78 toolchain from a different URL
Fixes #720
2014-06-12 09:10:26 +01:00
George Oikonomou a9e7bea675 Make DODAG ID selection RFC 6550-compliant
Some calls to `rpl_set_root` select a hardcoded DODAG ID
(0x1111, 0x1100, 0, 0, 0, 0, 0, 0x0011)

This is against what RFC 6550 says. We change these calls
to select a DODAG ID corresponding to a routable v6 address
corresponding to the root
2014-06-12 00:09:53 +01:00
George Oikonomou 32bc98b0da Fix code style in rpl_set_root prototype 2014-06-11 23:59:17 +01:00
Ian Martin e5add3d1f8 Make protothread semaphores interrupt-safe. 2014-06-11 18:44:59 -04:00
Adam Dunkels bf7e191ef3 ENC28j60 Ethernet driver code 2014-06-12 00:03:44 +02:00
Adam Dunkels cff30a394b Merge pull request #635 from nfi/linkaddr-size
Use LINKADDR_SIZE instead of sizeof(linkaddr_t) to avoid struct padding problems.
2014-06-11 23:18:27 +02:00
Adam Dunkels eceaf0c59b Merge pull request #631 from nfi/framer-len
Added function to framer that returns the estimated header length
2014-06-11 23:17:47 +02:00
Adam Dunkels 9ceb059c21 Merge pull request #611 from nfi/cc2x20-sfd-config
Corrected CC2x20 sfd config and startup message.
2014-06-11 23:17:05 +02:00
Adam Dunkels f13184383c Merge pull request #613 from nfi/distclean
Fixed distclean to work when CONTIKI_PROJECT is set to multiple files.
2014-06-11 23:16:36 +02:00
Adam Dunkels 0516927677 Merge pull request #666 from simonduq/rpl-etx-init
Set initial link ETX to 2
2014-06-11 22:42:48 +02:00
Adam Dunkels def57199b9 Merge pull request #511 from ADVANSEE/leds
leds: Fixes and enhancements
2014-06-11 22:37:34 +02:00
Adam Dunkels d7e4443ab2 Remove the unmaintained iris platform 2014-06-11 19:52:19 +02:00
Nicolas Tsiftes 40d33657a3 Merge pull request #710 from nvt/coffee-filename-fix
Coffee: Copy the correct number of bytes in filenames
2014-06-11 18:10:12 +02:00
Joakim Gebart 997aef49d8 core/net/uip.h: Add missing #include <string.h>
Fixes implicit definition of memcmp() warnings/errors.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
2014-06-11 18:04:34 +02:00
Nicolas Tsiftes fb4fc312f1 Merge pull request #612 from nfi/assert
Undefine the assert macro to avoid compiler warning.
2014-06-11 15:43:17 +02:00
Nicolas Tsiftes 7004355c0f Do not copy more bytes than the filename string contains. 2014-06-11 14:10:00 +02:00
George Oikonomou 3552376324 Merge pull request #702 from g-oikonomou/ieee-addr-fixes
Fix incorrect IEEE address byte re-ordering
2014-06-11 09:54:52 +01:00
George Oikonomou 48196bace3 Merge pull request #694 from g-oikonomou/fix-surplus-travis
Improve travis RL78 tests
2014-06-11 09:39:40 +01:00
Oliver Schmidt fd3078d6bb Merge pull request #706 from oliverschmidt/master
Build static Ethernet drivers directly from source.
2014-06-10 00:08:21 +02:00
Oliver Schmidt a0961fc3c4 Build static Ethernet drivers directly from source. 2014-06-09 23:35:19 +02:00
Oliver Schmidt f124425ee1 Build static Ethernet drivers directly from source. 2014-06-09 23:14:11 +02:00
Nicolas Tsiftes da8e9a3e8d Merge pull request #655 from atiselsts/stm32_patches
Fix inconsistent usage of short/long integer type in mbxxx platform's configuration file.
2014-06-07 23:21:59 +02:00