aboutsummaryrefslogtreecommitdiffstats
path: root/todo.txt
diff options
context:
space:
mode:
Diffstat (limited to 'todo.txt')
-rw-r--r--todo.txt124
1 files changed, 43 insertions, 81 deletions
diff --git a/todo.txt b/todo.txt
index 259b9f23f..1f0c99c30 100644
--- a/todo.txt
+++ b/todo.txt
@@ -5,103 +5,66 @@ X = In progress, some work 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.
-- Add a "transmission end" event to the serial device driver model.
-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
+* Add an USB abstract device driver class.
+* USB driver implementation for STM32F102/STM32F103.
+* 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.
+* Add I-class APIs for mailboxes.
+* Modify chEvtBroadcast() to accept a flags mask as parameter.
+* Add a "transmission end" event to the serial device driver model.
+ X Implement the "transmission end" serial driver event on those platforms
+ supporting the feature.
+* Swap TIME_IMMEDIATE and TIME_INFINITE values.
+* Improvements to the message passing mechanism in order to allow "delayed,
+ out of order, responses".
+* New device driver models: GPT, ICU.
+X GPT implementation and long duration "IRQ storm" stress test applications
+ for all the supported critical platforms.
+X Introduce compiler-info macros to the port layer, improve the test reports
+ with the compiler info.
+- Add UART4 support to the STM32 UART driver (CL line only, HD has a nasty
+ shared interrupt).
+- Add ADC3 support to the STM32 ADC driver.
+? Make thread functions return void and add a CH_THREAD macro for threads
+ declaration in order to hide compiler-specific optimizations for thread
+ functions.
+- Test suite overhaul, the API should be more generic in order to be used
+ with different subsystems and not just the kernel.
+- Device drivers for STM8/STM8L (ADC, PWM, bring them on par with STM32).
+- Device drivers for LPC1xxx (ADC, PWM, bring them on par with STM32).
+- Implement USB Mass Storage Class support and demo using the MMC_SPI driver
+ as back-end.
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).
+? RAM ISR vectors support in the STM32 HAL.
+- New device driver models: Clock, Systick, RTC, WDG, DAC, Power Monitor.
+
+Later but within 2.x.x
- 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
+? Add a *very simple* ADC API for single one shot sampling (implement it as
an injected conversion on the STM32).
+- Improved Makefile system.
+- Serial over UART complex driver driver, evaluate from the performance
+ results if to make obsolete the current dedicated Serial driver.
+- LPC17xx family support.
+- Official segmented interrupts support and abstraction in CMx port.
+- USB driver implementation for STM32F105/STM32F107.
+- MAC driver revision in order to support copy-less operations, this will
+ require changes to lwIP or a new TCP/IP stack however.
+- MAC driver for STM32F107 (hardware missing).
- Update C++ wrapper (Heap, Pools, Mailboxes and any new feature).
- Threads Pools manager in the library.
-
-Later but within 2.x.x
+- Add a switch to enable/disable the priority inheritance algorithm in mutexes.
- 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.
@@ -111,5 +74,4 @@ Ideas for 3.x.x:
Side projects:
X ChibiOS Wizard, UML modeling and ChibiOS applications code and
documentation generator.
-? File System
- Visual debugger/monitor interfaced through OpenOCD.