ntruchsess / arduino_uip

UIPEthernet: A plugin-replacement of the stock Arduino Ethernet library for ENC28J60 shields and breakout boards. Full support for persistent (streaming) TCP-connections and UDP (Client and Server each), ARP, ICMP, DHCP and DNS. Build around Adam Dunkels uIP Stack. Further developed version can be found on https://github.com/UIPEthernet/UIPEthernet
489 stars 212 forks source link

SAMD21 (Arduino Zero) Support #155

Open ljbeng opened 8 years ago

ljbeng commented 8 years ago

Will this library be compatible with the SAMD21 any time soon?

Daniel-dk commented 7 years ago

Ethercard uses direct Register access on the AVR, which won't work on ARM.

a simple ( or simplistic ) way of looking at it is to make sure reads, writes and chipselects are changed to use the SPI library instead of direct register usage ( which is specific to AVR only in this case ).

The SPI interface will have to be rewritten/replaced by the Arduino SPI library's interace things likeSPDR = *data++; can be replaced by SPI.transfer(*data++); for example.

dimitar-kunchev commented 6 years ago

I did get UIPEthernet working on SAMD21E16, but I started with https://github.com/UIPEthernet/UIPEthernet. Found all defines for ARCH_SAM and added checks for ARCH_SAMD next to them. So far testing for few days and looks OK-ish. There are glitches but they may be unrelated.