Bibedibapi
Dependencies: EthernetNetIf HTTPServer RPCInterface mbed
Fork of HTTPServerExample by
HTTPServerExample.cpp@3:69dbef5163fd, 2013-04-15 (annotated)
- Committer:
- geissme
- Date:
- Mon Apr 15 09:13:21 2013 +0000
- Revision:
- 3:69dbef5163fd
- Parent:
- 1:114e347434c1
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:0b1369ae8b74 | 1 | #include "mbed.h" |
donatien | 0:0b1369ae8b74 | 2 | #include "EthernetNetIf.h" |
donatien | 0:0b1369ae8b74 | 3 | #include "HTTPServer.h" |
geissme | 3:69dbef5163fd | 4 | #include "RPCVariable.h" |
geissme | 3:69dbef5163fd | 5 | #include "RPCFunction.h" |
donatien | 0:0b1369ae8b74 | 6 | |
donatien | 0:0b1369ae8b74 | 7 | DigitalOut led1(LED1, "led1"); |
donatien | 0:0b1369ae8b74 | 8 | DigitalOut led2(LED2, "led2"); |
donatien | 0:0b1369ae8b74 | 9 | DigitalOut led3(LED3, "led3"); |
donatien | 0:0b1369ae8b74 | 10 | DigitalOut led4(LED4, "led4"); |
donatien | 0:0b1369ae8b74 | 11 | |
geissme | 3:69dbef5163fd | 12 | void setBufferedVariables(); |
geissme | 3:69dbef5163fd | 13 | |
geissme | 3:69dbef5163fd | 14 | int Flag = 0; |
geissme | 3:69dbef5163fd | 15 | |
geissme | 3:69dbef5163fd | 16 | float SwitchingFrequency = 10; |
geissme | 3:69dbef5163fd | 17 | float FundamentalFrequency = 20; |
geissme | 3:69dbef5163fd | 18 | float ModulationIndex = 30; |
geissme | 3:69dbef5163fd | 19 | float PhaseShift12 = 40; |
geissme | 3:69dbef5163fd | 20 | float PhaseShift23 = 50; |
geissme | 3:69dbef5163fd | 21 | float DeadTime = 60; |
geissme | 3:69dbef5163fd | 22 | |
geissme | 3:69dbef5163fd | 23 | float SwitchingFrequencyBuff = SwitchingFrequency; |
geissme | 3:69dbef5163fd | 24 | float FundamentalFrequencyBuff = FundamentalFrequency; |
geissme | 3:69dbef5163fd | 25 | float ModulationIndexBuff = ModulationIndex; |
geissme | 3:69dbef5163fd | 26 | float PhaseShift12Buff = PhaseShift12; |
geissme | 3:69dbef5163fd | 27 | float PhaseShift23Buff = PhaseShift23; |
geissme | 3:69dbef5163fd | 28 | float DeadTimeBuff = DeadTime; |
geissme | 3:69dbef5163fd | 29 | |
geissme | 3:69dbef5163fd | 30 | RPCVariable<int> RPCFlag(&Flag, "Flag"); |
geissme | 3:69dbef5163fd | 31 | |
geissme | 3:69dbef5163fd | 32 | RPCVariable<float> RPCSwitchingFrequency(&SwitchingFrequency, "SwitchingFrequency"); |
geissme | 3:69dbef5163fd | 33 | RPCVariable<float> RPCFundamentalFrequency(&FundamentalFrequency, "FundamentalFrequency"); |
geissme | 3:69dbef5163fd | 34 | RPCVariable<float> RPCModulationIndex(&ModulationIndex, "ModulationIndex"); |
geissme | 3:69dbef5163fd | 35 | RPCVariable<float> RPCPhaseShift12(&PhaseShift12, "PhaseShift12"); |
geissme | 3:69dbef5163fd | 36 | RPCVariable<float> RPCPhaseShift23(&PhaseShift23, "PhaseShift23"); |
geissme | 3:69dbef5163fd | 37 | RPCVariable<float> RPCDeadTime(&DeadTime, "DeadTime"); |
geissme | 3:69dbef5163fd | 38 | |
geissme | 3:69dbef5163fd | 39 | RPCVariable<float> RPCSwitchingFrequencyBuff(&SwitchingFrequencyBuff, "SwitchingFrequencyBuff"); |
geissme | 3:69dbef5163fd | 40 | RPCVariable<float> RPCFundamentalFrequencyBuff(&FundamentalFrequencyBuff, "FundamentalFrequencyBuff"); |
geissme | 3:69dbef5163fd | 41 | RPCVariable<float> RPCModulationIndexBuff(&ModulationIndexBuff, "ModulationIndexBuff"); |
geissme | 3:69dbef5163fd | 42 | RPCVariable<float> RPCPhaseShift12Buff(&PhaseShift12Buff, "PhaseShift12Buff"); |
geissme | 3:69dbef5163fd | 43 | RPCVariable<float> RPCPhaseShift23Buff(&PhaseShift23Buff, "PhaseShift23Buff"); |
geissme | 3:69dbef5163fd | 44 | RPCVariable<float> RPCDeadTimeBuff(&DeadTimeBuff, "DeadTimeBuff"); |
geissme | 3:69dbef5163fd | 45 | |
geissme | 3:69dbef5163fd | 46 | |
geissme | 3:69dbef5163fd | 47 | |
donatien | 0:0b1369ae8b74 | 48 | LocalFileSystem fs("webfs"); |
donatien | 0:0b1369ae8b74 | 49 | |
geissme | 3:69dbef5163fd | 50 | EthernetNetIf eth( |
geissme | 3:69dbef5163fd | 51 | IpAddr( 192, 168, 0, 128 ), // IP Address |
geissme | 3:69dbef5163fd | 52 | IpAddr( 255, 255, 255, 0 ), // Network Mask |
geissme | 3:69dbef5163fd | 53 | IpAddr( 192, 168, 0, 254 ), // Gateway |
geissme | 3:69dbef5163fd | 54 | IpAddr( 10, 41, 196, 60) // DNS |
geissme | 3:69dbef5163fd | 55 | ); |
donatien | 0:0b1369ae8b74 | 56 | HTTPServer svr; |
donatien | 0:0b1369ae8b74 | 57 | |
donatien | 0:0b1369ae8b74 | 58 | int main() { |
donatien | 0:0b1369ae8b74 | 59 | Base::add_rpc_class<DigitalOut>(); |
donatien | 0:0b1369ae8b74 | 60 | |
donatien | 1:114e347434c1 | 61 | printf("Setting up...\n"); |
donatien | 0:0b1369ae8b74 | 62 | EthernetErr ethErr = eth.setup(); |
donatien | 0:0b1369ae8b74 | 63 | if(ethErr) |
donatien | 0:0b1369ae8b74 | 64 | { |
donatien | 0:0b1369ae8b74 | 65 | printf("Error %d in setup.\n", ethErr); |
donatien | 0:0b1369ae8b74 | 66 | return -1; |
donatien | 0:0b1369ae8b74 | 67 | } |
donatien | 0:0b1369ae8b74 | 68 | printf("Setup OK\n"); |
donatien | 0:0b1369ae8b74 | 69 | |
donatien | 0:0b1369ae8b74 | 70 | FSHandler::mount("/webfs", "/files"); //Mount /webfs path on /files web path |
donatien | 0:0b1369ae8b74 | 71 | FSHandler::mount("/webfs", "/"); //Mount /webfs path on web root path |
donatien | 0:0b1369ae8b74 | 72 | |
donatien | 0:0b1369ae8b74 | 73 | svr.addHandler<SimpleHandler>("/hello"); |
donatien | 0:0b1369ae8b74 | 74 | svr.addHandler<RPCHandler>("/rpc"); |
donatien | 0:0b1369ae8b74 | 75 | svr.addHandler<FSHandler>("/files"); |
donatien | 0:0b1369ae8b74 | 76 | svr.addHandler<FSHandler>("/"); //Default handler |
donatien | 0:0b1369ae8b74 | 77 | //Example : Access to mbed.htm : http://a.b.c.d/mbed.htm or http://a.b.c.d/files/mbed.htm |
donatien | 0:0b1369ae8b74 | 78 | |
donatien | 0:0b1369ae8b74 | 79 | svr.bind(80); |
donatien | 0:0b1369ae8b74 | 80 | |
donatien | 0:0b1369ae8b74 | 81 | printf("Listening...\n"); |
geissme | 3:69dbef5163fd | 82 | |
donatien | 0:0b1369ae8b74 | 83 | |
donatien | 0:0b1369ae8b74 | 84 | Timer tm; |
donatien | 0:0b1369ae8b74 | 85 | tm.start(); |
donatien | 0:0b1369ae8b74 | 86 | //Listen indefinitely |
donatien | 0:0b1369ae8b74 | 87 | while(true) |
donatien | 0:0b1369ae8b74 | 88 | { |
donatien | 0:0b1369ae8b74 | 89 | Net::poll(); |
geissme | 3:69dbef5163fd | 90 | if(Flag==1){ |
geissme | 3:69dbef5163fd | 91 | setBufferedVariables(); |
geissme | 3:69dbef5163fd | 92 | printf("Switching Freq is: %f\n", SwitchingFrequency); |
geissme | 3:69dbef5163fd | 93 | printf("Fundamental Freq is: %f\n", FundamentalFrequency); |
geissme | 3:69dbef5163fd | 94 | printf("Modulation Index is: %f\n", ModulationIndex); |
geissme | 3:69dbef5163fd | 95 | printf("Phase Shift 1-2 is: %f\n", PhaseShift12); |
geissme | 3:69dbef5163fd | 96 | printf("Phase Shift 2-3 is: %f\n", PhaseShift23); |
geissme | 3:69dbef5163fd | 97 | printf("Deadtime is: %f\n", DeadTime); |
geissme | 3:69dbef5163fd | 98 | Flag = 0; |
geissme | 3:69dbef5163fd | 99 | } |
geissme | 3:69dbef5163fd | 100 | /* |
geissme | 3:69dbef5163fd | 101 | if(tm.read()>.1) |
donatien | 0:0b1369ae8b74 | 102 | { |
geissme | 3:69dbef5163fd | 103 | led2=!led2; //Show that we are alive |
geissme | 3:69dbef5163fd | 104 | |
geissme | 3:69dbef5163fd | 105 | |
donatien | 0:0b1369ae8b74 | 106 | tm.start(); |
geissme | 3:69dbef5163fd | 107 | |
geissme | 3:69dbef5163fd | 108 | }*/ |
donatien | 0:0b1369ae8b74 | 109 | } |
donatien | 0:0b1369ae8b74 | 110 | |
donatien | 0:0b1369ae8b74 | 111 | return 0; |
donatien | 0:0b1369ae8b74 | 112 | |
donatien | 0:0b1369ae8b74 | 113 | } |
geissme | 3:69dbef5163fd | 114 | |
geissme | 3:69dbef5163fd | 115 | void setBufferedVariables(){ |
geissme | 3:69dbef5163fd | 116 | SwitchingFrequency = SwitchingFrequencyBuff; |
geissme | 3:69dbef5163fd | 117 | FundamentalFrequency = FundamentalFrequencyBuff; |
geissme | 3:69dbef5163fd | 118 | ModulationIndex = ModulationIndexBuff; |
geissme | 3:69dbef5163fd | 119 | PhaseShift12 = PhaseShift12Buff; |
geissme | 3:69dbef5163fd | 120 | PhaseShift23 = PhaseShift23Buff; |
geissme | 3:69dbef5163fd | 121 | DeadTime = DeadTimeBuff; |
geissme | 3:69dbef5163fd | 122 | printf("Daten schreiben\n"); |
geissme | 3:69dbef5163fd | 123 | } |