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 C027_Support by
Diff: MDM.h
- Revision:
- 26:07be5faf8925
- Parent:
- 25:4045d02e44f1
- Child:
- 28:4d9509e3b1cf
diff -r 4045d02e44f1 -r 07be5faf8925 MDM.h
--- a/MDM.h Tue Apr 08 11:59:28 2014 +0000
+++ b/MDM.h Tue Apr 08 13:52:07 2014 +0000
@@ -52,9 +52,18 @@
virtual int getLine(char* buf, int len) = 0;
virtual int send(const char* buf, int len);
int sendFormated(const char* format, ...);
- typedef int (*_CB)(int type, const char* buf, int len, void* param);
- int waitFinalResp(_CB cb = NULL, void* param = NULL, int timeout_ms = 5000);
-
+
+ typedef int (*_CALLBACKPTR)(int type, const char* buf, int len, void* param);
+ int waitFinalResp(_CALLBACKPTR = NULL,
+ void* param = NULL,
+ int timeout_ms = 5000);
+ template<class T>
+ int waitFinalResp(int (*cb)(int type, const char* buf, int len,
+ T* param),
+ T* param, int timeout_ms = 5000)
+ {
+ return waitFinalResp((_CALLBACKPTR)cb, (void*)param, timeout_ms);
+ }
// network
bool init(const char* pin = NULL);
bool checkNetStatus(Status* info = NULL);
@@ -89,6 +98,7 @@
typedef enum { MODEL_UNKNOWN, MODEL_SARA_G350, MODEL_LISA_U200, MODEL_LISA_C200 } Model;
typedef enum { SIM_UNKNOWN, SIM_PIN, SIM_READY } Sim;
static int _cbATI(int type, const char* buf, int len, Model* model);
+ static int _cbCIMI(int type, const char* buf, int len, char* imsi);
static int _cbUDNSRN(int type, const char* buf, int len, IP* ip);
static int _cbUSOCR(int type, const char* buf, int len, int* socket);
static int _cbUSORD(int type, const char* buf, int len, char* out);
@@ -97,6 +107,9 @@
typedef struct { char* buf; char* num; } CMGRparam;
static int _cbCUSD(int type, const char* buf, int len, char* buf);
static int _cbCMGR(int type, const char* buf, int len, CMGRparam* param);
+ static int _cbCGSN(int type, const char* buf, int len, char* imei);
+ static int _cbGSN(int type, const char* buf, int len, char* imei);
+ static int _cbCCID(int type, const char* buf, int len, char* ccid);
static IP strToIp(const char* str);
IP _ip;
Model _model;
@@ -106,6 +119,9 @@
char _num[32];
char _opr[32];
int _rssi;
+ char _imsi[32];
+ char _imei[32];
+ char _ccid[32];
private:
typedef enum { SOCK_FREE, SOCK_CREATED, SOCK_CONNECTED } SockState;
typedef struct { SockState state; int pending; } SockCtrl;
