tinygo icon indicating copy to clipboard operation
tinygo copied to clipboard

uIP == TCP/IP in cooperative multitasking

Open vanrein opened this issue 2 years ago • 2 comments

As suggested on MCH2022, you may want to look into the TCP/IP for 8/16 bit microcontrollers, really small and pretty feature complete. There is now an IPv6 version too.

https://en.wikipedia.org/wiki/UIP_(micro_IP)

Oh, and you were surprised about cooperative multitasking in C, but it's done from time to time. Putty is the best-known example I suppose. It usually comes as very, very ugly header include files.

I really enjoyed seeing Go for microcontrollers, thank you for the idea and effort!

vanrein avatar Jul 27 '22 18:07 vanrein

Worked on this for a while rolling my own a while back for the ENC28J60 IC. Was working okish, managed to get a basic http webpage to control a LED on the arduino uno. Still needed quite a bit of work to be extensible. I'll be taking a look at UIP since I'm still interested in having this feature.

IC Driver: https://github.com/tinygo-org/drivers/pull/253 TCP/IP stack: https://github.com/soypat/ether-swtch (warning, fugly code)

soypat avatar Aug 05 '22 21:08 soypat

@vanrein thank you for the suggestion! I haven't worked much on the net package but will keep it in mind as an option.

aykevl avatar Aug 31 '22 19:08 aykevl