endpoint C207 radio support

Dependents:   mbed_mqtt_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_cellular

Revision:
11:9f031bd67811
Parent:
10:83baedde4e85
Child:
12:29ff8e9e0cbe
diff -r 83baedde4e85 -r 9f031bd67811 MBEDUbloxCellRadio.cpp
--- a/MBEDUbloxCellRadio.cpp	Wed Apr 02 06:00:08 2014 +0000
+++ b/MBEDUbloxCellRadio.cpp	Wed Apr 02 16:08:40 2014 +0000
@@ -36,16 +36,26 @@
  // connect
  bool MBEDUbloxCellRadio::connect() {
      if (this->m_connected == false) {
-        wait_ms(UBLOX_CDMA_DELAY_MS);
+        this->logger()->log("applying modem power...");
+        this->m_c027->mdmPower(true);
+        this->logger()->log("resetting modem...");
+        this->m_c027->mdmReset();
+        this->logger()->log("waking modem...");
+        this->m_c027->mdmWakeup();
+        this->logger()->log("powering modem...");
+        this->m_modem->power(true); 
+        this->logger()->log("waiting a bit...");
+        Thread::wait(UBLOX_CDMA_DELAY_MS);
         this->logger()->log("connecting...");
         int ret = this->m_modem->connect("internet");
         if(ret) this->logger()->log("cellular modem connection FAILED!");
         else this->logger()->log("cellular modem connected!");
         this->m_connected = true;
     }
+    this->m_connected = true;
      
-     if (this->m_connected == false) this->logger()->log("cell modem connect FAILED");
-     return this->m_connected;
+    if (this->m_connected == false) this->logger()->log("cell modem connect FAILED");
+    return this->m_connected;
  }
  
  // disconnect