Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

Committer:
ashleymills
Date:
Thu Sep 13 10:05:31 2012 +0000
Revision:
33:16126e029d58
Parent:
31:9231acdde9ff
Child:
35:6867af70c51c
Changed test framework.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ashleymills 1:0d63e4db8503 1 #define __DEBUG__ 4 //Maximum verbosity
ashleymills 1:0d63e4db8503 2 #ifndef __MODULE__
ashleymills 1:0d63e4db8503 3 #define __MODULE__ "net_3g_basic_http_test.cpp"
ashleymills 1:0d63e4db8503 4 #endif
ashleymills 1:0d63e4db8503 5
ashleymills 2:ea883307d02f 6 #include "LogHeader.h"
ashleymills 2:ea883307d02f 7
ashleymills 1:0d63e4db8503 8 #include "mbed.h"
ashleymills 1:0d63e4db8503 9 #include "socket/bsd_socket.h"
ashleymills 1:0d63e4db8503 10 #include "rtos.h"
ashleymills 1:0d63e4db8503 11 #include "VodafoneUSBModem.h"
ashleymills 1:0d63e4db8503 12 #include "VodafoneTestCase.h"
ashleymills 20:18373fb68ad7 13 #include "TestManager.h"
ashleymills 1:0d63e4db8503 14
ashleymills 1:0d63e4db8503 15 DigitalOut led1(LED1);
ashleymills 1:0d63e4db8503 16 DigitalOut led2(LED2);
ashleymills 1:0d63e4db8503 17 DigitalOut led3(LED3);
ashleymills 1:0d63e4db8503 18 DigitalOut led4(LED4);
ashleymills 1:0d63e4db8503 19
ashleymills 1:0d63e4db8503 20 extern "C" void HardFault_Handler() { error("Hard Fault!\n"); }
ashleymills 1:0d63e4db8503 21
ashleymills 24:8f0f9551122a 22 time_t startTime = 0;
ashleymills 24:8f0f9551122a 23 time_t gPreviousUptime = 0;
ashleymills 24:8f0f9551122a 24 time_t gUptime = 0;
ashleymills 24:8f0f9551122a 25
ashleymills 24:8f0f9551122a 26 void loopForever() {
ashleymills 24:8f0f9551122a 27 while(1) {
ashleymills 24:8f0f9551122a 28 Thread::wait(1000);
ashleymills 24:8f0f9551122a 29 time_t now = time(NULL);
ashleymills 24:8f0f9551122a 30 gPreviousUptime = gUptime;
ashleymills 24:8f0f9551122a 31 }
ashleymills 24:8f0f9551122a 32 }
ashleymills 24:8f0f9551122a 33
ashleymills 1:0d63e4db8503 34 void test(void const*) {
ashleymills 1:0d63e4db8503 35 VodafoneUSBModem modem;
ashleymills 2:ea883307d02f 36 LOG("Constructing TestManager");
ashleymills 2:ea883307d02f 37 TestManager *m = new TestManager(&modem);
ashleymills 22:5b1feecf2aeb 38 LOG("Running tests.");
nherriot 30:dd2beda340c6 39
ashleymills 1:0d63e4db8503 40
ashleymills 33:16126e029d58 41 int numPassed = m->executeTestProfile(TESTS_AUTOMATED);
ashleymills 24:8f0f9551122a 42
ashleymills 24:8f0f9551122a 43 loopForever();
ashleymills 1:0d63e4db8503 44 }
ashleymills 1:0d63e4db8503 45
ashleymills 24:8f0f9551122a 46
ashleymills 3:28336c2e94e4 47
ashleymills 3:28336c2e94e4 48 void setTime() {
ashleymills 3:28336c2e94e4 49 struct tm t;
ashleymills 3:28336c2e94e4 50 t.tm_year = 2012;
ashleymills 3:28336c2e94e4 51 t.tm_mon = 8;
ashleymills 3:28336c2e94e4 52 t.tm_mday = 23;
ashleymills 3:28336c2e94e4 53 t.tm_hour = 9;
ashleymills 3:28336c2e94e4 54 t.tm_min = 19;
ashleymills 3:28336c2e94e4 55 t.tm_sec = 0;
ashleymills 3:28336c2e94e4 56 t.tm_year -= 1900;
ashleymills 3:28336c2e94e4 57 t.tm_mon -= 1;
ashleymills 3:28336c2e94e4 58 set_time(mktime(&t));
ashleymills 3:28336c2e94e4 59 }
ashleymills 3:28336c2e94e4 60
ashleymills 1:0d63e4db8503 61 int main() {
ashleymills 1:0d63e4db8503 62
ashleymills 1:0d63e4db8503 63 DBG_INIT();
ashleymills 1:0d63e4db8503 64 DBG_SET_SPEED(115200);
ashleymills 1:0d63e4db8503 65 DBG_SET_NEWLINE("\r\n");
ashleymills 1:0d63e4db8503 66
ashleymills 3:28336c2e94e4 67 //setTime();
ashleymills 3:28336c2e94e4 68 size_t currentTime = time(NULL);
ashleymills 3:28336c2e94e4 69 fprintf(stdout,"Invocation time: %s\r\n",ctime(&currentTime));
ashleymills 3:28336c2e94e4 70
ashleymills 3:28336c2e94e4 71
ashleymills 23:408199b5d2cb 72 Thread testTask(test, NULL, osPriorityNormal, 1024 * 8);
ashleymills 1:0d63e4db8503 73 // this thread just waits and blinks leds periodically
ashleymills 1:0d63e4db8503 74 while(1) {
ashleymills 1:0d63e4db8503 75 led1 = !led1;
ashleymills 1:0d63e4db8503 76 Thread::wait(500);
ashleymills 1:0d63e4db8503 77 led1 = !led1;
ashleymills 1:0d63e4db8503 78 Thread::wait(30000);
ashleymills 1:0d63e4db8503 79 }
ashleymills 0:6d8a9f4b2cc6 80 }