diff --git a/libraries/WiFi/utility/server_drv.cpp b/libraries/WiFi/utility/server_drv.cpp index c649e4fec..4a6d2932b 100644 --- a/libraries/WiFi/utility/server_drv.cpp +++ b/libraries/WiFi/utility/server_drv.cpp @@ -122,7 +122,7 @@ uint8_t ServerDrv::getClientState(uint8_t sock) return _data; } -uint8_t ServerDrv::availData(uint8_t sock) +uint16_t ServerDrv::availData(uint8_t sock) { WAIT_FOR_SLAVE_SELECT(); // Send Command @@ -133,19 +133,14 @@ uint8_t ServerDrv::availData(uint8_t sock) SpiDrv::waitForSlaveReady(); // Wait for reply - uint8_t _data = 0; uint8_t _dataLen = 0; - if (!SpiDrv::waitResponseCmd(AVAIL_DATA_TCP_CMD, PARAM_NUMS_1, &_data, &_dataLen)) - { - WARN("error waitResponse"); - } + uint16_t len = 0; + + SpiDrv::waitResponseCmd(AVAIL_DATA_TCP_CMD, PARAM_NUMS_1, (uint8_t*)&len, &_dataLen); + SpiDrv::spiSlaveDeselect(); - if (_dataLen!=0) - { - return (_data == 1); - } - return false; + return len; } bool ServerDrv::getData(uint8_t sock, uint8_t *data, uint8_t peek) diff --git a/libraries/WiFi/utility/server_drv.h b/libraries/WiFi/utility/server_drv.h index 5e6b79ff1..50ba7e396 100644 --- a/libraries/WiFi/utility/server_drv.h +++ b/libraries/WiFi/utility/server_drv.h @@ -31,7 +31,7 @@ public: static bool sendUdpData(uint8_t sock); - static uint8_t availData(uint8_t sock); + static uint16_t availData(uint8_t sock); static uint8_t checkDataSent(uint8_t sock); };