First version

Dependencies:   mbed EthernetInterface mbed-rto

Committer:
albireo987
Date:
Wed Apr 25 09:27:31 2018 +0000
Revision:
25:1dc7dfe499fd
Parent:
10:7871aeacea08
prep multi thread driver;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
albireo987 6:36158325f7b0 1 #ifndef LEDDRIVER_H
albireo987 6:36158325f7b0 2 #define LEDDRIVER_H
albireo987 6:36158325f7b0 3
albireo987 6:36158325f7b0 4 #include "copy.h"
albireo987 6:36158325f7b0 5 #include "mbed.h"
albireo987 6:36158325f7b0 6
albireo987 6:36158325f7b0 7 class LEDDriver
albireo987 6:36158325f7b0 8 {
albireo987 6:36158325f7b0 9 private:
albireo987 8:a987e04734dd 10
albireo987 9:c800045806f0 11 int* messageList;
albireo987 9:c800045806f0 12 int* codedMessage0;
albireo987 9:c800045806f0 13 int* codedMessage1;
albireo987 9:c800045806f0 14 int* codedMessage2;
albireo987 9:c800045806f0 15 int* codedMessage3;
albireo987 9:c800045806f0 16 int directions[8];
albireo987 6:36158325f7b0 17 Copy copy;
albireo987 6:36158325f7b0 18 DigitalOut* leds;
albireo987 6:36158325f7b0 19
albireo987 10:7871aeacea08 20 /**
albireo987 10:7871aeacea08 21 *methode om de richting van het kruispunt op te vragen
albireo987 10:7871aeacea08 22 *@params id of the led
albireo987 10:7871aeacea08 23 *@return int of the direction
albireo987 10:7871aeacea08 24 */
albireo987 6:36158325f7b0 25 int getDirection(int id);
albireo987 10:7871aeacea08 26
albireo987 10:7871aeacea08 27 /**
albireo987 10:7871aeacea08 28 *methode om de message van de led te bepalen
albireo987 10:7871aeacea08 29 *@params richting die de led moet zeggen
albireo987 10:7871aeacea08 30 *@params id of the led
albireo987 10:7871aeacea08 31 */
albireo987 10:7871aeacea08 32 void determineMessage(int direction,int led);
albireo987 10:7871aeacea08 33
albireo987 10:7871aeacea08 34 /**
albireo987 10:7871aeacea08 35 *mehode om alle messages van alle leds te bepalen
albireo987 25:1dc7dfe499fd 36 *@params aantal leds
albireo987 10:7871aeacea08 37 */
albireo987 25:1dc7dfe499fd 38 void determineAll(int numberOfLeds);
albireo987 6:36158325f7b0 39
albireo987 10:7871aeacea08 40 public:
albireo987 10:7871aeacea08 41
albireo987 10:7871aeacea08 42 /**
albireo987 10:7871aeacea08 43 *methode om de mbed te doen wachten,nop
albireo987 10:7871aeacea08 44 *@params aantal microseconden te wachten
albireo987 10:7871aeacea08 45 */
albireo987 10:7871aeacea08 46 void ownWait(uint32_t us);
albireo987 25:1dc7dfe499fd 47
albireo987 10:7871aeacea08 48 /**
albireo987 10:7871aeacea08 49 *methode dat alle leds aanstuurt
albireo987 10:7871aeacea08 50 *@params aantal leds aan te sturen
albireo987 10:7871aeacea08 51 */
albireo987 6:36158325f7b0 52 void drive(int numberOfLeds);
albireo987 10:7871aeacea08 53
albireo987 10:7871aeacea08 54 /**
albireo987 10:7871aeacea08 55 *constructor voor een driver object
albireo987 10:7871aeacea08 56 *@params de int waarden die een richting aanduiden
albireo987 10:7871aeacea08 57 *@params het aantal waarden in de sharedDirection array
albireo987 10:7871aeacea08 58 */
albireo987 6:36158325f7b0 59 LEDDriver(/*Mutex* lock,*/ int sharedDirections[], int sizeOfSharedDirections);
albireo987 10:7871aeacea08 60 /**
albireo987 10:7871aeacea08 61 *methode om de driver te gebruiken
albireo987 10:7871aeacea08 62 *@params aantal leds om te drive
albireo987 10:7871aeacea08 63 */
albireo987 6:36158325f7b0 64 void run(int numberOfLeds);
albireo987 6:36158325f7b0 65
albireo987 6:36158325f7b0 66 };
albireo987 6:36158325f7b0 67
albireo987 6:36158325f7b0 68 #endif