Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

Revision:
22:5b1feecf2aeb
Child:
23:408199b5d2cb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tests/Test25.h	Wed Sep 05 14:47:44 2012 +0000
@@ -0,0 +1,92 @@
+#pragma once
+#include "VodafoneTestCase.h"
+class Test25 : public VodafoneTestCase {
+   public: 
+      Test25(VodafoneUSBModem *m, int tcNumber) : VodafoneTestCase(m, tcNumber) {
+      }
+      
+      virtual void setupTest() {
+         _ussdResponse = (char*)malloc(16*sizeof(char));
+      }
+   
+      virtual bool runTest() {
+
+         LOG("Test %d, getting signal strength.", _testCaseNumber);
+         int rssi = -1000;
+         LinkMonitor::REGISTRATION_STATE regState = LinkMonitor::REGISTRATION_STATE_UNKNOWN;
+         LinkMonitor::BEARER bearer = LinkMonitor::BEARER_UNKNOWN;
+        
+         if(_modem->getLinkState(&rssi, &regState, &bearer)==0) {
+            if(rssi==-1000) {
+               LOG("RSSI: Error.");
+               return false;
+            } else {
+               LOG("RSSI: %d",rssi);
+            }
+            
+            switch(regState) {
+               case LinkMonitor::REGISTRATION_STATE_UNKNOWN:
+                  LOG("regState: UNKNOWN. Failing.");
+                  return false;
+                  break;
+               case LinkMonitor::REGISTRATION_STATE_REGISTERING:
+                  LOG("regState: REGISTERING");
+                  break;
+               case LinkMonitor::REGISTRATION_STATE_DENIED:
+                  LOG("regState: DENIED");
+                  break;
+               case LinkMonitor::REGISTRATION_STATE_NO_SIGNAL:
+                  LOG("regState: NO SIGNAL");
+                  break;
+               case LinkMonitor::REGISTRATION_STATE_HOME_NETWORK:
+                  LOG("regState: HOME NETWORK");
+                  break;
+               case LinkMonitor::REGISTRATION_STATE_ROAMING:
+                  LOG("regState: ROAMING");
+                  break;
+               default:
+                  LOG("regState: ERROR. Failing.");
+                  return false;
+                  break;
+            }
+            
+            switch(bearer) {
+               case LinkMonitor::BEARER_UNKNOWN:
+                  LOG("bearer: UNKNOWN. Failing.");
+                  return false;
+                  break;
+               case LinkMonitor::BEARER_GSM:
+                  LOG("bearer: GSM");
+                  break;
+               case LinkMonitor::BEARER_EDGE:
+                  LOG("bearer: EDGE");
+                  break;
+               case LinkMonitor::BEARER_UMTS:
+                  LOG("bearer: UMTS");
+                  break;
+               case LinkMonitor::BEARER_HSPA:
+                  LOG("bearer: HSPA");
+                  break;
+               case LinkMonitor::BEARER_LTE:
+                  LOG("bearer: LTE");
+                  break;
+               default:
+                  LOG("bearer: ERROR. Failing.");
+                  return false;
+                  break;
+            }
+            
+         } else {
+            return false;
+         }
+         
+         return true;
+      }
+      
+      virtual void endTest() {
+         free(_ussdResponse);
+      }
+      
+   private:
+      char *_ussdResponse;
+};