This application translates HTTP GET requests into the proper RS232 commands to control a Sharp Aquos TV
Dependencies: EthernetInterface mbed-rtos mbed
Diff: DebugPort.h
- Revision:
- 0:427a14ebab60
- Child:
- 2:3637af74f7f0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DebugPort.h Tue Jul 29 23:01:55 2014 +0000 @@ -0,0 +1,52 @@ +#ifndef _DebugPort +#define _DebugPort +#include "mbed.h" + +class DebugPort { + protected: + //Serial m_pc(USBTX, USBRX); + Serial* m_pc; + DigitalOut* led_red; + DigitalOut* led_green; + DigitalOut* led_blue; + + public: + void setLED(bool r, bool g, bool b) { + *led_red = !r; + *led_green = !g; + *led_blue = !b; + } + + DebugPort() { + m_pc = new Serial(USBTX,USBRX); + led_red = new DigitalOut(LED_RED); + led_green = new DigitalOut(LED_GREEN); + led_blue = new DigitalOut(LED_BLUE); + + m_pc->baud(115200); + m_pc->format(8,SerialBase::None,1); + setbuf(*m_pc,NULL); // turn off buffering of printf output + setLED(0,0,0); + } + ~DebugPort() { + delete led_red; + delete led_green; + delete led_blue; + delete m_pc; + } + void send(const char* msg, int level=0) { + m_pc->printf(msg); + if(level>0) { // major fail. stop processing and toggle led + while(true) { + setLED(0,0,0); + wait(0.1); + setLED(1,0,0); + wait(0.1); + } + } + } + +}; + + +#endif \ No newline at end of file