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/cEl.cpp
- Committer:
 - Willheisen
 - Date:
 - 2016-04-06
 - Revision:
 - 9:6f3d8b714a59
 - Parent:
 - 8:92d0c4961a16
 - Child:
 - 10:9ef3f520ff6c
 
File content as of revision 9:6f3d8b714a59:
// Définition de la classe El
#include "cEl.h"
cEl::cEl()
{
    // variables à 0
    _positionX = 0;
    _positionY = 0;
    _orientation = 1;
    // Positionnement des leds
    //  |1|2|3|
    //  |0|
    _Leds[0].setPositionX(_positionX - 1);
    _Leds[0].setPositionY(_positionY + 1);
    _Leds[1].setPositionX(_positionX - 1);
    _Leds[1].setPositionY(_positionY);
    _Leds[2].setPositionX(_positionX);
    _Leds[2].setPositionY(_positionY);
    _Leds[3].setPositionX(_positionX + 1);
    _Leds[3].setPositionY(_positionY);
}
cEl::cEl(unsigned char x, unsigned char y)
{
    // variables à 0
    _positionX = x;
    _positionY = y;
    _orientation = 1;
    // Positionnement des leds
    //  |1|2|3|
    //  |0|
    _Leds[0].setPositionX(_positionX - 1);
    _Leds[0].setPositionY(_positionY + 1);
    _Leds[1].setPositionX(_positionX - 1);
    _Leds[1].setPositionY(_positionY);
    _Leds[2].setPositionX(_positionX);
    _Leds[2].setPositionY(_positionY);
    _Leds[3].setPositionX(_positionX + 1);
    _Leds[3].setPositionY(_positionY);
}
void cEl::rotationHoraire()
{
    switch (_orientation) {
        case 1:
            // Positionnement des leds
            //  |0|1|
            //    |2|
            //	  |3|
            _Leds[0].setPositionX(_positionX - 1);
            _Leds[0].setPositionY(_positionY - 1);
            _Leds[1].setPositionX(_positionX);
            _Leds[1].setPositionY(_positionY - 1);
            _Leds[2].setPositionX(_positionX);
            _Leds[2].setPositionY(_positionY);
            _Leds[3].setPositionX(_positionX);
            _Leds[3].setPositionY(_positionY + 1);
            _orientation = 2;
            break;
        case 2:
            // Positionnement des leds
            //      |0|
            //  |3|2|1|
            _Leds[0].setPositionX(_positionX + 1);
            _Leds[0].setPositionY(_positionY - 1);
            _Leds[1].setPositionX(_positionX + 1);
            _Leds[1].setPositionY(_positionY);
            _Leds[2].setPositionX(_positionX);
            _Leds[2].setPositionY(_positionY);
            _Leds[3].setPositionX(_positionX - 1);
            _Leds[3].setPositionY(_positionY);
            _orientation = 3;
            break;
        case 3:
            // Positionnement des leds
            //  |3|
            //  |2|
            //  |1|0|
            _Leds[0].setPositionX(_positionX + 1);
            _Leds[0].setPositionY(_positionY + 1);
            _Leds[1].setPositionX(_positionX);
            _Leds[1].setPositionY(_positionY + 1);
            _Leds[2].setPositionX(_positionX);
            _Leds[2].setPositionY(_positionY);
            _Leds[3].setPositionX(_positionX);
            _Leds[3].setPositionY(_positionY - 1);
            _orientation = 4;
            break;
        case 4:
            // Positionnement des leds
            //  |1|2|3|
            //  |0|
            _Leds[0].setPositionX(_positionX - 1);
            _Leds[0].setPositionY(_positionY + 1);
            _Leds[1].setPositionX(_positionX - 1);
            _Leds[1].setPositionY(_positionY);
            _Leds[2].setPositionX(_positionX);
            _Leds[2].setPositionY(_positionY);
            _Leds[3].setPositionX(_positionX + 1);
            _Leds[3].setPositionY(_positionY);
            _orientation = 1;
            break;
        default:
            break;
    }
}