sample program for Wi-Fi TANK.
Dependencies: EthernetNetIf mbed HTTPServer
main.cpp
- Committer:
- halfpitch
- Date:
- 2011-07-28
- Revision:
- 0:0b46e539de3c
File content as of revision 0:0b46e539de3c:
#include "mbed.h" #include "EthernetNetIf.h" #include "HTTPServer.h" #include "RPCFunction.h" DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); DigitalOut motor1(p21); DigitalOut motor2(p22); DigitalOut motor3(p23); DigitalOut motor4(p24); #if 1 /* * Use DHCP */ EthernetNetIf ethif; #else /* * Use "static IP address" (Parameters:IP, Subnet mask, Gateway, DNS) */ EthernetNetIf ethif(IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx)); #endif HTTPServer server; LocalFileSystem local("local"); void MotorSig(char *input,char *output); RPCFunction rpcFunc(&MotorSig, "MotorSig"); int main(void) { Base::add_rpc_class<DigitalOut>(); if (ethif.setup()) { error("Ethernet setup failed."); return 1; } IpAddr ethIp=ethif.getIp(); led1=1; wait(1); server.addHandler<SimpleHandler>("/hello"); server.addHandler<RPCHandler>("/rpc"); FSHandler::mount("/local", "/"); server.addHandler<FSHandler>("/"); server.bind(80); while (1) { Net::poll(); } return 0; } void MotorSig(char *input , char *output) { //text--------------------------- int length = 0; char str[] = "abcd"; //get input data length for (length = 0; input[length] != '\0'; length++); //check data printf("length = %d : input = %s\n", length, input); if (strcmp(input,str) == 0){ printf("input OK!\n"); } //------------------------------- led1=!led1; if(*input == 'a'){ led2 =! led2; } if(*input == 'F'){ led3 =! led3; } switch(*input){ case 'F': motor1 = 0; motor2 = 1; motor3 = 1; motor4 = 0; led1 = 0; led2 = 1; led3 = 1; led4 = 0; break; case 'L': motor1 = 1; motor2 = 0; motor3 = 1; motor4 = 0; led1 = 1; led2 = 0; led3 = 1; led4 = 0; break; case 'R': motor1 = 0; motor2 = 1; motor3 = 0; motor4 = 1; led1 = 0; led2 = 1; led3 = 0; led4 = 1; break; case 'B': motor1 = 1; motor2 = 0; motor3 = 0; motor4 = 1; led1 = 1; led2 = 0; led3 = 0; led4 = 1; break; case 'S': motor1 = 0; motor2 = 0; motor3 = 0; motor4 = 0; led1 = 0; led2 = 0; led3 = 0; led4 = 0; break; } }