endpoint C207 radio support

Dependents:   mbed_mqtt_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_cellular

Revision:
9:c5db2b63ed05
Parent:
8:ad37c7157d3c
Child:
10:83baedde4e85
--- a/MBEDUbloxCellRadio.cpp	Tue Apr 01 04:46:33 2014 +0000
+++ b/MBEDUbloxCellRadio.cpp	Wed Apr 02 04:35:49 2014 +0000
@@ -21,44 +21,39 @@
  
  // MBEDEndpoint support
  #include "MBEDEndpoint.h"
- 
+  
  // default constructor
- MBEDUbloxCellRadio::MBEDUbloxCellRadio(ErrorHandler *error_handler, void *endpoint) : BaseClass(error_handler,endpoint) {
+ MBEDUbloxCellRadio::MBEDUbloxCellRadio(ErrorHandler *error_handler, void *endpoint,UBLOX_MODEM *modem,C027 *c027) : BaseClass(error_handler,endpoint) {
+     this->m_modem = modem;
+     this->m_c027 = c027;
      this->m_connected = false;
-     this->m_c027 = new C027();
-     this->m_modem = NULL;
  }
  
  // default destructor
  MBEDUbloxCellRadio::~MBEDUbloxCellRadio() {
-     if (this->m_modem != NULL) delete this->m_modem;
-     if (this->m_c027 != NULL) delete this->m_c027;
  }
  
  // connect
  bool MBEDUbloxCellRadio::connect() {
      if (this->m_connected == false) {
-        if (this->m_c027 != NULL) {
-            this->logger()->log("powering cell modem...");
-            this->m_c027->mdmPower(true);
-            this->m_c027->mdmReset();
-            this->logger()->log("waking up cell modem...");
-            this->m_c027->mdmWakeup();
-            this->logger()->log("Allocating modem instance...");
-            if (this->m_modem == NULL) this->m_modem = new UBLOX_MODEM(NC, true, 1);
-            if (this->m_modem != NULL) {
-                this->logger()->log("powering modem instance...");
-                this->m_modem->power(true);
-                this->logger()->log("waiting a bit...");
-                wait_ms(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->logger()->log("powering cell modem...");
+        this->m_c027->mdmPower(true);
+        this->m_c027->mdmReset();
+        this->logger()->log("waking up cell modem...");
+        this->m_c027->mdmWakeup();
+        this->logger()->log("Allocating modem instance...");
+        if (this->m_modem != NULL) {
+            this->logger()->log("powering modem instance...");
+            this->m_modem->power(true);
+            this->logger()->log("waiting a bit...");
+            wait_ms(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;
         }
-     }
+    }
      
      if (this->m_connected == false) this->logger()->log("cell modem connect FAILED");
      return this->m_connected;