Upate TODO list

This commit is contained in:
Gregory Nutt 2016-01-03 11:59:43 -06:00
parent efd5a63cf3
commit 63f13283de

25
TODO
View File

@ -1,4 +1,4 @@
NuttX TODO List (Last updated December 23, 2015)
NuttX TODO List (Last updated January 3, 2016)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This file summarizes known NuttX bugs, limitations, inconsistencies with
@ -19,6 +19,7 @@ nuttx/
(6) Binary loaders (binfmt/)
(11) Network (net/, drivers/net)
(4) USB (drivers/usbdev, drivers/usbhost)
(1) Other drivers (drivers/)
(11) Libraries (libc/, libm/)
(11) File system/Generic drivers (fs/, drivers/)
(8) Graphics subsystem (graphics/)
@ -1608,6 +1609,28 @@ o Build system
Status: Open
Priority: Low.
o Other drivers (drivers/)
^^^^^^^^^^^^^^^^^^^^^^^^
Title: I2C NOT THREAD SAFE
Description: Unlike the SPI interface, the I2C interface has no method to lock
the interface. This is a problem for all non-atomic I2C operations
in a multi-tasking I2C environment:
- I2C_SETFREQUENCY: Frequency setting can be overwritten by other
I2C usage.
- I2C_SETADDRESS used with I2C_READ, I2C_WRITE, and I2C_WRITEREAD:
Similarly, address can and will be changed by other I2C usage.
- I2C_TRANSFER: This is the only interface that is properly self
contained and protected from most mult-tasking issues. But even
this interface can suffer if there are differing frequency settings.
Status: Open
Priority: Medium-High. The fix is easy but effects a lot of software. There
are two ways to fix theses problems: (1) Add a locking method such
as is provided with the SPI interface, or (2) make each interface
self-contained and atomic: Remove the I2C_FREQUENCY and I2C_ADDRESS
methods; Add frequency to all interfaces and add the address to
I2C_READ, I2C_WRITE, and I2C_WRITEREAD.
o Linux/Cywgin simulation (arch/sim)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^