arduino-libraries / Ethernet

Ethernet Library for Arduino
http://arduino.cc/
259 stars 264 forks source link

suboptimal SPI usage #61

Closed d21d3q closed 6 years ago

d21d3q commented 6 years ago

Original issue here.

This issue came up when I was using Ethernet2 library on Nucleo board, but same problems would show up while using this Library. I described original issue in Ethernet2 repo by adafruit and also on stm32duino.

I've managed to solve problem by using manual transaction control (proposed in this PR)

Since Arduino is gaining popularity on other non-avr platforms, maybe it would be worth to start optimize libraries for other platforms without affecting original usage on AVR based bards?

PaulStoffregen commented 6 years ago

Have you looked at the Ethernet code? It is NOT the same as Ethernet2. This issue is regarding the very inefficient Ethernet2 library.

PaulStoffregen commented 6 years ago

I'm going to close this issue, because it is clearly about the code for a different library.

Ethernet (not Ethernet2) does SPI.transaction at the socket layer. One transaction is done for each higher-level operation, not 1 per SPI use as in Ethernet 2.

Perhaps file a bug with stm32duino, asking them to improve the SPI library?