
A demonstration program for R/C servo I/F board. ( http://mbed.org/users/shintamainjp/notebook/starboard-orange_rcservo-ifbrd_en/ )
Dependencies: mbed TextLCD_SR4 NetServicesSource
main.cpp@0:55733c65ccca, 2010-10-26 (annotated)
- Committer:
- shintamainjp
- Date:
- Tue Oct 26 14:41:57 2010 +0000
- Revision:
- 0:55733c65ccca
First version.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shintamainjp | 0:55733c65ccca | 1 | |
shintamainjp | 0:55733c65ccca | 2 | #include "mbed.h" |
shintamainjp | 0:55733c65ccca | 3 | #include "EthernetNetIf.h" |
shintamainjp | 0:55733c65ccca | 4 | #include "HTTPServer.h" |
shintamainjp | 0:55733c65ccca | 5 | #include "TextLCD_SR4.h" |
shintamainjp | 0:55733c65ccca | 6 | |
shintamainjp | 0:55733c65ccca | 7 | LocalFileSystem fs_local("local"); |
shintamainjp | 0:55733c65ccca | 8 | TextLCD_SR4 lcd(p29, p30, p28, p27); |
shintamainjp | 0:55733c65ccca | 9 | EthernetNetIf eth; |
shintamainjp | 0:55733c65ccca | 10 | HTTPServer svr; |
shintamainjp | 0:55733c65ccca | 11 | |
shintamainjp | 0:55733c65ccca | 12 | int main() { |
shintamainjp | 0:55733c65ccca | 13 | Base::add_rpc_class<AnalogIn>(); |
shintamainjp | 0:55733c65ccca | 14 | Base::add_rpc_class<AnalogOut>(); |
shintamainjp | 0:55733c65ccca | 15 | Base::add_rpc_class<DigitalIn>(); |
shintamainjp | 0:55733c65ccca | 16 | Base::add_rpc_class<DigitalOut>(); |
shintamainjp | 0:55733c65ccca | 17 | Base::add_rpc_class<DigitalInOut>(); |
shintamainjp | 0:55733c65ccca | 18 | Base::add_rpc_class<PwmOut>(); |
shintamainjp | 0:55733c65ccca | 19 | Base::add_rpc_class<Timer>(); |
shintamainjp | 0:55733c65ccca | 20 | Base::add_rpc_class<BusOut>(); |
shintamainjp | 0:55733c65ccca | 21 | Base::add_rpc_class<BusIn>(); |
shintamainjp | 0:55733c65ccca | 22 | Base::add_rpc_class<BusInOut>(); |
shintamainjp | 0:55733c65ccca | 23 | Base::add_rpc_class<Serial>(); |
shintamainjp | 0:55733c65ccca | 24 | |
shintamainjp | 0:55733c65ccca | 25 | lcd.cls(); |
shintamainjp | 0:55733c65ccca | 26 | lcd.printf("Setting up..."); |
shintamainjp | 0:55733c65ccca | 27 | EthernetErr ethErr = eth.setup(); |
shintamainjp | 0:55733c65ccca | 28 | if (ethErr) { |
shintamainjp | 0:55733c65ccca | 29 | lcd.cls(); |
shintamainjp | 0:55733c65ccca | 30 | lcd.printf("Error (%d)", ethErr); |
shintamainjp | 0:55733c65ccca | 31 | error("Error %d in setup.\n", ethErr); |
shintamainjp | 0:55733c65ccca | 32 | return -1; |
shintamainjp | 0:55733c65ccca | 33 | } else { |
shintamainjp | 0:55733c65ccca | 34 | IpAddr addr = eth.getIp(); |
shintamainjp | 0:55733c65ccca | 35 | lcd.cls(); |
shintamainjp | 0:55733c65ccca | 36 | lcd.printf("Network address"); |
shintamainjp | 0:55733c65ccca | 37 | lcd.locate(0, 1); |
shintamainjp | 0:55733c65ccca | 38 | lcd.printf("%3d.%3d.%3d.%3d", addr[0], addr[1], addr[2], addr[3]); |
shintamainjp | 0:55733c65ccca | 39 | } |
shintamainjp | 0:55733c65ccca | 40 | |
shintamainjp | 0:55733c65ccca | 41 | FSHandler::mount("/local", "/"); //Mount /local path on web root path |
shintamainjp | 0:55733c65ccca | 42 | svr.addHandler<FSHandler>("/"); //Default handler |
shintamainjp | 0:55733c65ccca | 43 | svr.addHandler<RPCHandler>("/rpc"); |
shintamainjp | 0:55733c65ccca | 44 | svr.bind(80); |
shintamainjp | 0:55733c65ccca | 45 | |
shintamainjp | 0:55733c65ccca | 46 | while (true) { |
shintamainjp | 0:55733c65ccca | 47 | Net::poll(); |
shintamainjp | 0:55733c65ccca | 48 | wait_ms(1); |
shintamainjp | 0:55733c65ccca | 49 | } |
shintamainjp | 0:55733c65ccca | 50 | |
shintamainjp | 0:55733c65ccca | 51 | return 0; |
shintamainjp | 0:55733c65ccca | 52 | } |