Status: ? = Not sure if worth the effort or useful at all. - = Planned. X = In progress, some work done. * = Done. Before 1.4.0: * Abstract streams interface (for MAC, USB endpoints, files, sockets etc). * Abstract I/O channels rather than just serial ports. * Add tests documentation to the general documentation via doxygen. * Static object initializers. * Add a central memory manager offering a sbrk()-like API. * Make the heap allocator feed memory chunks from the memory manager. * Dedicated syscalls.c support for newlib users. * HAL and common device drivers. * Multiple heaps, disjoint heaps, heaps in heaps. After 1.4.x - I2C device driver class support. - USB device support. - MAC driver revision in order to support copy-less operations, this will require changes to lwIP or a new TCP/IP stack however. - Objects registry in the kernel. - OSEK-style simple tasks within the idle thread. - Code examples into the documentation. - Update C++ wrapper (Heap, Pools, Mailboxes and any new feature). - Threads Pools manager in the library. ? Minimal optional C-runtime library (complete enough for lwIP). ? Think to something for threads restart. ? Remove any instance of unnamed structures/unions. Ideas for 2.x.x: - High resolution timers and tickless kernel. - Reference counter for threads, concept of detached threads, threads management. Ideas for 3.x.x: - Multicore support. Side projects: * lwIP TCP/IP stack integration and demo. * FatFS library integration and demo. X ChibiOS Wizard, UML modeling and ChibiOS applications code and documentation generator. ? OSEK layer. - Posix layer. X File System - Visual debugger/monitor interfaced through OpenOCD. Lower priority: - More demos - More ports - More compilers.