BastatDoreau / Mbed 2 deprecated MoveYourTetris

Dependencies:   mbed APDS_9960 mbed-rtos

Dependents:   MoveYourTetris_OK

src/cMatrice.cpp

Committer:
Willheisen
Date:
2016-03-31
Revision:
5:d6b0bf27bac6
Parent:
4:b7a46af55574
Child:
7:4b283e36b147

File content as of revision 5:d6b0bf27bac6:

#include "cMatrice.h"


cMatrice::cMatrice()
{
    _matrice = new unsigned char *[8];
    for(unsigned char i = 0; i <= 7; i++)
    {
        _matrice[i] = new unsigned char[8];

    }
    

    for(unsigned char i = 0; i < 8 ; i++)
    {
        for(unsigned char j = 0; j < 8 ; j ++)
        {
            _matrice[i][j] = LED_BLEU_FONCE;
        }
    }
}



cMatrice::~cMatrice()
{
    //dtor
}

/*// GETTER
unsigned char cMatrice::getMatrice()
{

    return _matrice;
}*/

// SETTER
void cMatrice::updateMatrice(cForme &f)
{

}
// METHODES
void cMatrice::envoyerMatrice()
{
    DigitalOut cs(p14);
    SPI matrice(p11,p12,p13);
    _matrice[0][0] = LED_ORANGE;
    
    cs = 0;
    wait(0.5);
    
    for(char i=0; i<8; i++)
    {
        for(char j=0; j<8; j++)
        {
            matrice.write(_matrice[i][j]);
        }
    }
    wait(0.5);
    cs = 1;     
}
//      Paramètres:
//  f: Forme à afficher
//  c: Couleur
void cMatrice::afficherForme(cForme &f, unsigned char c){
// Changement de couleur des Leds
    for(unsigned char i = 0; i < 4 ; i++){
        f.getLed(i).allumer(c);
        _matrice[f.getLed(i).getPositionX()][f.getLed(i).getPositionY()] = c;
    }
}

void cMatrice::ajouterForme(cForme & f, unsigned char c){
    _formes.insert(_formes.begin(), f);
    afficherForme(f, c);
}

void cMatrice::supprimerForme(cForme & f){
    _formes.push_back(f);
}

//      Description:
//  Nettoyage de la matrice, passage à 0 de la valeur de chaque Led
void cMatrice::clear(){
    DigitalOut cs(p14);
    SPI matrice(p11,p12,p13);
    cs = 0;

    for(char i=0; i<8; i++)
        {
            for(char j=0; j<8; j++)
            {
                _matrice[i][j] = LED_NOIR;
                matrice.write(_matrice[i][j]);
            }
        }
    cs = 1;
}