Simple RPC Test

Dependencies:   EthernetNetIf HTTPServer mbed

Fork of rpc_http_test by zeeshan anjum

Committer:
ganeshgore
Date:
Tue Jun 09 05:50:06 2015 +0000
Revision:
1:87cb8d495954
Parent:
0:d020b026a3f5
Initial;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zeeshan0123 0:d020b026a3f5 1 #include "mbed.h"
zeeshan0123 0:d020b026a3f5 2 #include "EthernetNetIf.h"
zeeshan0123 0:d020b026a3f5 3 #include "HTTPServer.h"
zeeshan0123 0:d020b026a3f5 4
zeeshan0123 0:d020b026a3f5 5 DigitalOut led1(LED1, "led1");
zeeshan0123 0:d020b026a3f5 6 DigitalOut led2(LED2, "led2");
zeeshan0123 0:d020b026a3f5 7 DigitalOut led3(LED3, "led3");
zeeshan0123 0:d020b026a3f5 8
ganeshgore 1:87cb8d495954 9 PwmOut zoom(LED4, "PWM");
zeeshan0123 0:d020b026a3f5 10
zeeshan0123 0:d020b026a3f5 11 EthernetNetIf eth;
zeeshan0123 0:d020b026a3f5 12 HTTPServer svr;
zeeshan0123 0:d020b026a3f5 13
zeeshan0123 0:d020b026a3f5 14 int main() {
zeeshan0123 0:d020b026a3f5 15 Base::add_rpc_class<DigitalIn>();
zeeshan0123 0:d020b026a3f5 16 Base::add_rpc_class<DigitalOut>();
zeeshan0123 0:d020b026a3f5 17 Base::add_rpc_class<PwmOut>();
zeeshan0123 0:d020b026a3f5 18
zeeshan0123 0:d020b026a3f5 19 printf("Setting up...\n");
zeeshan0123 0:d020b026a3f5 20 EthernetErr ethErr = eth.setup();
zeeshan0123 0:d020b026a3f5 21 if(ethErr)
zeeshan0123 0:d020b026a3f5 22 {
zeeshan0123 0:d020b026a3f5 23 printf("Error %d in setup.\n", ethErr);
zeeshan0123 0:d020b026a3f5 24 return -1;
zeeshan0123 0:d020b026a3f5 25 }
zeeshan0123 0:d020b026a3f5 26 printf("Setup OK\n");
ganeshgore 1:87cb8d495954 27 //printf("IP Address is %s\n", eth.getIp());
zeeshan0123 0:d020b026a3f5 28
zeeshan0123 0:d020b026a3f5 29 svr.addHandler<RPCHandler>("/rpc");
zeeshan0123 0:d020b026a3f5 30 //Example : Access to mbed.htm : http://a.b.c.d/mbed.htm or http://a.b.c.d/files/mbed.htm
zeeshan0123 0:d020b026a3f5 31
zeeshan0123 0:d020b026a3f5 32 svr.bind(80);
zeeshan0123 0:d020b026a3f5 33
zeeshan0123 0:d020b026a3f5 34 printf("Listening...\n");
zeeshan0123 0:d020b026a3f5 35
zeeshan0123 0:d020b026a3f5 36 Timer tm;
zeeshan0123 0:d020b026a3f5 37 tm.start();
zeeshan0123 0:d020b026a3f5 38 //Listen indefinitely
zeeshan0123 0:d020b026a3f5 39 while(true)
zeeshan0123 0:d020b026a3f5 40 {
zeeshan0123 0:d020b026a3f5 41 Net::poll();
zeeshan0123 0:d020b026a3f5 42 if(tm.read()>.5)
zeeshan0123 0:d020b026a3f5 43 {
zeeshan0123 0:d020b026a3f5 44 led1=!led1; //Show that we are alive
zeeshan0123 0:d020b026a3f5 45 tm.start();
zeeshan0123 0:d020b026a3f5 46 }
zeeshan0123 0:d020b026a3f5 47 }
zeeshan0123 0:d020b026a3f5 48
zeeshan0123 0:d020b026a3f5 49 return 0;
zeeshan0123 0:d020b026a3f5 50
zeeshan0123 0:d020b026a3f5 51 }