ian rau / Mbed 2 deprecated ProjectVLC

Dependencies:   EthernetInterface mbed-rto mbed

Fork of ProjectVLC by Klaas Govaerts

Files at this revision

API Documentation at this revision

Comitter:
KlaasGovaerts
Date:
Wed Mar 28 13:28:14 2018 +0000
Parent:
4:0d013b7e4dea
Child:
6:9903a0906a72
Commit message:
Added TCPlistener class

Changed in this revision

Receiver.cpp Show annotated file Show diff for this revision Revisions of this file
Receiver.h Show annotated file Show diff for this revision Revisions of this file
TCPconnection.h Show diff for this revision Revisions of this file
TCPlistener.cpp Show annotated file Show diff for this revision Revisions of this file
TCPlistener.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/Receiver.cpp	Wed Mar 28 12:25:14 2018 +0000
+++ b/Receiver.cpp	Wed Mar 28 13:28:14 2018 +0000
@@ -6,33 +6,22 @@
     
 }
 
-void Receiver::run(){
-    //Recieve Packet.
+void Receiver::init(){
     char command[512];
-    
-    bool inCommand=true;
-    
-    
+    listener.receivePacket(command,sizeof(command));    
     char *ID=strtok(command,",");
     char *direction=strtok(NULL," ");
     while((ID!=NULL)&&(direction!=NULL)){
-
-
-        if(){
-            
-        } else {
-            
-        }
-        
-        
         int IDNumber=atoi(ID);
         int directionNumber=directionToNumber(direction);
-        if((IDNumber>=0)&&(IDNumber<=11)&&(directionNumber>=0)&&(directionNumber<=3)){
-            LED[IDNumber]=
+        if((IDNumber>=0)&&(IDNumber<=11)&&(directionNumber>=-1)&&(directionNumber<=3)){
+            lock.lock();
+            LED[IDNumber]=directionNumber;
+            lock.unlock();
         }
-        inCommand=false;
+    ID=strtok(NULL,",");
+    direction=strtok(NULL," ");
     }
-    
 }
 
 int Receiver::directionToNumber(char* direction){
@@ -46,12 +35,4 @@
         return 3;
     else 
         return -1;
-}
-
-
-/*
-in
-
-int Receiver::directionToNumber(char *direction){
-    
-}*/
\ No newline at end of file
+}
\ No newline at end of file
--- a/Receiver.h	Wed Mar 28 12:25:14 2018 +0000
+++ b/Receiver.h	Wed Mar 28 13:28:14 2018 +0000
@@ -7,8 +7,9 @@
             int* LED;
             Mutex* lock;
             int directionToNumber(char* direction);
+            TCPlistener listener;
         public:
             Receiver(int* LED,Mutex* lock);
-            void run();
+            void init();
     };
 #endif
\ No newline at end of file
--- a/TCPconnection.h	Wed Mar 28 12:25:14 2018 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-    //Work in progress
-    /*
-    EthernetInterface eth;
-    UDPSocket server;
-    Endpoint client;
-    */
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TCPlistener.cpp	Wed Mar 28 13:28:14 2018 +0000
@@ -0,0 +1,15 @@
+#include "TCPlistener.h"
+
+TCPlistener::TCPlistener(){
+    char ip[]="192.168.0.253";
+    char mask[]="255.255.255.0";
+    char gateway[]="192.168.0.254";
+    eth.init(ip,mask,gateway);
+    eth.connect();
+    server.bind(4000);
+}
+void TCPlistener::receivePacket(char *contents,int size){
+    int n = server.recv(contents, size);
+    contents[n] = '\0';
+    printf("Segment ontvangen van %s:%i met inhoud \"%s\"\r\n", client.get_address(),client.get_port(),contents);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TCPlistener.h	Wed Mar 28 13:28:14 2018 +0000
@@ -0,0 +1,15 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+
+#ifndef TCPLISTENER_H
+#define TCPLISTENER_H
+    class TCPlistener{
+        private:
+            EthernetInterface eth;
+            TCPSocket server;
+            Endpoint client;
+        public:
+            void receivePacket(char *contents,int size);
+            TCPlistener();
+    };
+#endif
\ No newline at end of file
--- a/main.cpp	Wed Mar 28 12:25:14 2018 +0000
+++ b/main.cpp	Wed Mar 28 13:28:14 2018 +0000
@@ -6,13 +6,15 @@
         Mutex* lock=new Mutex();
         int LED[12];
         for(int i=0;i<12;i++){
-            LED[i]=0;
+            LED[i]=-1;
         }
         
+        
+        /*
         Thread receiverThread;
         Receiver receiver(LED,lock);
         receiverThread.start(receiver.run);
-        
+        */
          
          
          //std::thread receiverThread(&Receiver::run, &receiver);