Status: ? = Not sure if worth the effort or useful at all. - = Planned. X = In progress, some work done. * = Done. After 1.0.0: * Improved makefiles with settings section and shared common part. * Queues macros should not refer to the semaphore counters directly. * Priority ordering option for semaphores. * chSysLock() and chSysUnlock() with counter (option). * OSEK-style chSysSuspendAll()/chSysResumeAll()/chSysEnable()/chSysDisable(), implemented this as the new Suspended and Disabled states in 1.1. * Mailboxes subsystem (lwIP requires them). * Multiple debug switches. - Split asserts from parameters checks. - Add checks to all APIs. X Stack checks option. * Threads profiling option. * Idle loop hook macro. * Switch the configuration options to TRUE/FALSE rather than def/undef. After 1.2.0: - Threads Pools manager in the library. - New chThdCreate() that takes just two parameters, a pointer to a thread descriptor and the tread parameter. It could wrap the current variants or just be an alternative. - Minimal optional C-runtime library (complete enough for lwIP). - OSEK-style simple tasks within the idle thread. ? Think to something for threads restart. ? Multiple heaps, disjoint heaps, heaps in heaps. - Abstract I/O channels rather than just serial ports. - Move the serial drivers implementations in library al keep the I/O channel interface as part of the kernel. Better keep the core as compact as possible. - Update C++ wrapper (Heap, Pools, Mailboxes and any new feature). Ideas for 2.x.x: - Reference counter for threads, concept of detached threads, threads management. - Think to the high resolution timers and tickless kernel. - Multicore support. Side projects: X lwIP TCP/IP stack integration and demo. X FatFS library integration and demo. X ChibiOS Wizard, UML modeling and ChibiOS applications code and documentation generator. X OSEK layer. - Posix layer. X File System - Visual debugger/monitor interfaced through OpenOCD. - Objects registry in the kernel. Lower priority: - More demos - More ARM ports ? PIC24 port - Microblaze port - PowerPC port ? Coldfire port ? H8 port