Bibedibapi

Dependencies:   EthernetNetIf HTTPServer RPCInterface mbed

Fork of HTTPServerExample by Donatien Garnier

Committer:
geissme
Date:
Mon Apr 15 09:13:21 2013 +0000
Revision:
3:69dbef5163fd
Parent:
1:114e347434c1
test

Who changed what in which revision?

UserRevisionLine numberNew 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 }