Projectlab Elektronica-ICT KULeuven
Dependencies: EthernetInterface TMP102 TextLCD mbed-rtos mbed
Diff: main.cpp
- Revision:
- 1:635e76c52151
- Parent:
- 0:ae3af7d18c4a
- Child:
- 2:1243006bb879
diff -r ae3af7d18c4a -r 635e76c52151 main.cpp --- a/main.cpp Fri Mar 14 19:41:14 2014 +0000 +++ b/main.cpp Sun Mar 16 15:08:10 2014 +0000 @@ -1,71 +1,90 @@ #include "mbed.h" -#include "TCPServer.h" -//#include "TCPFrame.h" -#define MYMBED 07 +#include "Server.h" #include "Frame.h" #include "Tune.h" #include "Display.h" +#include "Temperature.h" +#include "Potentiometer.h" -DigitalOut connectedLed(LED1); //connected -DigitalOut RecieveLed(LED2); //recieve -DigitalOut SendLed(LED3); //send -InterruptIn button(p8); -DigitalOut myled(LED1); -bool SendISR; - -void flip() +InterruptIn buttonSend(p8); +bool Send; +void SendISR() { - SendISR=1; + Send=1; } +InterruptIn buttonDestinationIpUp(p7); +int IpDestination=10; +bool BoolIpDestination; +char destIp[14]; +void DestinationIpUp() +{ + BoolIpDestination=1; +} + +//PWM-signaal gegenereerd op basis van de potentiometerwaarde +PwmOut PWMout(p22); int main() { - button.rise(&flip); // attach the address of the flip function to the rising edge - - //pb.mode(PullUp); - char testIDs[]= {0x08,0x09,0x0A}; - char buf[256]; - encodeTest(11,4000,2,5,3,testIDs,buf); - - TCPServer server("192.168.0.107"); - - Display* display=new Display(); - display->setText("dfnklsdnfsdnf\ntttt"); + buttonSend.rise(&SendISR); // attach the address of the flip function to the rising edge + buttonDestinationIpUp.rise(&DestinationIpUp); // attach the address of the flip function to the rising edge - display->setText("Seppd"); - /* while(1) { - if(!pb) { - myled = 1; - server.connect("192.168.0.102"); - server.send(buf); - } - else{ - wait(0.5); - myled = 1; - wait(0.5); - myled = 0; - } - //char buf1[]= {0xAA,0xBB,0x0F,0x0B,0x0F,0xA0,0x02,0x05,0x08,0x09,0x0A,0x4B,0x7C,0xCC,0xDD}; + char buf[256]; + Frame* testFrame = new Frame(); + Server server("192.168.0.107"); + server.printStatus(); + Display* display=new Display(); + display->setText("Seppe's MBED"); + Tune* tune = new Tune(); + Temperature temp; + Potentiometer* potentiometer = new Potentiometer(); - //char buf1[256]; - }*/ while(1) { if(server.read(buf)) { - server.connect("192.168.0.102"); - server.send(buf); + if(!testFrame->Decode(buf)) + printf("Frame CRC Error \n\r"); + if(testFrame->getIdDestinationMbed()==7) { + printf("Voor mij\n\r"); + PWMout=potentiometer->getPotentiometer()/100; + tune->play(testFrame->getTune()); + display->setText("Temp: %d",testFrame->getTemperature()); + testFrame->setIdDestinationMbed(IpDestination); + testFrame->setTemperature(temp.getTemperature()); + testFrame->setPWMDutycycle(potentiometer->getPotentiometer()); + testFrame->setTune(testFrame->getTune()+1); + testFrame->AddID(7); + testFrame->Encode(buf); + } + if(!testFrame->CheckMyID(7)) { + server.connect(destIp); + server.send(buf); + } } + if(BoolIpDestination) { + if(IpDestination!=15) + IpDestination++; + else + IpDestination=1; + sprintf(destIp,"192.168.0.1%02i",IpDestination); + display->setText("192.168.0.1%02i",IpDestination); + BoolIpDestination=0; + wait(0.5); + } + if(Send) { + testFrame->setIdDestinationMbed(IpDestination); + testFrame->setTemperature(temp.getTemperature()); + testFrame->setPWMDutycycle(potentiometer->getPotentiometer()); + testFrame->setTune(1); + testFrame->AddID(7); + //char testIDs[]= {0x08,0x09,0x0A}; + //testFrame->setLengthIDs(3); + //testFrame->setIDs(testIDs); + testFrame->Encode(buf); - if(SendISR) { - server.connect("192.168.0.102"); + server.connect(destIp); server.send(buf); - SendISR=0; + Send=0; + wait(0.5); } } - //TCPFrame frame(buf1); - //frame.decode(); - //frame.print(); - - - - }