|
| 1 | +RIOT-2015.12 - Release Notes |
| 2 | +============================ |
| 3 | +RIOT is a real-time multi-threading operating system that supports a range of |
| 4 | +devices that are typically found in the Internet of Things: 8-bit |
| 5 | +microcontrollers, 16-bit microcontrollers and light-weight 32-bit processors. |
| 6 | + |
| 7 | +RIOT is based on the following design principles: energy-efficiency, real-time |
| 8 | +capabilities, small memory footprint, modularity, and uniform API access, |
| 9 | +independent of the underlying hardware (this API offers partial POSIX |
| 10 | +compliance). |
| 11 | + |
| 12 | +RIOT is developed by an international open source community which is |
| 13 | +independent of specific vendors (e.g. similarly to the Linux community). |
| 14 | + |
| 15 | +About this release: |
| 16 | +=================== |
| 17 | +This release is mostly a clean-up and bug-fixing release. Besides that, it introduces SAUL, |
| 18 | +the [S]ensor [A]ctuator [U]ber [L]ayer, which offers a unified API to interact with all |
| 19 | +different types of sensors and actuators on RIOT supported hardware. Furthermore, it re-enables |
| 20 | +the support for ICN by integrating CCN-Lite as a package. A lot of new overall documentation was |
| 21 | +added and existing documentation was improved (http://riot-os.org/api/). In addition, |
| 22 | +a Vagrant (https://www.vagrantup.com/) configuration file was added to the RIOT repository in |
| 23 | +order to create reproducible and portable environments that contain all necessary toolchains. |
| 24 | + |
| 25 | +About 222 pull requests with about 631 commits have been merged since the last release and 48 |
| 26 | +additional issues have been solved. 37 people contributed code in 102 days. 980 files have been |
| 27 | +touched with ~59779 insertions and ~12115 deletions. |
| 28 | + |
| 29 | +Notations used below: |
| 30 | +===================== |
| 31 | ++ means new feature/item |
| 32 | +* means modified feature/item |
| 33 | +- means removed feature/item |
| 34 | + |
| 35 | + |
| 36 | +New features and changes |
| 37 | +======================== |
| 38 | + |
| 39 | +General |
| 40 | +------- |
| 41 | + |
| 42 | +Device support |
| 43 | +-------------- |
| 44 | ++ SAUL [S]ensor [A]ctuator [U]ber [L]ayer |
| 45 | + |
| 46 | +Core |
| 47 | +---- |
| 48 | +* replaced deprecated dINT()/eINT() calls by up-to-date disableIRQ()/enableIRQ()/restoreIRQ() |
| 49 | + calls throughout the whole core |
| 50 | + |
| 51 | +Network Stack |
| 52 | +------------- |
| 53 | ++ TFTP support |
| 54 | ++ 6LoWPAN: Next Header Compression |
| 55 | ++ leaf mode for RPL nodes |
| 56 | +* RPL: refactoring of instances and dodags (saved 1kB ROM and 0,5kB RAM) |
| 57 | +* FIB: initial source route support |
| 58 | +* change to non-blocking 6LoWPAN fragmentation |
| 59 | +* POSIX sockets: various fixes |
| 60 | +* periodic stats printing for ping6 command |
| 61 | +* convert all vtimer into xtimer calls |
| 62 | +* send router advertisements without PIOs |
| 63 | + |
| 64 | +Packages |
| 65 | +-------- |
| 66 | ++ CCN-Lite as a ICN network stack |
| 67 | ++ RELIC: efficient cryptography library |
| 68 | +* fix TLSF to compile with -pedantic |
| 69 | + |
| 70 | +Supported platforms |
| 71 | +------------------- |
| 72 | +Additional support for the following boards: |
| 73 | ++ weio board with NXP LPC11U34 (ARM Cortex-M0) |
| 74 | ++ Silicon Labs Wireless Eval Kit SLWSTK6220A (Wonder Gecko) |
| 75 | ++ STM32 Nucleo-F401 |
| 76 | + |
| 77 | +Drivers |
| 78 | +------- |
| 79 | ++ Arduino-mega2560 GPIO |
| 80 | ++ Arduino pin mapping for Mega2560 and Due |
| 81 | + |
| 82 | +Network drivers |
| 83 | +--------------- |
| 84 | ++ enc28j60 Ethernet chip |
| 85 | ++ at86rf2xx: Add support for channel page |
| 86 | +* at86rf2xx: fix LQI reading |
| 87 | +* implement sleep mode for at86rf2xx |
| 88 | + |
| 89 | +Sensors drivers |
| 90 | +--------------- |
| 91 | ++ AT30TSE75x temperature sensor |
| 92 | ++ TCS3772 Color Light-to-Digital converter |
| 93 | + |
| 94 | +System libraries |
| 95 | +---------------- |
| 96 | ++ partial support for the Arduino API |
| 97 | ++ lightweight semaphores |
| 98 | ++ fmt: simple string formatting library |
| 99 | ++ xtimer: 32-bit version of msg_recv_timeout |
| 100 | +* implicit socket binding for POSIX connect() and sendto() |
| 101 | +* posix_semaphore: make API POSIX compliant |
| 102 | + |
| 103 | +Examples |
| 104 | +-------- |
| 105 | ++ microcoap/conn example |
| 106 | ++ minimal GNRC networking example |
| 107 | + |
| 108 | +Build System |
| 109 | +------------ |
| 110 | +* split the Cortex-M0 buildtest group to avoid timeout issues with Travis |
| 111 | +* split the Cortex-M4 buildtest group to avoid timeout issues with Travis |
| 112 | + |
| 113 | +Other |
| 114 | +----- |
| 115 | ++ vagrant configuration |
| 116 | ++ documentation: various high-level descriptions of crucial features |
| 117 | ++ IoT-LAB: create and connect to debug server |
| 118 | +* pyterm: fix problems with German umlauts as input |
| 119 | + |
| 120 | +Fixed Issues from the last release |
| 121 | +================================== |
| 122 | + |
| 123 | +#2724: Add support for serial number passing to CMSIS boards, document it |
| 124 | + Documentation about how to discover and set the serial number of CMSIS-DAP chips is missing |
| 125 | +#3201: Odd length packet snips cause invalid check sum |
| 126 | + If an odd length packet snip occurs in a packet and is not the last snip |
| 127 | + (in the order the packet is supposed to be, not in the list's order) |
| 128 | + in a packet it will generate a wrong check sum. |
| 129 | + |
| 130 | +Known Issues |
| 131 | +============ |
| 132 | + |
| 133 | +network related issues |
| 134 | +---------------------- |
| 135 | +#3075: nhdp: unnecessary microsecond precision |
| 136 | + NHDP works with timer values of microsecond precision which is not required. Changing |
| 137 | + to lower precision would save some memory. |
| 138 | +#3086: Max. packet length for AT86RF2XX |
| 139 | + The size of the link-layer header is not dynamically calculated, but instead the maximum |
| 140 | + size is always assumed. |
| 141 | +#3970: RPL: Advertise DODAG only over the assigned interface |
| 142 | + gnrc_rpl seems to multicast DIOs over all interfaces, though gnrc_rpl_init expects an |
| 143 | + interface as parameter and sets the RPL-nodes multicast address only for that interface. |
| 144 | +#4048: potential racey memory leak |
| 145 | + According to the packet buffer stats, flood-pinging a multicast destination may lead to a |
| 146 | + memory leak due to a race condition. However, it seems to be a rare case and a |
| 147 | + completely filled up packet buffer was not observed. |
| 148 | +#4462: IPHC/NHC broken between Linux and a RIOT node with a RIOT-based border router in between. |
| 149 | + |
| 150 | +native related issues |
| 151 | +--------------------- |
| 152 | +#495: native not float safe |
| 153 | + When the FPU is used when an asynchronous context switch occurs, either the |
| 154 | + stack gets corrupted or a floating point exception occurs. |
| 155 | +#534: native debugging on osx fails |
| 156 | + Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
| 157 | + being stuck (gdb) or the whole process being stuck (valgrind). |
| 158 | +#3341 and #3824: nativenet crashes when hammered |
| 159 | + Flood-pinging a native instance from more than one host (either multiple threads on the |
| 160 | + host system or multiple other native instances), leads to a SEGFAULT. |
| 161 | +#4608: tests/xtimer_usleep_until: unstable behaviour |
| 162 | + The test starts to output "too large difference" and fails after a random period of time. |
| 163 | + |
| 164 | +other platform related issues |
| 165 | +----------------------------- |
| 166 | +#4560: make: clang is more pedantic than gcc |
| 167 | + oonf_api is not building with clang. |
| 168 | +#4583: cpp11: clang doesn't allow `mutex_t` to be used with `constexpr` |
| 169 | + All cpp11-* tests fail with clang. |
| 170 | + |
| 171 | +other issues |
| 172 | +------------ |
| 173 | +#2761: core: define default flags |
| 174 | + If a thread is created without the corresponding flag (CREATE_STACKTEST), |
| 175 | + the ps command will yield wrong numbers for the stack usage |
| 176 | +#2927: core: Automatically select the lowest possible LPM mode |
| 177 | + Not all available low power modes (LPMs) are implemented for each platform and the |
| 178 | + concept of how the LPM is chosen needs some reconsideration |
| 179 | +#2967: Makefile.features: location is not relevant for all features |
| 180 | + Provided features for the build system should be split up into a board and cpu specific |
| 181 | + part |
| 182 | +#3109: periph/random: random_read should return unsigned int |
| 183 | + The documentation of this function does not match corresponding implementation. |
| 184 | +#4488: Making the newlib thread-safe |
| 185 | + When calling puts/printf after thread_create(), the CPU hangs for DMA enabled uart drivers. |
| 186 | + |
| 187 | +Special Thanks |
| 188 | +-------------- |
| 189 | +We like to give our special thanks to all the companies that provided us with their hardware |
| 190 | +for porting and testing, namely the people from (in alphabetical order): |
| 191 | +Atmel, Freescale, Limifrog, Phytec, SiLabs, and Zolertia; and also companies that directly |
| 192 | +sponsored development time: |
| 193 | +Cisco Systems, Google, Eistec, Ell-i, Engineering Spirit, FreshTemp LLC, and Phytec. |
| 194 | + |
| 195 | +More information |
| 196 | +================ |
| 197 | +http://www.riot-os.org |
| 198 | + |
| 199 | +Mailing lists |
| 200 | +------------- |
| 201 | +* RIOT OS kernel developers list |
| 202 | + * devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
| 203 | +* RIOT OS users list |
| 204 | + * users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
| 205 | +* RIOT commits |
| 206 | + * commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
| 207 | +* Github notifications |
| 208 | + * notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
| 209 | + |
| 210 | +IRC |
| 211 | +----- |
| 212 | +* Join the RIOT IRC channel at: irc.freenode.net, #riot-os |
| 213 | + |
| 214 | +License |
| 215 | +======= |
| 216 | + |
| 217 | +* Most of the code developed by the RIOT community is licensed under the |
| 218 | + GNU Lesser General Public License (LGPL) version 2.1 as published by the Free Software Foundation. |
| 219 | +* Some external sources are published under a separate, LGPL compatible license |
| 220 | + (e.g. some files developed by SICS). |
| 221 | + |
| 222 | +All code files contain licensing information. |
| 223 | + |
| 224 | + |
| 225 | + |
| 226 | + |
| 227 | + |
1 | 228 | RIOT-2015.09 - Release Notes
|
2 | 229 | ============================
|
3 | 230 | RIOT is a real-time multi-threading operating system that supports a range of
|
|
0 commit comments