BastatDoreau / Mbed 2 deprecated MoveYourTetris

Dependencies:   mbed APDS_9960 mbed-rtos

Dependents:   MoveYourTetris_OK

src/cMatrice.cpp

Committer:
Willheisen
Date:
2016-04-06
Revision:
8:92d0c4961a16
Parent:
7:4b283e36b147
Child:
9:6f3d8b714a59

File content as of revision 8:92d0c4961a16:

#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() {
  for (int i = 0; i < 8; i++)
      delete[] _matrice[i];
   delete[] _matrice;
}

/*// 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.frequency(100000);
	//matrice.format(8,3);
	_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);
}

//      Description:
//  Nettoyage de la matrice, passage à 0 de la valeur de chaque Led
void cMatrice::clear() {
	for (char i = 0; i < 8; i++) {
		for (char j = 0; j < 8; j++) {
			_matrice[i][j] = LED_NOIR;
		}
	}
}

cForme cMatrice::getForme(unsigned int i){
	return _formes.at(i);
}