Drop packet if there are not enough free buffers to perform fragmentation
Improve csma debug traces
Add per neighbor packet throttle
sky: Initialize energest as early as possible

If energest is initialized too late, the radio is not accounted
until the first switch. This is a problem when the radio is always
listening.
Support running multiple random seeds in case one fails
Only fail on real fails
Merge pull request #810 from cmorty/pull/sky_energest

sky: Initialize energest as early as possible / make regression testing more tolerant
cpu/arm/k60: ADC: remove ugly getter.

Replaced getter inline function with array of pointers in ROM.
Side effect: This removes the range checking on adc_num.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
cpu/arm/k60: Break out module base vectors.

Introduces basevectors.c for a global list of all module base vectors.
This will save flash space when more than one compilation unit needs to
dynamically access the base vector array.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
platform/mulle: rf230: use delay_us() instead of udelay().

delay_us is a macro used everywhere else in the rf230bb driver.

Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
Fixes warnings, bad code and code style
Use the Z1 product ID as MAC/Node ID if no value is found in the XMEM
Merge pull request #824 from alignan/fix_warnings

Warning fixes
Merge pull request #820 from alignan/serialnum_as_nodeid

Use the Z1 product ID as MAC/Node ID if no value is found in XMEM
Add function to change I2C baudrate and push relevant configuration values to platform config
Merge pull request #825 from alignan/i2c_changes

Add function to change I2C baudrate and push relevant configuration valu...
Merge pull request #648 from cetic/pr-csma-fixes

High throughput fixes for csma and sixlowpan
Merge branch 'master' into mulle-master-upstream
core/sys/rtimer.h, rtimer.c: support multiple timers; allow cancellation

This rewrite of rtimers introduces the following changes:

- more than one rtimer can be used concurrently

  Some operations are O(n) for the number of active rtimers, so
  their number should still not be excessive.

- when setting an rtimer, the handler is guaranteed to be called
  exactly once. Before, it could also happen that it was never
  called or that it was only called with a very large delay,
  depending on the underlying architecture support.

- rtimers can be cancelled with rtimer_cancel. Cancellation means
  that the handler function will not be invoked after rtimer_cancel
  returns. The rtimer structure may still be used internally and
  must not be overwritten or deallocated.
core/sys/rtimer.c (next_timer_locked): we need to reschedule if the timer was cancelled

If the timer about to expire was cancelled, we don't call any timer
handler and we therefore always have to schedule the next timer.
This bug was reported by Joakim Eriksson.