This application translates HTTP GET requests into the proper RS232 commands to control a Sharp Aquos TV

Dependencies:   EthernetInterface mbed-rtos mbed

Revision:
2:3637af74f7f0
Parent:
0:427a14ebab60
--- a/main.cpp	Tue Jul 29 23:10:14 2014 +0000
+++ b/main.cpp	Sat Sep 06 23:47:21 2014 +0000
@@ -15,24 +15,36 @@
 int main() {
     bool loop=true;
     DebugPort dbg;
-    dbg.setLED(0,1,1); //yellow for init
-    wait(0.1);
+    while(true) {
+        loop=true;
+        dbg.setLED(1,1,0); //yellow for init
+        wait(0.1);
     
-    AquosHTTP server(&dbg);
-    server.init(ip,mask,gateway);
-    AquosTV tv(&dbg);
-    
+        AquosTV tv(&dbg);
+        AquosHTTP server(&dbg,&tv);
+        server.init(ip,mask,gateway);
     
-    while(loop) {
-        dbg.setLED(0,0,0); //off while waiting
-        server.waitForRequest();
-        dbg.setLED(0,0,1); //blue in progress
-        if( tv.processCommand( server.getRequest() )) {
-            dbg.setLED(0,1,0);
-            server.returnSuccess();
-        } else {
-            dbg.setLED(1,0,0);
-            server.returnFailure();
+        while(loop) {
+            dbg.setLED(0,0,0); //off while waiting
+            server.waitForRequest();
+            dbg.setLED(0,0,1); //blue in progress
+            if( strncmp(server.getRequest(),"GET /help",9)==0) {
+                dbg.setLED(0,1,0);
+                server.returnHelp();
+            }              
+            else {
+                if( tv.processCommand( server.getRequest() )) {
+                    dbg.setLED(0,1,0);
+                    dbg.send("Command Success!\n\r");
+                    server.returnSuccess();
+                } 
+                else {
+                    dbg.setLED(1,0,0);
+                    dbg.send("Command Fail!\n\r");
+                    server.returnFailure();
+                }
+            }
+            loop=(dbg.level()==0);
         }
     }
 }