Changes required by X-NUCLEO-IDWM01M1 and mbed-os 5.2.2
Dependents: X_NUCLEO_IDW01M1v2-lapi-1
Fork of SPWF01SA by
Revision 19:df8d7f70a740, committed 2016-09-21
- Comitter:
- mansiag
- Date:
- Wed Sep 21 10:22:40 2016 +0000
- Parent:
- 18:fd46c2ca8eb7
- Child:
- 20:01031cd39e73
- Commit message:
- modified recv() function
Changed in this revision
SPWFSA01.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/SPWFSA01.cpp Fri Sep 16 11:31:36 2016 +0000 +++ b/SPWFSA01.cpp Wed Sep 21 10:22:40 2016 +0000 @@ -283,6 +283,7 @@ return false; } +/* int32_t SPWFSA01::recv(int id, void *data, uint32_t amount) { uint32_t recv_amount; @@ -325,6 +326,31 @@ } return recv_amount; } +*/ + +int32_t SPWFSA01::recv(int id, void *data, uint32_t amount) +{ + uint32_t recv_amount=0; + + while(!recv_amount) { + if(!(_parser.send("AT+S.SOCKQ=%d", id) //send a query (will be required for secure sockets) + && _parser.recv(" DATALEN: %u", &recv_amount) + && _parser.recv("OK"))) { + return -2; + } + } + if(recv_amount > amount) + recv_amount = amount; + + _parser.flush(); + if(!(_parser.send("AT+S.SOCKR=%d,%d", id, recv_amount) + && (_parser.read((char*)data, recv_amount) >0) + && _parser.recv("OK"))) { + return -2; + } + + return recv_amount; +} bool SPWFSA01::close(int id) {