esp_netif: Fixed SLIP input to support size longer than 256

Implement batch processing of incoming slip data.

Merges https://github.com/espressif/esp-idf/pull/5928
pull/4512/merge
Rob Connolly 2020-09-30 11:23:30 +13:00 zatwierdzone przez David Cermak
rodzic f806261964
commit a92ae03b1e
1 zmienionych plików z 7 dodań i 1 usunięć

Wyświetl plik

@ -166,7 +166,13 @@ void esp_netif_lwip_slip_input(void *h, void *buffer, unsigned int len, void *eb
ESP_LOG_BUFFER_HEXDUMP(TAG, buffer, len, ESP_LOG_DEBUG);
// Update slip netif with data
slipif_received_bytes(netif->lwip_netif, buffer, len);
const int max_batch = 255;
int sent = 0;
while(sent < len) {
int batch = (len - sent) > max_batch ? max_batch : (len - sent);
slipif_received_bytes(netif->lwip_netif, buffer+sent, batch);
sent += batch;
}
// Process incoming bytes
for (int i = 0; i < len; i++) {