Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of SPWF01SA by
Diff: SPWFSA01.cpp
- Revision:
- 19:df8d7f70a740
- Parent:
- 18:fd46c2ca8eb7
- Child:
- 20:01031cd39e73
--- 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)
{
