> > I just wish there was a free full TCP/IP implementation out there for > the PIC :) I dread having to write my own. > > I've looked at the previously mentioned implementations, not with too > much detail but they seem to have certain problems.. such as you > mentioned.. hardware based or limited features. I want an API library > where I can use standard library calls like in unix to program my > application. > I don't want to only be able to use certain ports, or have to connect > via a ppp/slip link.. Let me know if you find anything like this.. > > IMO (not very humble - I've got a fair amount of experience in this area), > this isn't possible. To start with, the protocols pretty much assume an > environment with "separate" operating system and applications, which will > get you to pretty large code (for the "OS" side, which has to have > "everything") pretty quick. Implementing Internet connectivity on a small > microcontroller means cheating. How badly you cheat, and where, and whether > you'll be able to get away with it on a large scale, is dependent on how > much space you're willing to sacrifice to the network code (and it IS > primarilly a space issue, rather than a speed issue.) You're right on the mark here Bill. The bottom line is that microcontrollers aren't really designed for that level of networking. And aside from the "coolness" factor and compatibility with existing protocols, designing a full TCP/IP implementation for a microcontroller doesn't buy you very much. All of your typical heavyweight net applications take advantage of the fact that the underlaying OS implements the full TCP stack. But TCP as a protocol puts really heavy demands on the OS. Buffering, retransmissions, flow and congestion control, and the like cost in code size, data memory required, and computational complexity. As I've said before in this forum that UDP/IP is the savior for ucontrollers requiring internetwork capability because the loss of reliable, sequential flow controlled delivery completely simplifies the stack implementation. The only minor cost is having to write an application at the client end to interact with PIC. But the client doesn't have to be a gateway, it can be located anywhere on the internet. The bottom line is that applications are way too varied and ucontroller way to limited to afford sticking a "standard" OS on them. OTOH a UDP/IP library could have some utility. Let's see how it stacks up against the original issues: "... API library ... standard calls:" This isn't a bad idea. A library with open, send, receive, and close calls for UDP could be useful. "certain ports:" The API could easily be designed to handle multiple/varied ports. And a library implementation would have to. It's just easier to hardcode a port number... "[only] ppp/slip link:" This is a matter of the hardware. Ethernet is easily achievabile with chips like the CS8900. Other's have looked at RealTek chips and NE2000 interfaces. But the hardware implementations for PPP/SLIP are much more cost/space effective. A standalone serial link can be built using a single 8 pin DS1275 or a MAX232 whereas the ethernet implementations requires a bunch of pins. Just some thoughts. BAJ