Projectlab Elektronica-ICT KULeuven

Dependencies:   EthernetInterface TMP102 TextLCD mbed-rtos mbed

werking.pdf

Revision:
1:635e76c52151
Parent:
0:ae3af7d18c4a
Child:
2:1243006bb879
--- 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();
-
-
-
-
 }