This application translates HTTP GET requests into the proper RS232 commands to control a Sharp Aquos TV
Dependencies: EthernetInterface mbed-rtos mbed
main.cpp@2:3637af74f7f0, 2014-09-06 (annotated)
- Committer:
- davisw00
- Date:
- Sat Sep 06 23:47:21 2014 +0000
- Revision:
- 2:3637af74f7f0
- Parent:
- 0:427a14ebab60
Implemented Channel commands. Wait for response is not working; therefore commands are followed by a 50ms wait
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
davisw00 | 0:427a14ebab60 | 1 | #include "mbed.h" |
davisw00 | 0:427a14ebab60 | 2 | #include "EthernetInterface.h" |
davisw00 | 0:427a14ebab60 | 3 | #include "rtos.h" |
davisw00 | 0:427a14ebab60 | 4 | #include "DebugPort.h" |
davisw00 | 0:427a14ebab60 | 5 | #include "AquosHTTP.h" |
davisw00 | 0:427a14ebab60 | 6 | #include "AquosTV.h" |
davisw00 | 0:427a14ebab60 | 7 | #include <string.h> |
davisw00 | 0:427a14ebab60 | 8 | |
davisw00 | 0:427a14ebab60 | 9 | #define DBG 1 |
davisw00 | 0:427a14ebab60 | 10 | |
davisw00 | 0:427a14ebab60 | 11 | const char ip[] = "192.168.16.36"; |
davisw00 | 0:427a14ebab60 | 12 | const char mask[] = "255.255.255.0"; |
davisw00 | 0:427a14ebab60 | 13 | const char gateway[] = "192.168.16.1"; |
davisw00 | 0:427a14ebab60 | 14 | |
davisw00 | 0:427a14ebab60 | 15 | int main() { |
davisw00 | 0:427a14ebab60 | 16 | bool loop=true; |
davisw00 | 0:427a14ebab60 | 17 | DebugPort dbg; |
davisw00 | 2:3637af74f7f0 | 18 | while(true) { |
davisw00 | 2:3637af74f7f0 | 19 | loop=true; |
davisw00 | 2:3637af74f7f0 | 20 | dbg.setLED(1,1,0); //yellow for init |
davisw00 | 2:3637af74f7f0 | 21 | wait(0.1); |
davisw00 | 0:427a14ebab60 | 22 | |
davisw00 | 2:3637af74f7f0 | 23 | AquosTV tv(&dbg); |
davisw00 | 2:3637af74f7f0 | 24 | AquosHTTP server(&dbg,&tv); |
davisw00 | 2:3637af74f7f0 | 25 | server.init(ip,mask,gateway); |
davisw00 | 0:427a14ebab60 | 26 | |
davisw00 | 2:3637af74f7f0 | 27 | while(loop) { |
davisw00 | 2:3637af74f7f0 | 28 | dbg.setLED(0,0,0); //off while waiting |
davisw00 | 2:3637af74f7f0 | 29 | server.waitForRequest(); |
davisw00 | 2:3637af74f7f0 | 30 | dbg.setLED(0,0,1); //blue in progress |
davisw00 | 2:3637af74f7f0 | 31 | if( strncmp(server.getRequest(),"GET /help",9)==0) { |
davisw00 | 2:3637af74f7f0 | 32 | dbg.setLED(0,1,0); |
davisw00 | 2:3637af74f7f0 | 33 | server.returnHelp(); |
davisw00 | 2:3637af74f7f0 | 34 | } |
davisw00 | 2:3637af74f7f0 | 35 | else { |
davisw00 | 2:3637af74f7f0 | 36 | if( tv.processCommand( server.getRequest() )) { |
davisw00 | 2:3637af74f7f0 | 37 | dbg.setLED(0,1,0); |
davisw00 | 2:3637af74f7f0 | 38 | dbg.send("Command Success!\n\r"); |
davisw00 | 2:3637af74f7f0 | 39 | server.returnSuccess(); |
davisw00 | 2:3637af74f7f0 | 40 | } |
davisw00 | 2:3637af74f7f0 | 41 | else { |
davisw00 | 2:3637af74f7f0 | 42 | dbg.setLED(1,0,0); |
davisw00 | 2:3637af74f7f0 | 43 | dbg.send("Command Fail!\n\r"); |
davisw00 | 2:3637af74f7f0 | 44 | server.returnFailure(); |
davisw00 | 2:3637af74f7f0 | 45 | } |
davisw00 | 2:3637af74f7f0 | 46 | } |
davisw00 | 2:3637af74f7f0 | 47 | loop=(dbg.level()==0); |
davisw00 | 0:427a14ebab60 | 48 | } |
davisw00 | 0:427a14ebab60 | 49 | } |
davisw00 | 0:427a14ebab60 | 50 | } |