Vodafone Test Suite
Dependencies: mbed-rtos mbed HTTPClient VodafoneUSBModem
Diff: Tests/Test25.h
- Revision:
- 22:5b1feecf2aeb
- Child:
- 23:408199b5d2cb
diff -r 3875fe74d358 -r 5b1feecf2aeb Tests/Test25.h --- /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, ®State, &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; +};