You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1846 lines
66 KiB
1846 lines
66 KiB
RIOT-2016.10 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: 8-bit |
|
microcontrollers, 16-bit microcontrollers and light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
RIOT is developed by an international open source community which is |
|
independent of specific vendors (e.g. similarly to the Linux community) and is |
|
licensed with a non-viral copyleft license (LGPLv2.1), which allows indirect |
|
business models around the free open-source software platform provided by |
|
RIOT. |
|
|
|
About this release: |
|
=================== |
|
This release provides a lot of new features as well as it fixes several major |
|
bugs. Among these new features are the new simplified network socket API |
|
called sock, the GNRC specific CoAP implementation gcoap and several new |
|
packages: TinyDTLS, the Aversive++ microcontroller library for robotics, the |
|
u8g2 graphic library, and nanocoap. |
|
Using the new sock API an implementation of the Simple Time Network Protocol |
|
(SNTP) was also introduced, allowing for time synchronization between nodes. |
|
New platforms include the Arduino Uno, the Arduino Duemilanove, the Arduino |
|
Zero, SODAQ Autonomo, and the Zolertia remote (rev. B). |
|
The most significant bug fix was done in native which led to a significantly |
|
more robust handling of ISRs and now allows for at least 1,000 native |
|
instances running stably on one machine. |
|
|
|
About 263 pull requests with about 398 commits have been merged since the last |
|
release and about 42 issues have been solved. 37 people contributed with code |
|
in 100 days. 1006 files have been touched with 166500 insertions and 26926 |
|
deletions. |
|
|
|
|
|
Notations used below: |
|
===================== |
|
+ means new feature/item |
|
* means modified feature/item |
|
- means removed feature/item |
|
|
|
New features and changes |
|
======================== |
|
General |
|
------- |
|
* Verbose behavior for assert() macro |
|
|
|
Core |
|
---- |
|
+ MPU support for Cortex-M |
|
|
|
|
|
API changes |
|
----------- |
|
+ Socket-like sock API (replacing conn) |
|
* netdev2: Add Testmodes and CCA modes |
|
* IEEE 802.15.4: clean-up Intra-PAN behavior |
|
* IEEE 802.15.4: centralize default values |
|
* gnrc_pktbuf: allow for 0-sized snips |
|
+ gnrc_netapi: mbox and arbitrary callback support |
|
|
|
|
|
System libraries |
|
---------------- |
|
No new features or changes |
|
|
|
|
|
Networking |
|
---------- |
|
+ Provide sock-port for GNRC |
|
+ gcoap: a GNRC-based CoAP implementation |
|
+ Simple Network Time Protocol (RFC 5905, section 14) |
|
+ Priority Queue for packet snips |
|
+ IPv4 header definitions |
|
|
|
|
|
Packages |
|
-------- |
|
+ nanocoap: CoAP header parser/builder |
|
+ TinyDTLS: DTLS library |
|
+ tiny-asn1: asn.1/der decoder |
|
+ Aversive++ microcontroller programming library |
|
+ u8g2 graphic library |
|
|
|
|
|
Platforms |
|
--------- |
|
+ Support for stm32f2xx MCU family |
|
+ Low power modes for samd21 CPUs |
|
+ More Arduino-based platforms: |
|
+ Arduino Uno |
|
+ Arduino Duemilanove |
|
+ Arduino Zero |
|
+ More boards of ST's Nucleo platforms: |
|
+ ST Nucleo F030 board support |
|
+ ST Nucleo F070 board support |
|
+ ST Nucleo F446 board support |
|
+ SODAQ Automono |
|
+ Zolertia remote rev. B |
|
|
|
|
|
Drivers |
|
------- |
|
+ W5100 Ethernet device |
|
+ Atmel IO1 Xplained extension |
|
+ LPD8808 LED strips |
|
* at86rf2xx: provide capability to access the RND_VALUE random value register |
|
|
|
|
|
Build System |
|
------------ |
|
+ static-tests build target for easy local execution of CI's static tests |
|
|
|
|
|
Other |
|
----- |
|
+ Provide Arduino API to Nucleo boards |
|
+ Packer configuration file to build vagrant boxes |
|
+ CC2650STK Debugger Support |
|
+ ethos: add Ethos over TCP support |
|
|
|
|
|
Fixed Issues from the last release |
|
================================== |
|
#534: native debugging on osx fails |
|
#2071: native: *long* overdue fixes |
|
#3341: netdev2_tap crashes when hammered |
|
#5007: gnrc icmpv6: Ping reply goes out the wrong interface |
|
#5432: native: valgrind fails |
|
|
|
Known Issues |
|
============ |
|
Networking related issues |
|
------------------------- |
|
#3075: nhdp: unnecessary microsecond precision: NHDP works with timer values |
|
of microsecond precision which is not required. Changing to lower |
|
precision would save some memory. |
|
#4048: potential racey memory leak: According to the packet buffer stats, |
|
flood-pinging a multicast destination may lead to a memory leak due to |
|
a race condition. However, it seems to be a rare case and a completely |
|
filled up packet buffer was not observed. |
|
#4388: POSIX sockets: open socket is bound to a specific thread: This was an |
|
inherit problem of the conn API under GNRC. Since the POSIX sockets are |
|
still based on conn for this release, this issue persists |
|
#4527: gnrc_ipv6: Multicast is not forwarded if routing node listens to the |
|
address (might still be fixable for release, see #5729, #5230: gnrc |
|
ipv6: multicast packets are not dispatched to the upper layers) |
|
#5016: gnrc_rpl: Rejoining RPL instance as root after reboot messes up routing |
|
#5055: cpuid: multiple radios will get same EUI-64 Nodes with multiple |
|
interfaces might get the same EUI-64 for them since they are generated |
|
from the same CPU ID. |
|
#5656: Possible Weakness with locking in the GNRC network stack: For some |
|
operations mutexes to the network interfaces need to get unlocked in |
|
the current implementation to not get deadlocked. Recursive mutexes as |
|
provided in #5731 might help to solve this problem. |
|
#5748: gnrc: nodes crashing with too small packet buffer: A packet buffer of |
|
size ~512 B might lead to crashes. The issue describes this for several |
|
hundret nodes, but agressive flooding with just two nodes was also |
|
shown to lead to this problem. |
|
#5858: gnrc: 6lo: potential problem with reassembly of fragments: If one frame |
|
gets lost the reassembly state machine might get out of sync |
|
|
|
### NDP is not working properly |
|
#4499: handle of l2src_len in gnrc_ndp_rtr_sol_handle: Reception of a router |
|
solicitation might lead to invalid zero-length link-layer addresses in |
|
neighbor cache. |
|
#5005: ndp: router advertisement sent with global address: Under some |
|
circumstances a router might send RAs with GUAs. While they are ignored |
|
on receive (as RFC 4861 specifies), RAs should have link-local |
|
addresses and not even be send out this way. |
|
#5122: NDP: global unicast address on non-6LBR nodes disappears after a while: |
|
Several issues (also see #5760) lead to a global unicast address |
|
effectively being banned from the network (disappears from neighbor |
|
cache, is not added again) |
|
#5467: ipv6 address vanishes when ARO (wrongly) indicates DUP caused by |
|
outdated ncache at router |
|
#5539: Border Router: packet not forwarded from ethos to interface 6 |
|
#5790: ND: Lost of Global IPV6 on node after sending lot of UDP frame from BR |
|
|
|
|
|
Timer related issues |
|
-------------------- |
|
#4841: xtimer: timer already in the list: Under some conditions an xtimer can |
|
end up twice in the internal list of the xtimer module |
|
#4902: xtimer: xtimer_set: xtimer_set does not handle integer overflows well |
|
#5338: xtimer: xtimer_now() not ISR safe for non-32-bit platforms. |
|
#5928: xtimer: usage in board_init() crashes: some boards use the xtimer in |
|
there board_init() function. The xtimer is however first initialized in |
|
the auto_init module which is executed after board_init() |
|
#6052: tests: xtimer_drift gets stuck: xtimer_drift application freezes after |
|
~30-200 seconds |
|
|
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe: When the FPU is used when an asynchronous context |
|
switch occurs, either the stack gets corrupted or a floating point |
|
exception occurs. |
|
#2175: ubjson: valgind registers "Invalid write of size 4" in unittests |
|
#4590: pkg: building relic with clang fails. |
|
#5796: native: tlsf: early malloc will lead to a crash: TLSF needs pools to be |
|
initialized (which is currently expected to be done in an application). |
|
If a malloc is needed before an application's main started (e.g. driver |
|
initialization) the node can crash, since no pool is allocated yet. |
|
|
|
other platform related issues |
|
----------------------------- |
|
#1891: newlib-nano: Printf formatting does not work properly for some numberic |
|
types: PRI[uxdi]64, PRI[uxdi]8 and float are not parsed in newlib-nano |
|
#2006: cpu/nrf51822: timer callback may be fired too early |
|
#2143: unittests: tests-core doesn't compile for all platforms: GCC build-ins |
|
were used in the unittests which are not available with msp430-gcc |
|
#2300: qemu unittest fails because of a page fault |
|
#4512: pkg: tests: RELIC unittests fail on iotlab-m3 |
|
#4522: avsextrem: linker sometimes doesn't find `bl_init_clks()` |
|
#4560: make: clang is more pedantic than gcc oonf_api is not building with |
|
clang. (Partly solved by #4593) |
|
#4694: drivers/lm75a: does not build |
|
#4737: cortex-m: Hard fault after a thread exits (under some circumstances) |
|
#4822: kw2xrf: packet loss when packets get fragmented |
|
#4876: at86rf2xx: Simultaneous use of different transceiver types is not |
|
supported |
|
#4954: chronos: compiling with -O0 breaks |
|
#4866: not all GPIO driver implementations are thread safe: Due to non-atomic |
|
operations in the drivers some pin configurations might get lost. |
|
#5009: RIOT is saw-toothing in energy consumption (even when idling) |
|
#5103: xtimer: weird behavior of tests/xtimer_drift: xtimer_drift randomly |
|
jumps a few seconds on nrf52 |
|
#5361: cpu/cc26x0: timer broken |
|
#5405: Eratic timings on iotlab-m3 with compression context activated |
|
#5460: cpu/samd21: i2c timing with compiler optimization |
|
#5486: at86rf2xx: lost interrupts |
|
#5489: cpu/lpc11u34: ADC broken |
|
#5603: atmega boards second UART issue |
|
#5678: at86rf2xx: failed assertion in _isr |
|
#5719: cc2538: rf driver doesn't handle large packets |
|
#5799: kw2x: 15.4 duplicate transmits |
|
#5944: msp430: ipv6_hdr unittests fail |
|
#5848: arduino: Race condition in sys/arduino/Makefile.include |
|
#5954: nRF52 uart_write get stuck |
|
#6018: nRF52 gnrc 6lowpan ble memory leak |
|
|
|
|
|
other issues |
|
------------ |
|
#1263: TLSF implementation contains (a) read-before-write error(s). |
|
#3256: make: Setting constants on compile time doesn't really set them |
|
everywhere |
|
#3366: periph/i2c: handle NACK |
|
#4488: Making the newlib thread-safe: When calling puts/printf after |
|
thread_create(), the CPU hangs for DMA enabled uart drivers. |
|
#4866: periph: GPIO drivers are not thread safe |
|
#5128: make: buildtest breaks when exporting FEATURES_PROVIDED var |
|
#5207: make: buildest fails with board dependent application Makefiles |
|
#5390: pkg: OpenWSN does not compile: This package still uses deprecated |
|
modules and was not tested for a long time. |
|
#5520: tests/periph_uart not working |
|
#5561: C++11 extensions in header files |
|
#5776: make: Predefining CFLAGS are parsed weirdly |
|
#5863: OSX + SAMR21-xpro: shell cannot handle command inputs larger than 64 |
|
chars |
|
#5962: Makefile: UNDEF variable is not working as documented |
|
#6022: pkg: build order issue |
|
|
|
|
|
Special Thanks |
|
============== |
|
We like to give our special thanks to all the companies that provided us with |
|
their hardware for porting and testing, namely the people from (in |
|
alphabeticalorder): Atmel, Freescale, Imagination Technologies, Limifrog, |
|
Nordic, OpenMote, Phytec, SiLabs, UDOO,and Zolertia; and also companies that |
|
directly sponsored development time: Cisco Systems, Eistec, Ell-i, Enigeering |
|
Spirit, Nordic, FreshTemp LLC, OTAkeys and Phytec. |
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
IRC |
|
--- |
|
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os |
|
|
|
License |
|
======= |
|
* Most of the code developed by the RIOT community is licensed under the GNU |
|
Lesser General Public License (LGPL) version 2.1 as published by the Free |
|
Software Foundation. |
|
* Some external sources are published under a separate, LGPL compatible |
|
license (e.g. some files developed by SICS). |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
|
|
|
|
|
|
|
|
RIOT-2016.07 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: 8-bit |
|
microcontrollers, 16-bit microcontrollers and light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
RIOT is developed by an international open source community which is |
|
independent of specific vendors (e.g. similarly to the Linux community) |
|
and is licensed with a non-viral copyleft license (LGPLv2.1), which allows |
|
indirect business models around the free open-source software platform |
|
provided by RIOT. |
|
|
|
About this release: |
|
=================== |
|
This release was focused primarily on fixing bugs, but also adds two new |
|
supported radio transceivers: CC2420 and CC2538. |
|
This new radio support allows to new interoperability tests with other OS, |
|
allowing code size comparison and overall network performance for |
|
platforms based on these radios. |
|
|
|
About 198 pull requests with about 325 commits have been merged since the |
|
last release and about 65 issues have been solved. 46 people contributed with |
|
code in 112 days. 632 files have been touched with 19863 insertions and |
|
3682 deletions. |
|
|
|
|
|
Notations used below: |
|
===================== |
|
+ means new feature/item |
|
* means modified feature/item |
|
- means removed feature/item |
|
|
|
New features and changes |
|
======================== |
|
General |
|
---------- |
|
* No major changes or new features coming on this release. |
|
|
|
Core |
|
---- |
|
+ Introduced Mailbox IPC API (#4919) |
|
* Improved clist |
|
|
|
Network Stack |
|
--- |
|
+ Introduction of netstats in several platforms. |
|
* RPL optional auto initialisation |
|
|
|
|
|
Packages |
|
--- |
|
+ Added statistics for TLSF package (#5418) |
|
+ Added U8g2 library for monochrome displays (#5549) |
|
* Added on-the-fly content creation for CCN-lite. |
|
|
|
|
|
Platforms |
|
--- |
|
+ nrf52dk: add support for building with Nordic SoftDevice (6lo over BLE) |
|
+ Added support for Libellium's waspmote-pro board. |
|
+ Added support for the iotlab A8/M3 node (https://www.iot-lab.info/hardware/a8/) |
|
+ Added initial and rudimentary port for TI cc2650stk "SensorTag" (#4675) |
|
+ Split Zolertia Remote support into Remote Prototype A (remote-pa) and |
|
Remote Revision A (remote-reva) |
|
|
|
Drivers |
|
--- |
|
+ Texas Instruments CC2538 RF driver (PR #5291) |
|
+ Texas Instruments CC2420 RF driver (PR #5591) |
|
+ Bosch BM180 sensor. |
|
+ Added XBee optional AES encryption support |
|
|
|
System libraries |
|
--- |
|
* Several xtimer bug fixes |
|
|
|
Build System |
|
--- |
|
+ Ubuntu 16.04 packaged gcc-arm-none-eabi toolchain can now be used to compile |
|
RIOT for ARM boards |
|
|
|
Other |
|
--- |
|
* Reworked UART and code factorisation for ATmega CPUs. |
|
|
|
API changes |
|
--- |
|
* Unified interface of hashing functions |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
#3824: native: gnrc: hardcore pinging crashes. |
|
#4583: cpp11: clang doesn't allow mutex_t to be used with constexpr All |
|
cpp11-* tests fail with clang. |
|
#5388: gnrc_sixlowpan_iphc_nhc: receiving NHC compressed UDP |
|
packets hits assert in IPv6 (Fixed by #5281). |
|
|
|
|
|
Known Issues |
|
========== |
|
#3075: nhdp: unnecessary microsecond precision NHDP works with timer |
|
values of microsecond precision which is not required. Changing to lower |
|
precision would save some memory. |
|
#3086: Max. packet length for AT86RF2XX |
|
#4048: potential racey memory leak According to the packet buffer stats, |
|
flood-pinging a multicast destination may lead to a memory leak due to a |
|
race condition. However, it seems to be a rare case and a completely filled |
|
up packet buffer was not observed. |
|
#5005: ndp: router advertisement sent with global address Under some |
|
circumstances a router might send RAs with GUAs. While they are ignored |
|
on receive (as RFC 4861 specifies), RAs should have link-local addresses |
|
and not even be send out this way. |
|
#5007: gnrc icmpv6: Ping reply goes out the wrong interface |
|
#5055: cpuid: multiple radios will get same EUI-64 Nodes with multiple |
|
interfaces might get the same EUI-64 for them since they are generated from |
|
the same CPU ID. |
|
#5230: gnrc ipv6: multicast packets are not dispatched to the upper layers. |
|
(Fix exists, but was postponed) |
|
#5390: pkg: OpenWSN does not compile This package still uses deprecated |
|
modules and was not tested for a long time. |
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe When the FPU is used when an asynchronous |
|
context switch occurs, either the stack gets corrupted or a floating point |
|
exception occurs. |
|
#534: native debugging on osx fails Using valgrind or gdb with a nativenet |
|
target in OSX leads to "the network" being stuck (gdb) or the whole process |
|
being stuck (valgrind). |
|
#334: nativenet crashes when hammered Flood-pinging a native instance |
|
from more than one host (either multiple threads on the host system or multiple |
|
other native instances), leads to a SEGFAULT. |
|
#2071; WIP: native: overdue fixes |
|
#4590: pkg: building relic with clang fails. |
|
#5432: native: valgrind fails |
|
|
|
other platform related issues |
|
----------------------------- |
|
#4560: make: clang is more pedantic than gcc oonf_api is not building with |
|
clang. |
|
(Partly solved by #4593) |
|
#4866: not all GPIO driver implementations are thread safe Due to non-atomic |
|
operations in the drivers some pin configurations might get lost. |
|
#5486: at86rf2xx: lost interrupts |
|
|
|
other issues |
|
------------ |
|
#1263: TLSF implementation contains (a) read-before-write error(s). |
|
#2761: core: define default flags If a thread is created without the |
|
corresponding flag (CREATE_STACKTEST), the ps command will yield wrong |
|
numbers for the stack usage. |
|
#2927: core: Automatically select the lowest possible LPM mode Not all |
|
available low power modes (LPMs) are implemented for each platform and the |
|
concept of how the LPM is chosen needs some reconsideration. |
|
#2967: Makefile.features: location is not relevant for all features Provided |
|
features for the build system should be split up into a board and cpu specific part |
|
#4488: Making the newlib thread-safe When calling puts/printf after |
|
thread_create(), the CPU hangs for DMA enabled uart drivers. |
|
#4841: xtimer: timer already in the list Under some conditions an xtimer can end |
|
up twice in the internal list of the xtimer module. |
|
#5338: xtimer: xtimer_now() not ISR safe For non-32-bit platforms. |
|
|
|
Special Thanks |
|
=============== |
|
We like to give our special thanks to all the companies that provided us with their |
|
hardware for porting and testing, namely the people from (in alphabeticalorder): |
|
Atmel, Freescale, Limifrog, Nordic, OpenMote, Phytec, SiLabs, UDOO,and Zolertia; |
|
and also companies that directly sponsored development time:Cisco Systems, |
|
Eistec, Ell-i, Enigeering Spirit, Nordic, FreshTemp LLC, and Phytec. |
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
IRC |
|
--- |
|
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os |
|
|
|
License |
|
======= |
|
* Most of the code developed by the RIOT community is licensed under the GNU |
|
Lesser General Public License (LGPL) version 2.1 as published by the Free |
|
Software Foundation. |
|
* Some external sources are published under a separate, LGPL compatible license |
|
(e.g. some files developed by SICS). |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
|
|
|
|
|
|
RIOT-2016.04 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: 8-bit |
|
microcontrollers, 16-bit microcontrollers and light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
RIOT is developed by an international open source community which is |
|
independent of specific vendors (e.g. similarly to the Linux community) |
|
and is licensed with a non-viral copyleft license (LGPLv2.1), which allows |
|
indirect business models around the free open-source software platform |
|
provided by RIOT. |
|
|
|
About this release: |
|
=================== |
|
This release adds support for two additional network stacks: lwIP and emb6. |
|
A bunch of additional protocols are now available, P2P-RPL in the GNRC |
|
network stack, Ethernet-over-Serial (ethos). Murdock, the new, blazing fast |
|
RIOT CI is now available to significantly speed up code merging procedures. |
|
|
|
This release also adds support for a number of new boards and sensors and a new |
|
tool for automated border router setup is now provided which greatly simplifies |
|
that setup for newbies as well as for old-timers. Last but not least: this |
|
release includes a number of bug fixes, mostly about stabilizing and enhancing |
|
the networking capabilities of RIOT. |
|
|
|
About 470 pull requests with about 1196 commits have been merged since the last |
|
release and 127 additional issues have been solved. 55 people contributed code |
|
in 124 days. 1521 files have been touched with ~91700 insertions and ~42200 |
|
deletions. |
|
|
|
Notations used below: |
|
===================== |
|
+ means new feature/item |
|
* means modified feature/item |
|
- means removed feature/item |
|
|
|
New features and changes |
|
======================== |
|
General |
|
---------- |
|
+ added Makefile support for creating a "binary distribution", making it easier to create closed source applications while still complying to LGPL |
|
|
|
Testing |
|
--- |
|
+ Murdock, the new RIOT CI |
|
+ unified pexpect code |
|
+ added various new unittests and test applications |
|
|
|
Core |
|
---- |
|
+ added thread flags, a new method to signal events in an efficient and thread safe manner |
|
+ messaging is now compile-time optional, shaving off some bytes off each thread's state struct for projects not requiring it |
|
+ new, simpler list implementation increases mutex and msg performance |
|
|
|
Network Stack |
|
--- |
|
+ P2P-RPL (RFC6997) |
|
+ netdev2_test: test framework for users of the netdev2 API |
|
|
|
Packages |
|
--- |
|
+ emb6 network stack |
|
+ jsmn (minimal JSON parser) |
|
+ lwIP network stack |
|
+ unified and streamlined git package source handling |
|
+ added support for caching git repositories |
|
|
|
Platforms |
|
--- |
|
+ reworked existing peripheral drivers and added SPI driver for arduino-mega2560 |
|
+ added support for nRF52dk |
|
+ added support for nucleo-f072 and nucleo-f103 |
|
+ unified LED macros for all boards |
|
|
|
Drivers |
|
--- |
|
+ ethos "ethernet over serial" driver, enabling shared uart + network communication over one serial connection |
|
+ RHOM BH1750FVI ambient light sensor |
|
+ ST LIS3MDL three-axis magnetic sensor |
|
+ Silicon Labs Si70xx low-power temperature + humidity sensor |
|
+ simplified GPIO driver interface |
|
+ AES encryption for xbee radio driver |
|
+ added ADC mapping to SAUL |
|
|
|
Sytem libraries |
|
--- |
|
- vtimer support was dropped completely and removed |
|
|
|
Build System |
|
--- |
|
+ made build system safe for concurrent building of multiple applications |
|
+ desvirt integration into the RIOT build system |
|
|
|
Other |
|
--- |
|
- simplified border router setup tool (single UART and automation script) |
|
|
|
API changes |
|
--- |
|
* at86rf2xx was moved from gnrc_netdev to the netdev2 API |
|
* genrand_* -> random_* |
|
* xtimer_remove() no longer returns whether a timer was actually removed |
|
* disableIRQ(), enableIRQ(), restoreIRQ(), inISR() -> irq_disable(), irq_enable(), irq_restore(), irq_is_in() |
|
* renamed periph/random to periph/hwrng |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
* #3109: periph/random: random_read should return unsigned int |
|
* #3970: RPL: Advertise DODAG only over the assigned interface |
|
* #4462: IPHC/NHC broken between Linux and a RIOT node with a RIOT-based border router in between. |
|
* #4608: tests/xtimer_usleep_until: unstable behaviour |
|
|
|
Known Issues |
|
========== |
|
---------------------- |
|
* #3075: nhdp: unnecessary microsecond precision |
|
NHDP works with timer values of microsecond precision which is not required. Changing |
|
to lower precision would save some memory. |
|
* #3086: Max. packet length for AT86RF2XX |
|
The size of the link-layer header is not dynamically calculated, but instead the maximum |
|
size is always assumed. |
|
* #4048: potential racey memory leak |
|
According to the packet buffer stats, flood-pinging a multicast destination may lead to a |
|
memory leak due to a race condition. However, it seems to be a rare case and a |
|
completely filled up packet buffer was not observed. |
|
* #5005: ndp: router advertisement sent with global address |
|
Under some circumstances a router might send RAs with GUAs. While they are ignored |
|
on receive (as RFC 4861 specifies), RAs should have link-local addresses and not even |
|
be send out this way. |
|
* #5007: gnrc icmpv6: Ping reply goes out the wrong interface |
|
* #5055: cpuid: multiple radios will get same EUI-64 |
|
Nodes with multiple interfaces might get the same EUI-64 for them since they are generated |
|
from the same CPU ID |
|
* #5230: gnrc ipv6: multicast packets are not dispatched to the upper layers |
|
* #5388: gnrc_sixlowpan_iphc_nhc: receiving NHC compressed UDP packets hits assert in IPv6 |
|
Fix already provided in #5281, but did not made it into the release due to its complexity |
|
* #5390: pkg: OpenWSN does not compile |
|
This package still uses deprecated modules and was not tested for a long time |
|
|
|
native related issues |
|
--------------------- |
|
* #495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
* #534: native debugging on osx fails |
|
Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
|
being stuck (gdb) or the whole process being stuck (valgrind). |
|
* #3341 and #3824: nativenet crashes when hammered |
|
Flood-pinging a native instance from more than one host (either multiple threads on the |
|
host system or multiple other native instances), leads to a SEGFAULT |
|
|
|
other platform related issues |
|
----------------------------- |
|
* #4560: make: clang is more pedantic than gcc |
|
oonf_api is not building with clang. |
|
* #4583: cpp11: clang doesn't allow `mutex_t` to be used with `constexpr` |
|
All cpp11-* tests fail with clang. |
|
* #4866: not all GPIO driver implementations are thread safe |
|
Due to non-atomic operations in the drivers some pin configurations might get lost |
|
|
|
other issues |
|
------------ |
|
* #1263: TLSF implementation contains (a) read-before-write error(s) |
|
* #2761: core: define default flags |
|
If a thread is created without the corresponding flag (CREATE_STACKTEST), |
|
the ps command will yield wrong numbers for the stack usage |
|
* #2927: core: Automatically select the lowest possible LPM mode |
|
Not all available low power modes (LPMs) are implemented for each platform and the |
|
concept of how the LPM is chosen needs some reconsideration |
|
* #2967: Makefile.features: location is not relevant for all features |
|
Provided features for the build system should be split up into a board and cpu specific |
|
part |
|
* #4488: Making the newlib thread-safe |
|
When calling puts/printf after thread_create(), the CPU hangs for DMA enabled uart drivers. |
|
* #4841: xtimer: timer already in the list |
|
Under some conditions an xtimer can end up twice in the internal list of the xtimer module. |
|
* #5338: xtimer: xtimer_now() not ISR safe |
|
For non-32-bit platforms |
|
|
|
Special Thanks |
|
=============== |
|
We like to give our special thanks to all the companies that provided us with |
|
their hardware for porting and testing, namely the people from (in alphabetical |
|
order): Atmel, Freescale, Limifrog, Nordic, OpenMote, Phytec, SiLabs, UDOO, |
|
and Zolertia; and also companies that directly sponsored development time: |
|
Cisco Systems, Eistec, Ell-i, Enigeering Spirit, FreshTemp LLC, and Phytec. |
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
IRC |
|
----- |
|
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os |
|
|
|
License |
|
======= |
|
* Most of the code developed by the RIOT community is licensed under the GNU |
|
Lesser General Public License (LGPL) version 2.1 as published by the Free |
|
Software Foundation. |
|
* Some external sources are published under a separate, LGPL compatible license |
|
(e.g. some files developed by SICS). |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
|
|
|
|
|
|
RIOT-2015.12 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: 8-bit |
|
microcontrollers, 16-bit microcontrollers and light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
RIOT is developed by an international open source community which is |
|
independent of specific vendors (e.g. similarly to the Linux community). |
|
|
|
About this release: |
|
=================== |
|
This release is mostly a clean-up and bug-fixing release. Besides that, it introduces SAUL, |
|
the [S]ensor [A]ctuator [U]ber [L]ayer, which offers a unified API to interact with all |
|
different types of sensors and actuators on RIOT supported hardware. Furthermore, it re-enables |
|
the support for ICN by integrating CCN-Lite as a package. A lot of new overall documentation was |
|
added and existing documentation was improved (http://riot-os.org/api/). In addition, |
|
a Vagrant (https://www.vagrantup.com/) configuration file was added to the RIOT repository in |
|
order to create reproducible and portable environments that contain all necessary toolchains. |
|
|
|
About 222 pull requests with about 631 commits have been merged since the last release and 48 |
|
additional issues have been solved. 37 people contributed code in 102 days. 980 files have been |
|
touched with ~59779 insertions and ~12115 deletions. |
|
|
|
Notations used below: |
|
===================== |
|
+ means new feature/item |
|
* means modified feature/item |
|
- means removed feature/item |
|
|
|
|
|
New features and changes |
|
======================== |
|
|
|
General |
|
------- |
|
|
|
Device support |
|
-------------- |
|
+ SAUL [S]ensor [A]ctuator [U]ber [L]ayer |
|
|
|
Core |
|
---- |
|
* replaced deprecated dINT()/eINT() calls by up-to-date disableIRQ()/enableIRQ()/restoreIRQ() |
|
calls throughout the whole core |
|
|
|
Network Stack |
|
------------- |
|
+ TFTP support |
|
+ 6LoWPAN: Next Header Compression |
|
+ leaf mode for RPL nodes |
|
* RPL: refactoring of instances and dodags (saved 1kB ROM and 0,5kB RAM) |
|
* FIB: initial source route support |
|
* change to non-blocking 6LoWPAN fragmentation |
|
* POSIX sockets: various fixes |
|
* periodic stats printing for ping6 command |
|
* convert all vtimer into xtimer calls |
|
* send router advertisements without PIOs |
|
|
|
Packages |
|
-------- |
|
+ CCN-Lite as a ICN network stack |
|
+ RELIC: efficient cryptography library |
|
* fix TLSF to compile with -pedantic |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ weio board with NXP LPC11U34 (ARM Cortex-M0) |
|
+ Silicon Labs Wireless Eval Kit SLWSTK6220A (Wonder Gecko) |
|
+ STM32 Nucleo-F401 |
|
|
|
Drivers |
|
------- |
|
+ Arduino-mega2560 GPIO |
|
+ Arduino pin mapping for Mega2560 and Due |
|
|
|
Network drivers |
|
--------------- |
|
+ enc28j60 Ethernet chip |
|
+ at86rf2xx: Add support for channel page |
|
* at86rf2xx: fix LQI reading |
|
* implement sleep mode for at86rf2xx |
|
|
|
Sensors drivers |
|
--------------- |
|
+ AT30TSE75x temperature sensor |
|
+ TCS3772 Color Light-to-Digital converter |
|
|
|
System libraries |
|
---------------- |
|
+ partial support for the Arduino API |
|
+ lightweight semaphores |
|
+ fmt: simple string formatting library |
|
+ xtimer: 32-bit version of msg_recv_timeout |
|
* implicit socket binding for POSIX connect() and sendto() |
|
* posix_semaphore: make API POSIX compliant |
|
|
|
Examples |
|
-------- |
|
+ microcoap/conn example |
|
+ minimal GNRC networking example |
|
|
|
Build System |
|
------------ |
|
* split the Cortex-M0 buildtest group to avoid timeout issues with Travis |
|
* split the Cortex-M4 buildtest group to avoid timeout issues with Travis |
|
|
|
Other |
|
----- |
|
+ vagrant configuration |
|
+ documentation: various high-level descriptions of crucial features |
|
+ IoT-LAB: create and connect to debug server |
|
* pyterm: fix problems with German umlauts as input |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
|
|
#2724: Add support for serial number passing to CMSIS boards, document it |
|
Documentation about how to discover and set the serial number of CMSIS-DAP chips is missing |
|
#3201: Odd length packet snips cause invalid check sum |
|
If an odd length packet snip occurs in a packet and is not the last snip |
|
(in the order the packet is supposed to be, not in the list's order) |
|
in a packet it will generate a wrong check sum. |
|
|
|
Known Issues |
|
============ |
|
|
|
network related issues |
|
---------------------- |
|
#3075: nhdp: unnecessary microsecond precision |
|
NHDP works with timer values of microsecond precision which is not required. Changing |
|
to lower precision would save some memory. |
|
#3086: Max. packet length for AT86RF2XX |
|
The size of the link-layer header is not dynamically calculated, but instead the maximum |
|
size is always assumed. |
|
#3970: RPL: Advertise DODAG only over the assigned interface |
|
gnrc_rpl seems to multicast DIOs over all interfaces, though gnrc_rpl_init expects an |
|
interface as parameter and sets the RPL-nodes multicast address only for that interface. |
|
#4048: potential racey memory leak |
|
According to the packet buffer stats, flood-pinging a multicast destination may lead to a |
|
memory leak due to a race condition. However, it seems to be a rare case and a |
|
completely filled up packet buffer was not observed. |
|
#4462: IPHC/NHC broken between Linux and a RIOT node with a RIOT-based border router in between. |
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#534: native debugging on osx fails |
|
Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
|
being stuck (gdb) or the whole process being stuck (valgrind). |
|
#3341 and #3824: nativenet crashes when hammered |
|
Flood-pinging a native instance from more than one host (either multiple threads on the |
|
host system or multiple other native instances), leads to a SEGFAULT. |
|
#4608: tests/xtimer_usleep_until: unstable behaviour |
|
The test starts to output "too large difference" and fails after a random period of time. |
|
|
|
other platform related issues |
|
----------------------------- |
|
#4560: make: clang is more pedantic than gcc |
|
oonf_api is not building with clang. |
|
#4583: cpp11: clang doesn't allow `mutex_t` to be used with `constexpr` |
|
All cpp11-* tests fail with clang. |
|
|
|
other issues |
|
------------ |
|
#2761: core: define default flags |
|
If a thread is created without the corresponding flag (CREATE_STACKTEST), |
|
the ps command will yield wrong numbers for the stack usage |
|
#2927: core: Automatically select the lowest possible LPM mode |
|
Not all available low power modes (LPMs) are implemented for each platform and the |
|
concept of how the LPM is chosen needs some reconsideration |
|
#2967: Makefile.features: location is not relevant for all features |
|
Provided features for the build system should be split up into a board and cpu specific |
|
part |
|
#3109: periph/random: random_read should return unsigned int |
|
The documentation of this function does not match corresponding implementation. |
|
#4488: Making the newlib thread-safe |
|
When calling puts/printf after thread_create(), the CPU hangs for DMA enabled uart drivers. |
|
|
|
Special Thanks |
|
-------------- |
|
We like to give our special thanks to all the companies that provided us with their hardware |
|
for porting and testing, namely the people from (in alphabetical order): |
|
Atmel, Freescale, Limifrog, Phytec, SiLabs, and Zolertia; and also companies that directly |
|
sponsored development time: |
|
Cisco Systems, Google, Eistec, Ell-i, Engineering Spirit, FreshTemp LLC, and Phytec. |
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
IRC |
|
----- |
|
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os |
|
|
|
License |
|
======= |
|
|
|
* Most of the code developed by the RIOT community is licensed under the |
|
GNU Lesser General Public License (LGPL) version 2.1 as published by the Free Software Foundation. |
|
* Some external sources are published under a separate, LGPL compatible license |
|
(e.g. some files developed by SICS). |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
|
|
|
|
|
|
RIOT-2015.09 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: devices based on |
|
8-bit microcontrollers, 16-bit microcontrollers and light-weight 32-bit |
|
processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
RIOT is developed by an international open source community which is |
|
independent of specific vendors (e.g. similarly to the Linux community). |
|
|
|
About this release: |
|
============ |
|
This release introduces the GNRC network stack, a completely new, highly |
|
modularized and configurable IPv6/6LoWPAN stack. It also includes xtimer as a |
|
new timer subsystem for accurate short- and long-term timers. Moreover, |
|
peripheral drivers, board, and CPU support has been tidied up and contains |
|
about 50% less duplication in the build system. |
|
|
|
About 580 pull requests with about 2,500 commits have been merged since the |
|
last release and 120 additional issues have been solved. 62 people contributed |
|
code in 278 days. 2578 files have been touched with ~320,000 insertions and |
|
~134,000 deletions. |
|
|
|
Loose notations used below: |
|
============ |
|
+ means new feature/item |
|
* means modified feature/item |
|
- means removed feature/item |
|
|
|
|
|
|
|
New features |
|
============ |
|
|
|
General |
|
------- |
|
+ complete codebase now compiles with -Werror on all platforms |
|
|
|
Device support |
|
-------------- |
|
+ vastly improved hardware abstraction, unified over all devices |
|
+ unified most common code |
|
* complete refactoring of MSP430 and ARM7 code |
|
|
|
Core |
|
---- |
|
+ new timer subsystem: xtimer |
|
+ extended atomic API by compare-and-swap, increase/decrease and |
|
set-to-one/set-to-zero functions |
|
+ introduced a more energy-saving assert macro |
|
|
|
Network Stack |
|
------------- |
|
+ RFC compliant gnrc network stack (6LoWPAN, IPv6, UDP, RPL) major refactoring |
|
+ 6LoWPAN ND (including SLAAC) |
|
+ example applications working out of the box (gnrc_networking for the full |
|
gnrc experience, gnrc_border_router for a 6LoWPAN border router, and default |
|
for simple link layer connectivity) |
|
+ explicit support for border router |
|
+ auto-init for the network stack |
|
+ introduction of generic interfaces (netdev, netapi) |
|
+ introduction of a protocol-independent FIB |
|
+ introduction of a central packet buffer |
|
+ wireshark-supported protocol ZEP to send IEEE 802.15.4 frames over UDP on |
|
non-IEEE-802.15.4 devices |
|
+ support for SLIP and link-layers without addresses |
|
+ new low-level driver model |
|
+ new nativenet based directly on ethernet |
|
+ conn: general stack-independent transport layer API |
|
+ POSIX sockets ported for conn |
|
+ NHDP support |
|
|
|
Packages |
|
-------- |
|
+ support for microCoAP |
|
+ CMSIS DSP |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ Zolertia ReMote |
|
+ Atmel SAML21 Xplained Pro (saml21-xpro) |
|
+ ST Nucleo L1 |
|
+ ST Nucleo F334 |
|
+ ST Nucleo F091 |
|
+ Phytec phyWAVE KW22 |
|
+ Eistec Mulle |
|
+ Freescale Freedom FRDM-K64F |
|
+ TI Stellaris Launchpad LM4F120 |
|
+ LimiFrog V1 |
|
+ Silabs EZR32WG |
|
|
|
Drivers |
|
------- |
|
+ various peripheral drivers (ADC, UART, timer, SPI, I²C, RTC, RTT, DAC, PWM...) |
|
+ basic NVRAM driver (interface) |
|
|
|
Network drivers |
|
+ native ethernet driver |
|
+ ENCx24J600 ethernet driver |
|
|
|
Sensors drivers |
|
+ ISL29125 RGB light sensor |
|
+ PDC8544 LCD display |
|
+ INA220 current and power monitor |
|
+ MPU-9150 9-DOF motion sensor |
|
+ LIS3DH accelerometer |
|
+ TMP006 temperature sensor |
|
+ MAG3110 magnetometer |
|
+ MMA8652 accelerometer |
|
+ DHT11/DHT22 temperature-humidity sensor |
|
+ ADT7310 temperature sensor |
|
|
|
System libraries |
|
---------------- |
|
+ MD5 |
|
+ Fletcher's checksum |
|
+ Unified Cipher API and Block cipher operation modes: ECB, CBC, CTR and CCM |
|
+ Bitfield operations |
|
+ thread safe ringbuffer |
|
+ vtimer compatibility layer |
|
|
|
Build System |
|
------------ |
|
+ support for the FIT IoT-LAB testbed by direct integration into the Make build |
|
system |
|
+ integrated Docker support |
|
+ integration of llvm's clang static analyzer |
|
+ added target for the address sanitizer |
|
+ indicating possible feature conflicts at compile time |
|
+ unified OpenOCD script |
|
|
|
|
|
Changes |
|
======= |
|
|
|
Core |
|
---- |
|
* improved documentation |
|
* fixed several IPC message queue initializations |
|
- removed hwtimer |
|
|
|
Drivers |
|
------- |
|
* optimized/remodeled GPIO interface |
|
* optimized/remodeled TIMER interface |
|
- temporarily removed CC2420 driver (awaiting last bug fixes for a rewrite) |
|
* re-implementation of the CC110x driver against the peripheral interface |
|
|
|
Network Stack |
|
------------- |
|
* temporarily removed and currently being refactored: |
|
- TCP support |
|
- CCN-lite |
|
- AODVv2 |
|
|
|
System libraries |
|
---------------- |
|
* new high level UART/stdio interface |
|
* better modularisation of POSIX wrapper modules |
|
- removed skipjack crypto library |
|
|
|
Packages |
|
-------- |
|
* updated CMSIS HAL to version 4.3 |
|
|
|
Other |
|
----- |
|
* clean-up of deprecated system and network libraries |
|
* clean-up of deprecated boards and drivers |
|
|
|
Selected Issues Fixed since the Last Release |
|
============================================ |
|
#21: Deal with stdin in bordermultiplex.c |
|
A completely new border router implementation is in place |
|
#715: test_hwtimer_wait fails on native |
|
Fixed by @benoit-canet in #2870 |
|
#861: neighbor discovery for 6LoWPAN not working |
|
GNRC implements 6LoWPAN ND in a RFC6775 compliant way |
|
#1753: vtimer_msg test crashes after ~49'20" and |
|
#1449: a removed vtimer might still get called back by hwtimer |
|
vtimer has been replaced by xtimer which does not have these issues |
|
#1870: IPv6 neighbor advertisements are malformed |
|
According to Wireshark (and reference implementations) GNRC sends |
|
well-formed neighbor advertisements |
|
#1964 and #1955: eventual problems with IoT-LAB M3 nodes in the testbed |
|
Solved by new driver versions for UART and radio |
|
#2228: samd21 stack sizes are too small |
|
The stacksize has been adapted in #2229 |
|
|
|
Known Issues |
|
============ |
|
|
|
network related issues |
|
---------------------- |
|
#3075: nhdp: unnecessary microsecond precision |
|
NHDP works with timer values of microsecond precision which is not |
|
required. Changing to lower precision would save some memory. |
|
#3086: Max. packet length for AT86RF2XX |
|
The size of the link-layer header is not dynamically calculated, but |
|
instead the maximum# size is always assumed. |
|
#3201: Odd length packet snips cause invalid check sum |
|
If an odd length packet snip occurs in a packet and is not the last snip |
|
(in the order the packet is supposed to be, not in the list's order) in a |
|
packet it will generate a wrong check sum. |
|
#4048: potential racey memory leak |
|
According to the packet buffer stats, flood-pinging a multicast destination |
|
may lead to a memory leak due to a race condition. However, it seems to be |
|
a rare case and a completely filled up packet buffer was not observed. |
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#499: native is segfaulting on heavy network usage |
|
Sending more than 100 packets per second causes a SEGFAULT in RIOT native. |
|
#534: native debugging on osx fails |
|
Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
|
being stuck (gdb) or the whole process being stuck (valgrind). |
|
#3341 and #3824: nativenet crashes when hammered |
|
Flood-pinging a native instance from more than one host (either multiple |
|
threads on the host system or multiple other native instances), leads to a |
|
SEGFAULT. |
|
|
|
other platform related issues |
|
----------------------------- |
|
#2724: Add support for serial number passing to CMSIS boards, document it |
|
Documentation about how to discover and set the serial number of CMSIS-DAP |
|
chips is missing |
|
|
|
other issues |
|
------------ |
|
#2761: core: define default flags |
|
If a thread is created without the corresponding flag (CREATE_STACKTEST), |
|
the ps command will yield wrong numbers for the stack usage |
|
#2927: core: Automatically select the lowest possible LPM mode |
|
Not all available low power modes (LPMs) are implemented for each platform |
|
and the concept of how the LPM is chosen need some reconsideration |
|
#2967: Makefile.features: location is not relevant for all features |
|
Provided features for the build system should be split up into a board and |
|
cpu specific part |
|
#3109: periph/random: random_read should return unsigned int |
|
The documentation of this function does not match corresponding |
|
implementation. |
|
|
|
Special Thanks |
|
-------------------- |
|
We like to give our special thanks to all the companies that provided us with |
|
their hardware for porting and testing, namely the people from (in alphabetical |
|
order): Atmel, Freescale, Limifrog, Phytec, SiLabs, and Zolertia; and also |
|
companies that directly sponsored development time: Cisco Systems, Eistec, |
|
Ell-i, FreshTemp LLC, and Phytec. |
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
IRC |
|
----- |
|
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os |
|
|
|
License |
|
======= |
|
|
|
* Most of the code developed by the RIOT community is licensed under the GNU |
|
Lesser General Public License (LGPL) version 2.1 as published by the Free |
|
Software Foundation. |
|
* Some external sources are published under a separate, LGPL compatible license |
|
(e.g. some files developed by SICS). |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
|
|
|
|
|
|
RIOT-2014.12 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: from 8-bit |
|
microcontrollers to light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
New features |
|
============ |
|
Core |
|
---- |
|
+ introduced new thread_yield() and renamed the old implementation to thread_yield_higher() |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ Arduino Mega 2560 (first-time support of an 8-bit platform) |
|
+ HikoB Fox |
|
+ Atmel samr21-Xplained Pro |
|
+ OpenMote |
|
+ cc2538 Developer Kit |
|
+ Spark-Core |
|
+ f4vi1 |
|
+ Airfy-Beacon |
|
+ STMF0Discovery Board |
|
+ STMF3Discovery Board |
|
+ STMF4Discovery Board |
|
+ nrf51822 Development Kit |
|
+ yunjia-nrf51822 |
|
+ MSB-IoT |
|
+ native on ARM platforms |
|
|
|
Drivers |
|
------- |
|
+ various peripheral drivers (ADC, UART, timer, SPI, I²C, RTC, RTT, DAC, PWM...) |
|
+ MQ-3 alcohol sensor |
|
+ ISL29020 light sensor |
|
+ LPS331AP pressure sensor |
|
+ LSM303DLHC accelerometer |
|
+ L3G4200D gyroscope |
|
+ servo motor |
|
+ TI HDC 1000 low power humidity and temperature digital sensor |
|
+ SRF02/SRF08 ultrasonic range sensors |
|
+ PIR motion sensor |
|
+ RGB LED |
|
|
|
Network Stack |
|
--------------- |
|
+ AODVv2 |
|
+ RPL non-storing mode |
|
+ OF manager for RPL |
|
+ Source Routing Header support |
|
+ introduced netapi |
|
+ introduced netdev, a general interface for network device drivers |
|
+ introduced global packet buffer |
|
|
|
System libraries |
|
---------------- |
|
+ CBOR |
|
+ UBJSON |
|
+ color module for PWM |
|
|
|
Packages |
|
-------- |
|
+ libfixmath |
|
|
|
Other |
|
----- |
|
+ C++ support for most platforms |
|
+ PCAP based wireless sniffer |
|
|
|
Changes |
|
======= |
|
Core |
|
---- |
|
* PIDs begin with 1 |
|
* mamximum 16 priority levels for every platform |
|
* fixed sched_switch() |
|
* simplified mutex signatures |
|
* minimized size of TCB |
|
* allow hwtimer to run with more than 1MHz |
|
* imported ringbuffer from sys |
|
|
|
Supported platforms |
|
------------------- |
|
* improved iotlab-m3 support |
|
* major improvements on the mbed LPC1768 |
|
* improved at86rf231 radio driver |
|
* fixed hwtimer for MSP430 |
|
* added support for timer B for MSP430 |
|
* fixed thread_yield() for MSP430 |
|
* several fixes for the cc2420 |
|
* improved interrupt handling on ARM |
|
* adjusted stack sizes for Cortex platforms |
|
|
|
Network Stack |
|
--------------- |
|
* refactored CCN-lite |
|
* refactored RPL |
|
* renamed destiny to transport_layer and socket_base |
|
* several fixes for TCP |
|
* split UDP and TCP |
|
|
|
System libraries |
|
---------------- |
|
- removed hashtable implementation |
|
|
|
Packages |
|
-------- |
|
* updated and simplified OpenWSN |
|
|
|
Other |
|
----- |
|
* Improved and cleaned up build system |
|
* various new helper targets (like debug, distclean, reset, objdump...) |
|
* use newlib's nano specs if available |
|
* various new features and added Python 3 compatibility for pyterm |
|
* major reduction of warnings in doxygen and improved html layout |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
#426: Interrupt handling on MSP430 is buggy |
|
Several fixes by @rousselk |
|
#1798: core: first thread on runqueue is scheduled twice |
|
Was fixed along with the thread_yield() refactoring |
|
#1127: Random build fails on OSX |
|
native is building stable also on OSX now |
|
|
|
Known Issues |
|
============ |
|
network related issues |
|
---------------------- |
|
#21: Deal with stdin in bordermultiplex.c |
|
Not all supported platforms provide a stdin in the current release. |
|
However, the implementation of the 6LoWPAN border router won't work |
|
without stdin. |
|
#861: neighbor discovery for 6LoWPAN not working |
|
Duplicate address detection according to RFC 6775 is also missing. |
|
#1577: ccn-lite: populate does not work with disabled cache |
|
If cache is set to zero, the chunks cannot be loaded and therefore also not get populated. |
|
#1870: IPv6 neighbor advertisements are malformed |
|
According to Wireshark, ICMPv6 neighbor advertisements are malformed (wrong |
|
checksum or other reasons). |
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#499: native is segfaulting on heavy network usage |
|
Sending more than 100 packets per second causes a SEGFAULT in RIOT native. |
|
#534: native debugging on osx fails |
|
Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
|
being stuck (gdb) or the whole process being stuck (valgrind). |
|
#715: test_hwtimer_wait fails on native |
|
The problem appears to be lost signals and depends on the CPU speed. |
|
#787: reboot not working with open file descriptors on native |
|
If for example a tap device is in use, the reboot command fails. |
|
#862: sometimes the tap bridge does not work in native |
|
Sometimes (rather suddenly) packages are not received by a TAP and won't be |
|
received even if I reconfigure the bridge. |
|
|
|
|
|
other platform related issues |
|
----------------------------- |
|
#1232: x86 doesn't build on OS X with clang |
|
Current version of the x86 port doesn't build for OS X with clang. |
|
#1442: setting channel is not persistent cc2420 |
|
After changing the channel via a shell command, the channel reverts back to an arbitrary |
|
value. However, this might be only a shell problem. |
|
#1753: vtimer_msg test crashes after ~49'20" |
|
dependent on the platform, vtimer stops working after some time. |
|
#1891: printf formatting does not work properly on some Cortex platforms for 64 bit numbers |
|
This problem happens mostly for the Newlib nano, which does not support 64 bit integer |
|
printing, but sometimes happens also with other toolchains. |
|
#1964 and #1955: eventual problems with IoT-LAB M3 nodes in the testbed |
|
The shell is sometimes not properly working after a reboot and the PDR is sometimes |
|
worse than expected. |
|
#2143: tests.core doesn't compile for all platforms |
|
For some missing GCC compiler builtins, the unittests do not compile for MSP430 |
|
platforms. |
|
#2228: samd21 stack sizes are too small |
|
The application examples/default for example will crash when issuing the txtsnd command |
|
|
|
other issues: |
|
-------------- |
|
#1449: a removed vtimer might still get called back by hwtimer |
|
The timer callback might still fire even after vtimer_remove() was called. |
|
#2175: valgrind registeres "Invalid write of size 4" in unittests for ubjson |
|
According to valgrind the stack gets corrupted in UBJSON. |
|
|
|
For all issues and open pull requests please check the RIOT issue tracker: |
|
https://github.com/RIOT-OS/RIOT/issues |
|
|
|
Special Thanks |
|
-------------------- |
|
We like to give our special thanks to all the companies that provided us with their hardware for porting and testing, namely the people from (in alphabetical order): airfy, Atmel, ELL-i, Intel, IoT-Lab, mbed, Phytec, and Udoo |
|
|
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
License |
|
======= |
|
* All sources and binaries that have been developed at Freie Universität Berlin |
|
and most of the other code are licensed under the GNU Lesser General Public |
|
License version 2 as published by the Free Software Foundation. |
|
* Some external sources, especially files developed by SICS are published under |
|
a separate license. |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
RIOT-2014.05 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: from 16-bit |
|
microcontrollers to light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
New features |
|
============ |
|
Core |
|
---- |
|
+ introduced explicit core/cpu interface through a set of header files |
|
+ added reboot and panic functions |
|
+ added a node name to the sysconfig struct |
|
+ added the ability to send a message to the current thread's message queue |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ Arduino Due |
|
+ UDOO board |
|
+ X86 via qemu |
|
+ Zolertia Z1 |
|
|
|
Network stack |
|
------------- |
|
+ added net_if as abstraction layer between transceiver module and L3 protocol |
|
+ added support for auto initializing of the 6LoWPAN network stack |
|
+ added support for RFC5444 via oonf_api (from OLSR.org) |
|
+ added a Wireshark dissector for nativenet packets |
|
+ introduced low-level radio driver interface |
|
+ added a default transceiver for all boards |
|
+ common IEEE 802.15.4 radio driver API definition |
|
+ added standard way to query CCA (Clear Channel Assessment) status |
|
+ enabled nonces in interests for CCN-lite (Content Centric Networking) |
|
+ added a route shell command |
|
|
|
System libraries |
|
---------------- |
|
+ added quad-precision math library (quad_math) |
|
|
|
Automated Testing |
|
----------------- |
|
+ added Travis CI based build tests |
|
+ added support for a Jenkins CI server |
|
+ added a unittest framework (based on embunit) |
|
+ added unittests for most core functions |
|
|
|
POSIX compliance |
|
---------------- |
|
+ pthread support including |
|
+ dynamic memory pool and cleanup handlers |
|
+ mutexes |
|
+ condition variable implementation |
|
+ reader/writer lock |
|
+ pthread_barrier_* functions |
|
|
|
Native |
|
------ |
|
+ added a valgrind and cachegrind targets |
|
+ added profiling support |
|
|
|
Changes |
|
======= |
|
Core |
|
---- |
|
* initialize hwtimer automatically |
|
* optimized thread status field usage |
|
* moved oneway_malloc to sys |
|
* prefixed API functions correctly |
|
|
|
Network stack |
|
------------- |
|
* major refactoring and decoupling |
|
* refactor use of vtimer |
|
* fixed forwarding |
|
* added IoT-LAB M3 Open Node support and dropped TelosB support temporarily for OpenWSN |
|
* moved ETX beaconing to a module on its own |
|
* various byte order and other bug fixes |
|
|
|
Drivers |
|
------- |
|
* added low-level driver interface for unified CPU peripheral abstraction for |
|
GPIO, ADC, PWM, Timer and UART |
|
* handle race conditions preventing timers to be set correctly on MSP430 MCUs |
|
* several CC2420 fixes |
|
|
|
System libraries |
|
---------------- |
|
* auto_init is used by default |
|
* changed function prototype for shell handlers |
|
|
|
Other |
|
----- |
|
* cleaned up Makefile system and simplified binary directory |
|
* improved documentation for core and sys |
|
* build system uses PKG dependency |
|
* build system sets include paths automatically |
|
* black and white lists for applications and tests |
|
* add stacksize checker for DEBUG macro |
|
* styling corrections |
|
* fixed license boiler plates |
|
* set lpc2k_pgm return value correctly |
|
* various bug fixes and cleanups |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
#45: bit field order in the fcf may be wrong |
|
The CC2420 FIFO expects the IEEE802.15.4 FCF field in reversed bit order. |
|
With this release the byte order is now handled by the net_if module and |
|
all device specific handling is done by the driver. |
|
#82: Setting STATUS_REPLY_BLOCKED thread to STATUS_PENDING though it is not |
|
handled yet |
|
In some rare cases the status of a thread might falsely change to |
|
STATUS_PENDING instead of STATUS_REPLY_BLOCKED. |
|
#455: sha256 is broken on MSP430 |
|
Fixed. |
|
#498: native is segfaulting at startup |
|
Fixed by several PRs (#501, #583, and #588). |
|
#505: native on FreeBSD is broken |
|
Fixed by PR #1022. |
|
|
|
Known Issues |
|
============ |
|
network related issues |
|
---------------------- |
|
#21: Deal with stdin in bordermultiplex.c |
|
Not all supported platforms provide a stdin in the current release. |
|
However, the implementation of the 6LoWPAN border router won't work |
|
without stdin. |
|
#861: neighbor discovery for 6LoWPAN not working |
|
Duplicate address detection according to RFC 6775 is also missing. |
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#499: native is segfaulting on heavy network usage |
|
Sending more than 100 packets per second causes a SEGFAULT in RIOT native. |
|
#534: native debugging on osx fails |
|
Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
|
being stuck (gdb) or the whole process being stuck (valgrind). |
|
#715: test_hwtimer_wait fails on native |
|
The problem appears to be lost signals and depends on the CPU speed. |
|
#787: reboot not working with open file descriptors on native |
|
If for example a tap device is in use, the reboot command fails. |
|
#862: sometimes the tap bridge does not work in native |
|
Sometimes (rather suddenly) packages are not received by a TAP and won't be |
|
received even if I reconfigure the bridge. |
|
#1127: Random build fails on OSX |
|
Building for native on OSX often fails - Workaround: build using -B flag, |
|
e.g.: make -B clean all |
|
|
|
other platform related issues |
|
----------------------------- |
|
#426: Interrupt handling on MSP430 is buggy |
|
UART and timer handling is currently unstable on MSP430 based platforms |
|
#1232: x86 doesn't build on OS X with clang |
|
Current version of the x86 port doesn't build for OS X with clang. |
|
|
|
For all issues and open pull requests please check the RIOT issue tracker: |
|
https://github.com/RIOT-OS/RIOT/issues |
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
License |
|
======= |
|
* All sources and binaries that have been developed at Freie Universität Berlin |
|
and most of the other code are licensed under the GNU Lesser General Public |
|
License version 2 as published by the Free Software Foundation. |
|
* Some external sources, especially files developed by SICS are published under |
|
a separate license. |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
RIOT-2014.01 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: from 16-bit |
|
microcontrollers to light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
New features |
|
============ |
|
Core |
|
---- |
|
+ msg_receive() with timeout |
|
+ LPM support for MSP430 based platforms |
|
+ introduced a version string |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ TelosB |
|
+ mbed LPC1768 |
|
|
|
Sensor drivers |
|
--------------- |
|
+ drivers for the LM75A Digital temperature sensor and thermal watchdog |
|
+ SRF02 and SRF08 ultrasonic range finders |
|
|
|
Native port |
|
----------- |
|
+ implemented UART via I/O redirection or TCP and UNIX socket |
|
|
|
System libraries |
|
---------------- |
|
+ Mersenne twister pseudorandom number generator |
|
+ crypto libraries |
|
+ 3des |
|
+ aes |
|
+ rc5 |
|
+ skipjack |
|
+ twofish |
|
+ BSD-like package system for easy integration of external libraries |
|
|
|
Network stack |
|
------------- |
|
+ port of CCN lite |
|
+ POSIX socket wrapper |
|
+ integration of libcoap |
|
+ integration of OpenWSN |
|
|
|
Further Changes |
|
=============== |
|
* boards and projects repositories have been integrated and are now part of |
|
the RIOT repository itself |
|
* full refactoring of the network stack and introducing a substructure |
|
according to the modules' functionalities |
|
* cleaned up Makefile system and simplified binary directory |
|
* more documentation |
|
* various bug fixes and cleanups |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
#45: bit field order in the fcf may be wrong |
|
The CC2420 FIFO expects the IEEE802.15.4 FCF field in reversed bit order. |
|
With this release the byte order is now handled by the net_if module and |
|
all device specific handling is done by the driver. |
|
#82: Setting STATUS_REPLY_BLOCKED thread to STATUS_PENDING though it is not |
|
handled yet |
|
Pull Request #569 fixed this bug by checking for STATUS_REPLY_BLOCKED in |
|
msg_receive(). |
|
#455: sha256 is broken on MSP430 |
|
The problem was caused |
|
|
|
Known Issues |
|
============ |
|
#21: Deal with stdin in bordermultiplex.c |
|
Not all supported platforms provide a stdin in the current release. |
|
However, the implementation of the 6LoWPAN border router won't work |
|
without stdin. |
|
#426: Interrupt handling on MSP430 is buggy |
|
UART and timer handling is still unstable on MSP430 based platforms. |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#498: native is segfaulting at startup |
|
In some cases (about 5-10%) a RIOT native process crashes with a SEGFAULT |
|
at startup. |
|
#499: native is segfaulting on heavy network usage |
|
Sending more than 100 packets per second causes a SEGFAULT in RIOT native. |
|
#505: native on FreeBSD is broken |
|
Due to different parameter handling in FreeBSD, native is currently not |
|
working there. |
|
|
|
For all issues and open pull requests please check the RIOT issue tracker: |
|
https://github.com/RIOT-OS/RIOT/issues |
|
|
|
Release 2013.08 |
|
=============== |
|
Kernel |
|
------ |
|
- Microkernel with a powerful messaging system |
|
- Multi-Threading with low overhead |
|
- an energy-efficient, real-time capable scheduler |
|
- small memory footprint |
|
|
|
Userspace |
|
--------- |
|
- 6LoWPAN according to RFC 4944, RFC 6282, and RFC 6775 |
|
- TCP and UDP |
|
- RPL according to RFC 6550 and RFC 6719 |
|
- High resolution and long-term timers |
|
- POSIX IO and BSD socket API |
|
- Bloom filter |
|
- SHA256 |
|
|
|
Hardware Support |
|
---------------- |
|
- various ARM and MSP430 MCUs |
|
* ARM7 NXP LPC2387 |
|
* TI MSP430F1612 |
|
* TI CC430F6137 |
|
* ARM7 Freescale MC13224v (preliminary) |
|
* ARM Cortex-M4 STM32f407vgt6 (preliminary) |
|
* ARM Cortex-M3 STM32f103rey6 (preliminary) |
|
- radio drivers |
|
* TI CC1100 and CC1101 |
|
* TI CC2420 |
|
* Atmel AT86RF231 |
|
- sensor drivers |
|
* Sensirion SHT11 |
|
* Linear Technology LT4150 |
|
|
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
License |
|
======= |
|
* All sources and binaries that have been developed at Freie Universität Berlin are |
|
licensed under the GNU Lesser General Public License version 2 as published by the |
|
Free Software Foundation. |
|
* Some external sources, especially files developed by SICS are published under |
|
a separate license. |
|
|
|
All code files contain licensing information.
|
|
|