Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

main.cpp

Committer:
ashleymills
Date:
2014-01-29
Revision:
74:e52ac9624f7f
Parent:
72:0e8e769fcf76

File content as of revision 74:e52ac9624f7f:

#define __DEBUG__ 4 //Maximum verbosity
#ifndef __MODULE__
#define __MODULE__ "main.cpp"
#endif

#include "LogHeader.h"

#include "mbed.h"
#include "rtos.h"
#include "VodafoneUSBModem.h"

#include "VodafoneTestCase.h"
#include "TestManager.h"

DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);

extern "C" void HardFault_Handler() { error("Hard Fault!\n"); }

time_t startTime = 0;
time_t gPreviousUptime = 0;
time_t gUptime = 0;

void setTime() {
  struct tm t;
  t.tm_year  = 100;
  t.tm_mon   = 0;
  t.tm_mday  = 0;
  t.tm_hour  = 0;
  t.tm_min   = 0;
  t.tm_sec   = 0;
  set_time(mktime(&t));
}

int main() {

  DBG_INIT();
  DBG_SET_SPEED(115200);
  DBG_SET_NEWLINE("\r\n");

  setTime();
  size_t currentTime = time(NULL);
  fprintf(stdout,"Invocation time: %s\r\n",ctime(&currentTime));

  VodafoneUSBModem modem;
  LOG("Constructing TestManager");
  LOG("Running tests.");
  TestManager *m = new TestManager(&modem);
  
  m->runTestProfile(TESTS_AUTOMATED);
  //m->runTestProfile(TESTS_INTERNET);
  //m->runTestProfile(TESTS_SMS);
  //m->runTest(15);
  
  // this thread just waits and blinks leds periodically
  while(1) {
     led1 = !led1;
     Thread::wait(500);
     led1 = !led1;
     Thread::wait(1000);
     time_t now = time(NULL);
     gPreviousUptime = gUptime;
     gUptime = now-startTime;
  }
}