Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

Tests/Test25.h

Committer:
ashleymills
Date:
2012-09-13
Revision:
34:d9e45aad85f2
Parent:
33:16126e029d58
Child:
37:847f5f86e9ff

File content as of revision 34:d9e45aad85f2:

#pragma once
#include "VodafoneTestCase.h"
static const char* gTest25Description = "Retrieve signal strength and print it.";
//const int gTest25Depends[] = {};

class Test25 : public VodafoneTestCase {
   public: 
      Test25(VodafoneUSBModem *m) : VodafoneTestCase(m) {
         _description = gTest25Description;
         _testCaseNumber = 25;
      }
      
      virtual void setupTest() {
         
      }
   
      virtual bool execute() {

         LOG(gTest25Description);
         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;
               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;
            }
            
            switch(bearer) {
               case LinkMonitor::BEARER_UNKNOWN:
                  LOG("bearer: UNKNOWN. Failing.");
                  return false;
               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;
            }
            
         } else {
            return false;
         }
         
         return true;
      }
      
      virtual void endTest() {
         
      }
      
   private:
      
};