First version

Dependencies:   mbed EthernetInterface mbed-rto

Committer:
KlaasGovaerts
Date:
Tue May 15 21:34:09 2018 +0000
Revision:
74:8c0068ed7c1e
Parent:
59:237e32fd3555
Probeersel (werkt niet).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KlaasGovaerts 18:5ee34e60a31d 1 #include "Interpreter.h"
KlaasGovaerts 18:5ee34e60a31d 2
KlaasGovaerts 24:bf62c46acb3e 3
KlaasGovaerts 24:bf62c46acb3e 4
KlaasGovaerts 74:8c0068ed7c1e 5 Interpreter::Interpreter(Queue<QueueMessage,1>* queue){
KlaasGovaerts 24:bf62c46acb3e 6 Interpreter::queue=queue;
KlaasGovaerts 18:5ee34e60a31d 7 }
KlaasGovaerts 18:5ee34e60a31d 8
KlaasGovaerts 18:5ee34e60a31d 9 void Interpreter::executeCommand(char* command){
KlaasGovaerts 24:bf62c46acb3e 10 for(int i=0;i<8;i++){
KlaasGovaerts 52:45207965e160 11 LED[i]=4;
KlaasGovaerts 52:45207965e160 12 } //Set all default on 4
KlaasGovaerts 24:bf62c46acb3e 13
KlaasGovaerts 20:fe6a58e84929 14 char *ID=strtok(command,"-");
KlaasGovaerts 18:5ee34e60a31d 15 char *direction=strtok(NULL," ");
KlaasGovaerts 18:5ee34e60a31d 16 while((ID!=NULL)&&(direction!=NULL)){
KlaasGovaerts 18:5ee34e60a31d 17 int IDNumber=atoi(ID);
KlaasGovaerts 18:5ee34e60a31d 18 int directionNumber=directionToNumber(direction);
KlaasGovaerts 52:45207965e160 19 if((IDNumber>=0)&&(IDNumber<=11)&&(directionNumber>=0)&&(directionNumber<=4)){
KlaasGovaerts 18:5ee34e60a31d 20 LED[IDNumber]=directionNumber;
KlaasGovaerts 18:5ee34e60a31d 21 }
KlaasGovaerts 20:fe6a58e84929 22 ID=strtok(NULL,"-");
KlaasGovaerts 18:5ee34e60a31d 23 direction=strtok(NULL," ");
KlaasGovaerts 18:5ee34e60a31d 24 }
KlaasGovaerts 24:bf62c46acb3e 25
KlaasGovaerts 74:8c0068ed7c1e 26 QueueMessage *message=new QueueMessage();
KlaasGovaerts 74:8c0068ed7c1e 27 memcpy(message->getArray(),LED,sizeof(LED));
KlaasGovaerts 74:8c0068ed7c1e 28 printf("Reached this code\r\n");
KlaasGovaerts 74:8c0068ed7c1e 29 queue->put(message);
KlaasGovaerts 24:bf62c46acb3e 30
KlaasGovaerts 24:bf62c46acb3e 31 for(int i=0;i<8;i++){
albireo987 38:47c075a354b5 32 printf("LED %i, richting: %i\r\n",i,LED[i]);
KlaasGovaerts 24:bf62c46acb3e 33 }
KlaasGovaerts 18:5ee34e60a31d 34 }
KlaasGovaerts 18:5ee34e60a31d 35
KlaasGovaerts 18:5ee34e60a31d 36 int Interpreter::directionToNumber(char* direction){
KlaasGovaerts 20:fe6a58e84929 37 if(strcmp(direction,"left")==0)
KlaasGovaerts 18:5ee34e60a31d 38 return 0;
KlaasGovaerts 20:fe6a58e84929 39 else if(strcmp(direction,"right")==0)
KlaasGovaerts 18:5ee34e60a31d 40 return 1;
KlaasGovaerts 20:fe6a58e84929 41 else if(strcmp(direction,"up")==0)
KlaasGovaerts 18:5ee34e60a31d 42 return 2;
KlaasGovaerts 20:fe6a58e84929 43 else if(strcmp(direction,"down")==0)
KlaasGovaerts 18:5ee34e60a31d 44 return 3;
KlaasGovaerts 18:5ee34e60a31d 45 else
KlaasGovaerts 52:45207965e160 46 return 4;
KlaasGovaerts 18:5ee34e60a31d 47 }