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
src/cTe.cpp
- Committer:
- clementdoreau
- Date:
- 2016-04-21
- Revision:
- 31:7313366789f2
- Parent:
- 30:c647da947bd9
- Child:
- 33:a6f0be429ce0
File content as of revision 31:7313366789f2:
// Définition de la classe Té
#include "cTe.h"
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(int i = 0; i<4; i++) {
_Leds[i].setOldPositionX(_Leds[i].getPositionX());
}
for(int i = 0; i<4; i++) {
_Leds[i].setOldPositionY(_Leds[i].getPositionY());
}
_typeForme = 3;
}
cTe::cTe(int y, int x)
{
// 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(int i = 0; i<4; i++) {
_Leds[i].setOldPositionX(_Leds[i].getPositionX());
}
for(int i = 0; i<4; i++) {
_Leds[i].setOldPositionY(_Leds[i].getPositionY());
}
_typeForme = 3;
}
void cTe::rotationHoraire()
{
// Sauvegarde des anciennes positions
for (int 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;
}
}