First version
Dependencies: mbed EthernetInterface mbed-rto
Receiver.cpp
- Committer:
- KlaasGovaerts
- Date:
- 2018-04-18
- Revision:
- 16:04fb7968592a
- Parent:
- 15:ffd311730575
File content as of revision 16:04fb7968592a:
#include "Receiver.h" Receiver::Receiver(int* LEDinput,Mutex* lockinput){ LED=LEDinput; lock=lockinput; } void Receiver::executeCommand(char* command){ char *ID=strtok(command,","); char *direction=strtok(NULL," "); while((ID!=NULL)&&(direction!=NULL)){ int IDNumber=atoi(ID); int directionNumber=directionToNumber(direction); if((IDNumber>=0)&&(IDNumber<=11)&&(directionNumber>=-1)&&(directionNumber<=3)){ lock->lock(); LED[IDNumber]=directionNumber; lock->unlock(); } ID=strtok(NULL,","); direction=strtok(NULL," "); } } void Receiver::executeAll(){ char command[512]; bool SegmentWaiting=true; while(SegmentWaiting){ SegmentWaiting=listener.receiveSegment(command,sizeof(command)); if(SegmentWaiting==true){ executeCommand(command); } } } int Receiver::directionToNumber(char* direction){ if(strcmp(direction,"links")==0) return 0; else if(strcmp(direction,"rechts")==0) return 1; else if(strcmp(direction,"boven")==0) return 2; else if(strcmp(direction,"onder")==0) return 3; else return -1; }