leds: Fix the API

The leds API did not work in some cases. E.g. with the following sequence:
  leds_off(LEDS_ALL);
  leds_toggle(LEDS_GREEN);
  leds_off(LEDS_ALL);
the green LED was remaining on after the last call.

This was caused by the toggle feature made synonymous with the invert feature,
although it is unrelated. leds_toggle() is indeed supposed to toggle an LED,
while leds_invert() is supposed to change the active level of an LED. However,
all users of leds_invert() actually meant leds_toggle(), and the invert feature
does not make sense in this module because it is not handy due to successive
calls to leds_invert() changing the intended behavior, and hardware active
levels should be managed in leds_arch_set() (e.g. by XORing the passed value
with a hardware-specific constant before setting the output levels of the pins).

Consequently, this change:
 - removes the leds_invert() function,
 - makes leds_toggle() behave as expected relatively to leds_off() / leds_on(),
 - sanitizes the code in the leds module.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
leds: Add the leds_set() function

The leds_set() function is added on top of leds_arch_set() in order to have a
means of displaying a pattern on a set of LEDs, while keeping the ENERGEST
information up to date, which would be missing with a direct call to
leds_arch_set().

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Use platform configuration for CC2420/CC2520 SFD on MSP430 based platforms
Fixed typo to correctly print the radio channel at startup
CONTIKI_PROJECT is sometimes set to multiple files which caused distclean to fail.
Added method to framer that returns the header length if the framer
would create a header with the current packet information.

This allows sicslowpan to calculate the max payload size without
consuming a sequence number or clearing/restoring the packet buffer.
Changed to use LINKADDR_SIZE instead of sizeof() to select between
short address and long address as some platforms might use padding in
the struct. This fixes #555.
Set default link ETX to 2
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>
Remove the unmaintained iris platform
Merge pull request #511 from ADVANSEE/leds

leds: Fixes and enhancements
Merge pull request #666 from simonduq/rpl-etx-init

Set initial link ETX to 2
Merge pull request #613 from nfi/distclean

Fixed distclean to work when CONTIKI_PROJECT is set to multiple files.
Merge pull request #611 from nfi/cc2x20-sfd-config

Corrected CC2x20 sfd config and startup message.
Merge pull request #631 from nfi/framer-len

Added function to framer that returns the estimated header length
Merge pull request #635 from nfi/linkaddr-size

Use LINKADDR_SIZE instead of sizeof(linkaddr_t) to avoid struct padding problems.
Fix code style in rpl_set_root prototype
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
Download the RL 78 toolchain from a different URL

Fixes #720
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.