Open agdl opened 8 years ago
From @fpoto on December 27, 2013 16:56
Is this related to https://github.com/arduino/Arduino/issues/1644 ?
From @glennkreisel on December 27, 2013 19:34
Yes! the function was not implemented practically. I've submitted code but have not heard a word from anyone. I do not have the AVR32 compiler to compile HEX file.. etc.. Any help getting my modified code in?
From @q2dg on August 27, 2015 18:40
Well...I don't know if it is relate to this or not (it's more a complaint about documentation), but looking at https://www.arduino.cc/en/Reference/EthernetUDPRead it isn't very clear there are (well, should be) two "modes" in read() method: -Without parameters: returns only one byte -With (array,length) parameters: doesn't return anything because the data read is already in array??
Moreover, in example code appears the UDP_TX_PACKET_MAXSIZE constant which isn't explained anywhere (shouldn't it be UDPRX_PACKET_MAX_SIZE instead?????) . Little details that make life harder to newcomers...
From @glennkreisel on December 21, 2013 6:29
UPDATE*\ I have fixed this code in the udp_dev version..
in ard_utils.c
This function should return only the unread contents but instead the whole buffer of old and new data is returned. Even though the read(buf, len) from arduino only asks for 10 bytes. This should accept a LENGTH var and return the data at the current p->idx location up to end of buffered data or LENGTH reached... This makes the WiFi code on arduino fail for wificlient.read(buf, len)..
So currently you can ONLY read one byte at a time and it is very slow with all the SPI traffic for each byte.
This is called in: ard_spi.c This routine should accept another param of LENGTH from the arduino and only read that many bytes in the call to GetTcpData.
Copied from original issue: arduino/Arduino#1752