From a1b70ed3012d499f25ba94ee2c53f1ce2c89809f Mon Sep 17 00:00:00 2001 From: barthess Date: Tue, 25 Jan 2011 18:53:36 +0000 Subject: test commit git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/i2c_dev@2683 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- Copy of todo.txt | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 Copy of todo.txt diff --git a/Copy of todo.txt b/Copy of todo.txt new file mode 100644 index 000000000..29d13f84d --- /dev/null +++ b/Copy of todo.txt @@ -0,0 +1,114 @@ +Status: +- = Planned. +X = In progress, some work done. +* = Done. +? = Not sure if worth the effort or useful at all. +N = Decided against. + +Within 2.1.x +* Binary Semaphores on top of Counting Semaphores. +* Direct unbuffered UART driver. + Requirements: low level, callbacks, DMA capable, state machines buildable + on top, support data words greater than 8 bits, callback for + "last byte transmitted (RS485)", simple implementation, + verifiable. +* Rework STM32 drivers to use friendly IRQ names and centralized DMA macros. +* I-class functions for the ADC/PWM drivers. +* All the device driver structures must have a fields extension macro and + initializer hook. +* All the device driver callbacks must have the driver pointer as first + parameter. +* Change the SPI driver to be able to work asynchronously using callbacks, + keep the synchronous APIs available as option. +* Add an optional spiPolledExchange() API to the SPI driver model. +* Update the STM32 SPI driver to the new model. +* Make the ADC driver have the same synchronous/asynchronous API of the + new SPI driver model. +* General HAL improvements. +* Update the AT91SAM7 SPI driver (DMA and/or ISR). + * Verify the FatFs demo on both the AT91SAM7X and AT91SAM7S. +* Update the LPC214x SPI driver (ISR). + * Verify the LPC214x FatFs demo. +* Write a new SPI driver for LPC1xxx (ISR)(it should be very close to the + LPC214x one). +N Evaluate if to add a synchronous API to the UART driver, eventually do so. +* Global documentation reorganization in order to allow both separate documents + and the usual blob document. +* PDF generation from the documentation system (only separate documents, not + the blob). +* Automatic compilation and upload of the various documents on the web site + (doxygen + rsync). +* New STM8S/A SPI driver. +* Reorganization of the STM32 family port-level support. +* Remove preprocessor directives from the assembler files and restore the + RIDE7 build files in the STM32 demo. +* Move dynamic APIs into a separate source file. +* Improved support in the STM32 HAL support for multiple sub-families. Do + not check for the family in the various drivers but simply check for + switch macros like STM32_HAS_USART3, STM32_HAS_SPI3. This what the + drivers will not need changes when adding new sub-families. +* STM8L official HAL support, it will have to be separated from the STM8S/STM8A + HAL because it is very different. + * Shared ISR management. + * STM8L-Discovery demo. +* Add the STM32F100 (Value Line) sub-family to the official STM32 HAL support. + * STM32VL-Discovery demo. +* Remove the PAL default configuration from the various hal_lld.c and move + them into board.c files, this will remove an ugly dependency. +* Realign the STM8 port to the new STM8L one as options, naming conventions + and general solutions. +* Support for more compilers (IAR, Keil, ARMCMx only initially). +X Support for not just Makefiles (Ride7, Crossworks etc). +* IAR port for Cortex-Mx, add demos for all the supported families. +* Keil port for Cortex-Mx, add demos for all the supported families. +* Change the serial drivers to have a single event source instead of three. + Add Rx and Tx to the existing flags mechanism. Move up the flags handling in + the superclass. +X Except for the above, bug fixing only until the 2.2.0 release. + +Within 2.3.x (hopefully) +- Resist doing more changes and optimizations to the kernel. +? Make thread functions return void. +- Introduce a "THREAD" function prefix in order to hide compiler-specific + optimizations for thread functions. +X Add an USB abstract device driver class. +X USB driver implementation for STM32F103/STM32F102. +X Add a Serial over USB generic device driver implementing a USB Communication + Device Class and offering a Serial-like interface to the applications. +- Add a switch to enable/disable the priority inheritance algorithm in mutexes. +X File System infrastructure. + - Official FatFs wrapper using the new infrastructure, dedicated test suite. +X Transactional flash file system implementation. +X I2C device driver class support and at least one implementation. +- Serial over UART complex driver driver, evaluate from the performance + results if to make obsolete the current dedicated Serial driver. +X Shared DMA channels support in the STM32/STM8L HALs. +X New device driver models: Clock, Systick, RTC, WDG, DAC, Power Monitor. +- MAC driver for STM32F107 (hardware missing). +- Device drivers for STM8/STM8L (ADC, PWM, bring them on par with STM32). +- Batch testing of the ARM7/ARMCMx port using OpenOCD, with reports. +- Debug-related features and tools. +- Add a *very simple* ADC API for single one shot sampling (implement it as + an injected conversion on the STM32). +- Update C++ wrapper (Heap, Pools, Mailboxes and any new feature). +- Threads Pools manager in the library. + +Later but within 2.x.x +- Dedicated TCP/IP stack. +? ISO7816 driver over UART driver, both reader and card side (hardware + missing). +- Merge the Coldfire branch in mainline (hardware missing). +- Merge the H8S branch in mainline (hardware missing). +- MAC driver revision in order to support copy-less operations, this will + require changes to lwIP or a new TCP/IP stack however. + +Ideas for 3.x.x: +- MMU/MPU support. +- High resolution timers and tickless kernel. +- Multicore support. + +Side projects: +X ChibiOS Wizard, UML modeling and ChibiOS applications code and + documentation generator. +? File System +- Visual debugger/monitor interfaced through OpenOCD. -- cgit v1.2.3