|
1 |
| -# Improved Performance Ethernet Library |
| 1 | +# Native Ethernet Library For Teensy 4.1 |
2 | 2 |
|
3 |
| -Wiznet chips W5100, W5200 and W5500 are automatically detected. |
| 3 | +Teensy 4.1 is automatically configured for Ethernet use. |
| 4 | +This library uses my FNET fork and is a required download. |
| 5 | +https://github.com/vjmuzik/FNET |
4 | 6 |
|
5 |
| -Efficient block mode of W5200 & W5500 are used for data and multi-byte register access. |
6 | 7 |
|
7 |
| -Wiznet socket registers are cached, which greatly reduces SPI communication overhead, at the cost of a small increase in RAM usage. TCP connections and UDP packets accessed in small chunks typically see a substantial performance boost. |
| 8 | +Just change <Ethernet.h> to <NativeEthernet.h> to use this library and the rest is taken care of. |
| 9 | +The API is a direct replacement for the normal Ethernet.h library aside from sketches that use direct calls to w5100.h |
8 | 10 |
|
9 |
| -Adafruit's Ethernet.init(CSPIN) extension is supported, to allow use of different pins for the chip select signal. Optimized direct register I/O is used for most Arduino compatible boards. |
10 |
| - |
11 |
| -http://www.pjrc.com/teensy/td_libs_Ethernet.html |
12 |
| - |
13 |
| - |
14 |
| - |
15 |
| -### Tested Hardware |
| 11 | +I've done quite a bit of testing to ensure compatibility as much as possible, but if you find any issues please report them. |
16 | 12 |
|
17 | 13 |
|
18 |
| -| Board | Chip | Shield / Module | Internet | Local (LAN) | |
19 |
| -| --------------------- | :---: | :-------------------: | ------------: | ------------: | |
20 |
| -| Teensy 3.6 | W5500 | WIZ850io | 212.59 | 1143.58 | |
21 |
| -| Teensy 3.6 | W5200 | WIZ820io | 202.44 | 1102.71 | |
22 |
| -| Teensy 3.6 | W5100 | WIZ812MJ | 180.76 | 274.14 | |
23 |
| -| ESP32 Feather | W5500 | Featherwing Ethernet | 211.06 | 965.76 | |
24 |
| -| Teensy 3.2 | W5500 | WIZ850io | 205.37 | 958.06 | |
25 |
| -| Teensy 3.2 | W5200 | WIZ820io | 215.44 | 914.78 | |
26 |
| -| Teensy 3.2 | W5100 | WIZ812MJ | 170.07 | 234.55 | |
27 |
| -| ChipKit Uno32 | W5500 | Seeed Ethernet W5500 | 177.19 | 858.81 | |
28 |
| -| ChipKit Uno32 | W5200 | WIZ820io | 188.31 | 837.56 | |
29 |
| -| ChipKit Uno32 | W5100 | Ethernet R2 (clone) | 159.72 | 272.18 | |
30 |
| -| Arduino Due | W5500 | Seeed Ethernet | 214.44 | 689.69 | |
31 |
| -| Arduino Due | W5200 | WIZ820io | 206.51 | 670.88 | |
32 |
| -| Arduino Due | W5100 | Arduino Ethernet R3 | 105.98 | 109.73 | |
33 |
| -| ESP8266 Feather | W5500 | Featherwing Ethernet | fail (dns) | 583.31 | |
34 |
| -| Teensy LC | W5500 | WIZ850io | 200.51 | 479.73 | |
35 |
| -| Teensy LC | W5200 | WIZ820io | 199.62 | 471.95 | |
36 |
| -| Teensy LC | W5100 | WIZ812MJ | 126.40 | 137.77 | |
37 |
| -| Arduino 101 (Intel) | W5500 | Seeed Ethernet W5500 | 168.96 | 359.32 | |
38 |
| -| Arduino 101 (Intel) | W5200 | WIZ820io | 169.37 | 349.35 | |
39 |
| -| Arduino 101 (Intel) | W5100 | Arduino Ethernet R3 | 42.39 | 43.60 | |
40 |
| -| Teensy 2.0 | W5100 | WIZ812MJ | 81.07 | 84.85 | |
41 |
| -| Arduino Uno R3 | W5500 | Seeed Ethernet W5500 | 185.44 | 329.00 | |
42 |
| -| Arduino Uno R3 | W5500 | Arduino.org Ethernet2 | 195.32 | 329.60 | |
43 |
| -| Arduino Uno R3 | W5200 | WIZ820io | 191.85 | 331.27 | |
44 |
| -| Arduino Uno R3 | W5100 | Arduino Ethernet R3 | 79.11 | 82.66 | |
45 |
| -| Arduino Uno R3 | W5100 | Ethernet R2 (clone) | 79.27 | 82.66 | |
46 |
| -| Arduino Leonardo | W5500 | Seeed Ethernet W5500 | 179.98 | 328.14 | |
47 |
| -| Arduino Leonardo | W5200 | WIZ820io | 183.69 | 330.30 | |
48 |
| -| Arduino Leonardo | W5100 | Ethernet R2 (clone) | 78.75 | 82.28 | |
49 |
| -| Mega 2560 (clone) | W5500 | Seeed Ethernet W5500 | 179.58 | 323.36 | |
50 |
| -| Mega 2560 (clone) | W5200 | WIZ820io | 172.73 | 325.44 | |
51 |
| -| Mega 2560 (clone) | W5100 | Ethernet R2 (clone) | 74.31 | 77.44 | |
52 |
| -| Arduino Zero | W5500 | Seeed Ethernet W5500 | 183.13 | 305.26 | |
53 |
| -| Arduino Zero | W5500 | Arduino.org Ethernet2 | 181.60 | 305.28 | |
54 |
| -| Arduino Zero | W5200 | WIZ820io | 177.53 | 298.53 | |
55 |
| -| Arduino Zero | W5100 | Arduino Ethernet R3 | 91.33 | 96.64 | |
56 |
| -| Arduino Zero | W5100 | Ethernet R2 (clone) | 91.42 | 96.64 | |
57 |
| -| Arduino MKR1000 | W5500 | MKR ETH | 181.27 | 298.93 | |
58 |
| -| Arduino MKR1000 | W5200 | WIZ820io | 125.20 | 291.98 | |
59 |
| -| Arduino Uno Wifi Rev2 | W5500 | Seeed Ethernet W5500 | 163.86 | 213.36 | |
60 |
| -| Arduino Uno Wifi Rev2 | W5500 | Arduino.org Ethernet2 | 169.72 | 212.88 | |
61 |
| -| Arduino Uno Wifi Rev2 | W5200 | WIZ820io | 161.94 | 212.19 | |
62 |
| -| Arduino Uno Wifi Rev2 | W5100 | Arduino.org Ethernet2 | 69.50 | 72.23 | |
63 |
| -| Arduino Uno Wifi Rev2 | W5100 | Ethernet R2 (clone) | 69.55 | 72.30 | |
64 |
| - |
65 |
| -For more information about these benchmarks: |
66 |
| -https://www.pjrc.com/arduino-ethernet-library-2-0-0/ |
67 |
| - |
68 |
| -ESP32 may require edit to SPI.h to add SPI.transfer(data, size) |
69 |
| -https://github.com/espressif/arduino-esp32/issues/1623 |
| 14 | +http://www.pjrc.com/teensy/td_libs_Ethernet.html |
0 commit comments