summaryrefslogtreecommitdiff
path: root/nuttx/TODO
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-11-06 19:58:14 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-11-06 19:58:14 +0000
commit7a21220ebd5cef442fb059c90e18ff90232d8dc9 (patch)
tree38277e8efa923112be23e9a0554313c0927f02e2 /nuttx/TODO
parent4fc87116d818f5285403dbb37d2aa60d33e4203a (diff)
downloadpx4-nuttx-7a21220ebd5cef442fb059c90e18ff90232d8dc9.tar.gz
px4-nuttx-7a21220ebd5cef442fb059c90e18ff90232d8dc9.tar.bz2
px4-nuttx-7a21220ebd5cef442fb059c90e18ff90232d8dc9.zip
Verified basic client-side network functionalitynuttx-3.0
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@373 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/TODO')
-rw-r--r--nuttx/TODO49
1 files changed, 32 insertions, 17 deletions
diff --git a/nuttx/TODO b/nuttx/TODO
index 9a2890417..dddf2ecaa 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -29,37 +29,52 @@ o C++ Support
- Need to call static constructors
o Network
-- Finish integratin of uIP
-
-o USB
-- Implement USB device support
-- Implement USB bulk device
-
-o Libraries
-- sscanf() and lib_vsprintf() do not support floating point values.
-- The definition of environ in stdlib.h is bogus and will not work as it should. This
- is because the underlying representation of the environment is not an arry of pointers.
-
-o File system
-- Add chmod(), truncate().
-- FAT32: long file names
-
-o Network
- Did not implement send() and sendto() timeouts. Option is setable via setsockopt,
but is not implemented.
- netutils/webserver netutils/telnetd (and maybe others) are seriously broken.
+ Need to be re-written to use listen() and accept()
- Should implement SOCK_RAW
+- listen() and accept() are untested.
+- accept() and recvfrom() need to return connection address
- Performance Improvements (uIP is not very fast):
-
+- Improve performance by queing TX operations
Add simple buffer management. CONFIG_NET_BUFFERS
(1) On write, queue buffer for output get a new buffer for the socket (waiting if
nececcesary
(2) Copy buffer structure into uip_driver_structure when driver requests write
data
+- Improve performance by stimulating the driver to accept new TX data before the
+ next polling interval.
Add a txail callback into driver to eliminate send delays. Since we want to
support multiple network devices, this means we will have to add some infrastructure
to map to device.
+- Break uip_interrupt() (in uip.c) into several functions.
+- uIP polling issues:
+ (1) uIP expects a single driver to poll at a 500ms interval (dm90x0 currently
+ polls a 5sec).
+ (2) Current logic will not support multiple ethernet drivers. Each driver should
+ poll on TCP connections connect on the network supported by the driver; UDP
+ polling should respond with TX data only if the UDP packet is intended for the
+ the network supported by the driver.
+ (3) If there were multiple drivers, polling would occur at double the rate.
+- TCP Bug:
+ When TCP data is received with no read in place, it appears that uIP ACKs the data
+ even though it was not taken accepted. We must either (1) buffer incoming data, or
+ (2) not ACK it so that it will be re-sent.
+
+o USB
+- Implement USB device support
+- Implement USB bulk device
+
+o Libraries
+- sscanf() and lib_vsprintf() do not support floating point values.
+- The definition of environ in stdlib.h is bogus and will not work as it should. This
+ is because the underlying representation of the environment is not an arry of pointers.
+
+o File system
+- Add chmod(), truncate().
+- FAT32: long file names
o Documentation
- Document fs/ & driver/ logic