First version

Dependencies:   mbed EthernetInterface mbed-rto

LEDDriver.h

Committer:
albireo987
Date:
2018-04-25
Revision:
10:7871aeacea08
Parent:
9:c800045806f0
Child:
25:1dc7dfe499fd
Child:
26:4c673da1a3ae

File content as of revision 10:7871aeacea08:

#ifndef LEDDRIVER_H 
#define LEDDRIVER_H 

#include "copy.h"
#include "mbed.h"

class LEDDriver
{
    private:
    
    int* messageList;
    int* codedMessage0;
    int* codedMessage1;
    int* codedMessage2;
    int* codedMessage3;
    int directions[8];
    //Mutex* lock;
    Copy copy;
    DigitalOut* leds;
    
    /**
     *methode om de richting van het kruispunt op te vragen
     *@params id of the led
     *@return int of the direction
     */    
    int getDirection(int id);
    
    /**
     *methode om de message van de led te bepalen
     *@params richting die de led moet zeggen
     *@params id of the led
     */    
    void determineMessage(int direction,int led);
    
    /**
     *mehode om alle messages van alle leds te bepalen
     *@params aantal led
     */    
    void encodeAll(int numberOfLeds);
    
     public:
     
    /**
     *methode om de mbed te doen wachten,nop
     *@params aantal microseconden te wachten
     */    
    void ownWait(uint32_t us);
    
   
    
    /**
     *methode dat alle leds aanstuurt
     *@params aantal leds aan te sturen
     */    
    void drive(int numberOfLeds);
    
    /**
      *constructor voor een driver object
      *@params de int waarden die een richting aanduiden
      *@params het aantal waarden in de sharedDirection array
      */  
    LEDDriver(/*Mutex* lock,*/ int sharedDirections[], int sizeOfSharedDirections);
    /**
      *methode om de driver te gebruiken
      *@params aantal leds om te drive
      */
    void run(int numberOfLeds);

};

#endif