Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed APDS_9960 mbed-rtos
Diff: src/cTe.cpp
- Revision:
- 12:7afdbc7465ac
- Parent:
- 8:92d0c4961a16
- Child:
- 29:95469b25e187
diff -r c37922a0a915 -r 7afdbc7465ac src/cTe.cpp --- a/src/cTe.cpp Sun Apr 10 17:46:03 2016 +0000 +++ b/src/cTe.cpp Sun Apr 10 20:51:02 2016 +0000 @@ -2,45 +2,129 @@ #include "cTe.h" -cTe::cTe() { - // variables à 0 - _positionX = 0; - _positionY = 0; - _orientation = 1; - // Positionnement des leds - // |0|1|2| - // |3| - _Leds[0].setPositionX(_positionX); // Led coin haut gauche - _Leds[0].setPositionY(_positionY); // Led coin haut gauche - _Leds[1].setPositionX(_positionX + 1); - _Leds[1].setPositionY(_positionY); - _Leds[2].setPositionX(_positionX + 2); - _Leds[2].setPositionY(_positionY); - _Leds[3].setPositionX(_positionX + 1); - _Leds[3].setPositionY(_positionY + 1); - +cTe::cTe() +{ + // variables à 0 + _positionX = 0; + _positionY = 0; + _orientation = 1; + // Positionnement des leds + // |0|1|2| + // |3| + _Leds[0].setPositionX(_positionX - 1); + _Leds[0].setPositionY(_positionY); + _Leds[1].setPositionX(_positionX); + _Leds[1].setPositionY(_positionY); + _Leds[2].setPositionX(_positionX + 1); + _Leds[2].setPositionY(_positionY); + _Leds[3].setPositionX(_positionX); + _Leds[3].setPositionY(_positionY + 1); + for(unsigned char i = 0; i<4; i++) { + _Leds[i].setOldPositionX(_Leds[i].getPositionX()); + } + for(unsigned char i = 0; i<4; i++) { + _Leds[i].setOldPositionY(_Leds[i].getPositionY()); + } + _typeForme = 3; } -cTe::cTe(unsigned char x, unsigned char y) { - // variables à 0 - _positionX = x; - _positionY = y; - _orientation = 1; - // Positionnement des leds - // |0|1|2| - // |3| - _Leds[0].setPositionX(_positionX); // Led coin haut gauche - _Leds[0].setPositionY(_positionY); // Led coin haut gauche - _Leds[1].setPositionX(_positionX + 1); - _Leds[1].setPositionY(_positionY); - _Leds[2].setPositionX(_positionX + 2); - _Leds[2].setPositionY(_positionY); - _Leds[3].setPositionX(_positionX + 1); - _Leds[3].setPositionY(_positionY + 1); +cTe::cTe(unsigned char x, unsigned char y) +{ + // variables à 0 + _positionX = x; + _positionY = y; + _orientation = 1; + // Positionnement des leds + // |0|1|2| + // |3| + _Leds[0].setPositionX(_positionX - 1); + _Leds[0].setPositionY(_positionY); + _Leds[1].setPositionX(_positionX); + _Leds[1].setPositionY(_positionY); + _Leds[2].setPositionX(_positionX + 1); + _Leds[2].setPositionY(_positionY); + _Leds[3].setPositionX(_positionX); + _Leds[3].setPositionY(_positionY + 1); + for(unsigned char i = 0; i<4; i++) { + _Leds[i].setOldPositionX(_Leds[i].getPositionX()); + } + for(unsigned char i = 0; i<4; i++) { + _Leds[i].setOldPositionY(_Leds[i].getPositionY()); + } + _typeForme = 3; } -void cTe::rotationHoraire() { +void cTe::rotationHoraire() +{ +// Sauvegarde des anciennes positions + for (unsigned char i = 0; i < 4; i++) { + _Leds[i].setOldPositionX(_Leds[i].getPositionX()); + _Leds[i].setOldPositionY(_Leds[i].getPositionY()); + } + switch (_orientation) { + case 1: + // Positionnement des leds + // |0| + // |3|1| + // |2| + _Leds[0].setPositionX(_positionX); + _Leds[0].setPositionY(_positionY - 1); + _Leds[1].setPositionX(_positionX); + _Leds[1].setPositionY(_positionY); + _Leds[2].setPositionX(_positionX); + _Leds[2].setPositionY(_positionY + 1); + _Leds[3].setPositionX(_positionX - 1); + _Leds[3].setPositionY(_positionY); + _orientation = 2; + break; + case 2: + // Positionnement des leds + // |3| + // |2|1|0| + _Leds[0].setPositionX(_positionX + 1); + _Leds[0].setPositionY(_positionY); + _Leds[1].setPositionX(_positionX); + _Leds[1].setPositionY(_positionY); + _Leds[2].setPositionX(_positionX - 1); + _Leds[2].setPositionY(_positionY); + _Leds[3].setPositionX(_positionX); + _Leds[3].setPositionY(_positionY - 1); + _orientation = 3; + break; + case 3: + // Positionnement des leds + // |2| + // |1|3| + // |0| + _Leds[0].setPositionX(_positionX); + _Leds[0].setPositionY(_positionY + 1); + _Leds[1].setPositionX(_positionX); + _Leds[1].setPositionY(_positionY); + _Leds[2].setPositionX(_positionX); + _Leds[2].setPositionY(_positionY - 1); + _Leds[3].setPositionX(_positionX + 1); + _Leds[3].setPositionY(_positionY); + _orientation = 4; + break; + + case 4: + // Positionnement des leds + // |0|1|2| + // |3| + _Leds[0].setPositionX(_positionX - 1); + _Leds[0].setPositionY(_positionY); + _Leds[1].setPositionX(_positionX); + _Leds[1].setPositionY(_positionY); + _Leds[2].setPositionX(_positionX + 1); + _Leds[2].setPositionY(_positionY); + _Leds[3].setPositionX(_positionX); + _Leds[3].setPositionY(_positionY + 1); + _orientation = 1; + break; + default: + break; + } }