TimeHandler test program for the HTTPServer

Dependencies:   EthernetNetIf mbed HTTPServer

Committer:
rinosh2
Date:
Thu Feb 03 17:51:51 2011 +0000
Revision:
0:b37980ea1c2f
Test version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rinosh2 0:b37980ea1c2f 1 #include "mbed.h"
rinosh2 0:b37980ea1c2f 2 #include "EthernetNetIf.h"
rinosh2 0:b37980ea1c2f 3 #include "HTTPServer.h"
rinosh2 0:b37980ea1c2f 4
rinosh2 0:b37980ea1c2f 5 #include "TimeHandler.h"
rinosh2 0:b37980ea1c2f 6
rinosh2 0:b37980ea1c2f 7 DigitalOut led1(LED1, "led1");
rinosh2 0:b37980ea1c2f 8 DigitalOut led2(LED2, "led2");
rinosh2 0:b37980ea1c2f 9 DigitalOut led3(LED3, "led3");
rinosh2 0:b37980ea1c2f 10 DigitalOut led4(LED4, "led4");
rinosh2 0:b37980ea1c2f 11
rinosh2 0:b37980ea1c2f 12 LocalFileSystem fs("webfs");
rinosh2 0:b37980ea1c2f 13
rinosh2 0:b37980ea1c2f 14 EthernetNetIf eth;
rinosh2 0:b37980ea1c2f 15 HTTPServer svr;
rinosh2 0:b37980ea1c2f 16
rinosh2 0:b37980ea1c2f 17 int main() {
rinosh2 0:b37980ea1c2f 18 Base::add_rpc_class<DigitalOut>();
rinosh2 0:b37980ea1c2f 19
rinosh2 0:b37980ea1c2f 20 printf("Setting up...\n");
rinosh2 0:b37980ea1c2f 21 EthernetErr ethErr = eth.setup();
rinosh2 0:b37980ea1c2f 22 if(ethErr)
rinosh2 0:b37980ea1c2f 23 {
rinosh2 0:b37980ea1c2f 24 printf("Error %d in setup.\n", ethErr);
rinosh2 0:b37980ea1c2f 25 return -1;
rinosh2 0:b37980ea1c2f 26 }
rinosh2 0:b37980ea1c2f 27 printf("Setup OK\n");
rinosh2 0:b37980ea1c2f 28
rinosh2 0:b37980ea1c2f 29 FSHandler::mount("/webfs", "/files"); //Mount /webfs path on /files web path
rinosh2 0:b37980ea1c2f 30 FSHandler::mount("/webfs", "/"); //Mount /webfs path on web root path
rinosh2 0:b37980ea1c2f 31
rinosh2 0:b37980ea1c2f 32 svr.addHandler<SimpleHandler>("/hello");
rinosh2 0:b37980ea1c2f 33 svr.addHandler<RPCHandler>("/rpc");
rinosh2 0:b37980ea1c2f 34 svr.addHandler<FSHandler>("/files");
rinosh2 0:b37980ea1c2f 35 svr.addHandler<TimeHandler>("/time");
rinosh2 0:b37980ea1c2f 36 svr.addHandler<FSHandler>("/"); //Default handler
rinosh2 0:b37980ea1c2f 37 //Example : Access to mbed.htm : http://a.b.c.d/mbed.htm or http://a.b.c.d/files/mbed.htm
rinosh2 0:b37980ea1c2f 38
rinosh2 0:b37980ea1c2f 39 svr.bind(80);
rinosh2 0:b37980ea1c2f 40
rinosh2 0:b37980ea1c2f 41 printf("Listening...\n");
rinosh2 0:b37980ea1c2f 42
rinosh2 0:b37980ea1c2f 43 Timer tm;
rinosh2 0:b37980ea1c2f 44 tm.start();
rinosh2 0:b37980ea1c2f 45 //Listen indefinitely
rinosh2 0:b37980ea1c2f 46 while(true)
rinosh2 0:b37980ea1c2f 47 {
rinosh2 0:b37980ea1c2f 48 Net::poll();
rinosh2 0:b37980ea1c2f 49 if(tm.read()>.5)
rinosh2 0:b37980ea1c2f 50 {
rinosh2 0:b37980ea1c2f 51 led1=!led1; //Show that we are alive
rinosh2 0:b37980ea1c2f 52 tm.start();
rinosh2 0:b37980ea1c2f 53 }
rinosh2 0:b37980ea1c2f 54 }
rinosh2 0:b37980ea1c2f 55
rinosh2 0:b37980ea1c2f 56 return 0;
rinosh2 0:b37980ea1c2f 57
rinosh2 0:b37980ea1c2f 58 }