in w5100.h you could reduce the MAX sockets from 4 to 2, that might/should double the receive buffers, which might smooth out bursty packet arrivals.
you could also increase the SPI speed from 12 to 24 mhz (w5100.h w5100.cpp).
Hey manitou,
increasing the SPI speed doesn't have any effect.
When I try to change the MAC sockets I get compiling errors.
/
Applications/Arduino_1.6.5.app/Contents/Java/hardware/teensy/avr/libraries/Ethernet/w5100.cpp:37:40: error: conflicting declaration 'uint16_t W5100Class::SBASE [2]'
uint16_t W5100Class::SBASE[MAX_SOCK_NUM];
^
In file included from /Applications/Arduino_1.6.5.app/Contents/Java/hardware/teensy/avr/libraries/Ethernet/w5100.cpp:34:0:
/Applications/Arduino_1.6.5.app/Contents/Java/hardware/teensy/avr/libraries/Ethernet/w5100.h:264:19: error: 'W5100Class::SBASE' has a previous declaration as 'uint16_t W5100Class::SBASE [4]'
static uint16_t SBASE[SOCKETS]; // Tx buffer base address
^
/Applications/Arduino_1.6.5.app/Contents/Java/hardware/teensy/avr/libraries/Ethernet/w5100.cpp:37:40: error: declaration of 'uint16_t W5100Class::SBASE [4]' outside of class is not definition [-fpermissive]
uint16_t W5100Class::SBASE[MAX_SOCK_NUM];
^
/Applications/Arduino_1.6.5.app/Contents/Java/hardware/teensy/avr/libraries/Ethernet/w5100.cpp:38:40: error: conflicting declaration 'uint16_t W5100Class::RBASE [2]'
uint16_t W5100Class::RBASE[MAX_SOCK_NUM];
^
In file included from /Applications/Arduino_1.6.5.app/Contents/Java/hardware/teensy/avr/libraries/Ethernet/w5100.cpp:34:0:
/Applications/Arduino_1.6.5.app/Contents/Java/hardware/teensy/avr/libraries/Ethernet/w5100.h:265:19: error: 'W5100Class::RBASE' has a previous declaration as 'uint16_t W5100Class::RBASE [4]'
static uint16_t RBASE[SOCKETS]; // Rx buffer base address
^
/Applications/Arduino_1.6.5.app/Contents/Java/hardware/teensy/avr/libraries/Ethernet/w5100.cpp:38:40: error: declaration of 'uint16_t W5100Class::RBASE [4]' outside of class is not definition [-fpermissive]
uint16_t W5100Class::RBASE[MAX_SOCK_NUM];
Do you know what I do wrong?