support library for C027 helper functions for Buffer Pipes, Buffered Serial Port (rtos capable) and GPS parsing. It includes modem APIs for USSD, SMS and Sockets.

Dependents:   HTTPClient_Cellular_HelloWorld Cellular_HelloMQTT MbedSmartRestMain Car_Bon_car_module ... more

This library is intended to be used with u-blox products such as the C027 or a shield with u-blox cellular and GPS modules like the cellular and positioning shield from Embedded Artist.

For 2G/GSM and 3G/UMTS you need to:

  • have a SIM card and know its PIN number
  • need to know you network operators APN setting These setting should be passed to the connect or init and join functions. You can also extend the APN database in MDMAPN.h.

For CDMA products you need to make sure that you have provisioned and activated the modem with either Sprint or Verizon.

Revision:
34:3b3b7807c0c3
Parent:
33:fb8fb5021b09
Child:
35:9275215a3a5b
--- a/MDM.h	Wed Apr 09 13:51:26 2014 +0000
+++ b/MDM.h	Wed Apr 09 14:25:41 2014 +0000
@@ -24,30 +24,29 @@
     // ----------------------------------------------------------------
     // Types 
     // ----------------------------------------------------------------
-    
     typedef enum { DEV_UNKNOWN, DEV_SARA_G350, DEV_LISA_U200, DEV_LISA_C200 } Dev; //!< MT Device Types 
     typedef enum { SIM_UNKNOWN, SIM_PIN, SIM_READY } Sim; //!< SIM Status
     typedef struct { 
-        Dev dev;        //!< Device Type
-        Sim sim;        //!< SIM Card Status
-        char ccid[20];  //!< Integrated Circuit Card ID
-        char imsi[16];  //!< International Mobile Station Identity
-        char imei[16];  //!< International Mobile Equipment Identity
-        char meid[20];  //!< Mobile Equipment IDentifier
-        char manu[16];  //!< Manufacturer
-        char model[16]; //!< Model Name LISA-U200, LISA-C200 or SARA-G350
-        char ver[16];   //!< Software Version
-    } DevStatus;        //!< Device status
+        Dev dev;            //!< Device Type
+        Sim sim;            //!< SIM Card Status
+        char ccid[20+1];    //!< Integrated Circuit Card ID
+        char imsi[15+1];    //!< International Mobile Station Identity
+        char imei[15+1];    //!< International Mobile Equipment Identity
+        char meid[18+1];    //!< Mobile Equipment IDentifier
+        char manu[16];      //!< Manufacturer (u-blox)
+        char model[16];     //!< Model Name (LISA-U200, LISA-C200 or SARA-G350)
+        char ver[16];       //!< Software Version
+    } DevStatus;            //!< Device status
     typedef enum { REG_UNKNOWN, REG_DENIED, REG_NONE, REG_HOME, REG_ROAMING } Reg; //!< Registration Status
     typedef enum { ACT_UNKNOWN, ACT_GSM, ACT_EDGE, ACT_UTRAN, ACT_CDMA } AcT; //!< Access Technology
     typedef struct { 
-        Reg reg;      //!< Registration Status
-        AcT act;      //!< Access Technology
-        int rssi;     //!< Received Signal Strength Indication (in dBm, range -113..-53)
-        char opr[17]; //!< Operator Name
-        char num[20]; //!< Mobile Directory Number
-    } NetStatus;      //!< Network Status
-    typedef uint32_t IP; //!< An IP address
+        Reg reg;        //!< Registration Status
+        AcT act;        //!< Access Technology
+        int rssi;       //!< Received Signal Strength Indication (in dBm, range -113..-53)
+        char opr[16+1]; //!< Operator Name
+        char num[32];   //!< Mobile Directory Number
+    } NetStatus;        //!< Network Status
+    typedef uint32_t IP; //!< An IP v4 address
     #define NOIP ((MDMParser::IP)0) //!< No IP address
     // ip number formating and conversion
     #define IPSTR           "%d.%d.%d.%d"