Re: What Next?
- I did finish the LCD-based support for NuttX windows (that was released in 5.4 last week). I am surprised how well it works. I really expected performance issues using a parallel interface instead of video memory, but it is really pretty good.
I just finished coding a driver for the MicroChip enc28j60. That is a self contained ethernet interface + PHY that connects via SPI. I don't have any hardware with an enc28j60 on it to test it, but I have a module that I got on eBay. I plan to hook that up to something and test this week.
But then I am thinking beyond that...
Another idea that I have tossed around for a couple of years is to implement a network file system (NFS) client within NuttX. This would appear like any other file system within NuttX but would connect to an NFS server on some larger machine with lots of disk space.
I don't know enough to do that yet but I have the RFCs and it doesn't seem too difficult. There should even be license-compatible code in FreeBSD that I could leverage?
I am think that this could be useful in a several ways. I am thinking, for example, that it could be used by a small MCU to log enormous quantities of data remotely at some center machine with no internal storage capability whatsoever.
I could be used by a small machine with minimal memory to swap many different programs to customize functionality.
It could be used to access a large library of data - like fonts or images. Or strings localized to many different languages.
That seems like a great solution just waiting for an application to go with it (but that is what an OS is: A solution just waiting for the problem it solves).
- Hi, Kevin (and anyone else interested in networking features),
> For us ... Enhancements to the TCPIP stack are a "must" have. WeI just finished porting a simple version of IGMPv2 that I found at the lwIP site (http://www.sics.se/~adam/lwip/download.html). It is pretty limited -- just v2 and just client side -- but I liked it because it was very small and simple (although I did have to more or less re-design the whole thing to get it fit into NuttX). It just offers two end-user interfaces to join or leave an IGMP multicast group.
> need SMTP, TSL (ie. secure email), SSL (ie. HTTPS), and IGMP
I have finished the code and checked it into CVS. There is also a trivial test harness in examples/igmp. Here are the relevant change log entries:
* include/net/uip/igmp.h and uip-igmp.h - Add header files in preparation for NuttX IGMP support
* net/uip/uip_igmp*.c - Add IGMP support (untested on initial checkin).
* examples/igmp - Add a trivial test for IGMP (much more is needed)
Testing will be a problem. I think I need some kind of high-end network switch to support multicast groups, don't I? I guess I am clueless on how to test this. If anyone out there has some recommendations, I love to hear them.
The tiny test that I put in examples/igmp will just join and leave a group. I should be able to verify that the outgoing memership messages are okay, but I don't think I will be able to test any incoming multicast traffic. I added the following issue to my TODO list:
Description: Support for client-side IGMPv2 multicast has been added but not yet tested (because I don't have a proper environment for multicast testing). There are most likely errors that need to be fixed at least in the receipt of multicast packets.
In addition, an ethernet driver that needs to work with the IGMP logic will have to include additional support for multicast MAC address tables.
Priority: Low unless you need it.