TimeHandler test program for the HTTPServer
Dependencies: EthernetNetIf mbed HTTPServer
TimeHandlerTest.cpp@0:b37980ea1c2f, 2011-02-03 (annotated)
- Committer:
- rinosh2
- Date:
- Thu Feb 03 17:51:51 2011 +0000
- Revision:
- 0:b37980ea1c2f
Test version
Who changed what in which revision?
User | Revision | Line number | New 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 | } |