Test program for the Sprint/Sierra Wireless 598U dongle using the HTTPClient library

Dependencies:   HTTPClient SprintUSBModem mbed-rtos mbed

Revision:
0:43ee25ebfe6b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Oct 30 10:06:11 2012 +0000
@@ -0,0 +1,82 @@
+#include "mbed.h"
+#include "SprintUSBModem.h"
+#include "HTTPClient.h"
+
+void test(void const*) 
+{
+    SprintUSBModem modem(p18);
+    HTTPClient http;
+    char str[512];
+    
+    Thread::wait(5000);
+    printf("Switching power on\r\n");
+    
+    modem.power(true);
+    
+    int ret = modem.connect();
+    if(ret)
+    {
+      printf("Could not connect\r\n");
+      return;
+    }
+    
+    //GET data
+    printf("Trying to fetch page...\r\n");
+    ret = http.get("http://mbed.org/media/uploads/donatien/hello.txt", str, 128);
+    if (!ret)
+    {
+      printf("Page fetched successfully - read %d characters\r\n", strlen(str));
+      printf("Result: %s\r\n", str);
+    }
+    else
+    {
+      printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
+    }
+    
+    //POST data
+    HTTPMap map;
+    HTTPText text(str, 512);
+    map.put("Hello", "World");
+    map.put("test", "1234");
+    printf("Trying to post data...\r\n");
+    ret = http.post("http://httpbin.org/post", map, &text);
+    if (!ret)
+    {
+      printf("Executed POST successfully - read %d characters\r\n", strlen(str));
+      printf("Result: %s\r\n", str);
+    }
+    else
+    {
+      printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode());
+    }
+    
+    printf("Disconnecting\r\n");
+    
+    modem.disconnect(); 
+    
+    printf("Disconnected\r\n");
+    
+    modem.power(false); 
+    
+    printf("Powered off\r\n");
+
+    while(1) {
+    }
+}
+
+
+int main()
+{
+  DBG_INIT();
+  DBG_SET_SPEED(115200);
+  DBG_SET_NEWLINE("\r\n");
+  Thread testTask(test, NULL, osPriorityNormal, 1024 * 5);
+  DigitalOut led(LED1);
+  while(1)
+  {
+    led=!led;
+    Thread::wait(1000);  
+  }
+
+  return 0;
+}