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/cMatrice.cpp@6:0e6c1cccb275, 2016-03-31 (annotated)
- Committer:
- clementdoreau
- Date:
- Thu Mar 31 07:28:11 2016 +0000
- Revision:
- 6:0e6c1cccb275
- Parent:
- 3:493dd1cf30a4
Mise ? jour de la classe matrice;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
clementdoreau | 1:ab5f440f4156 | 1 | #include "cMatrice.h" |
clementdoreau | 1:ab5f440f4156 | 2 | |
clementdoreau | 1:ab5f440f4156 | 3 | |
clementdoreau | 1:ab5f440f4156 | 4 | cMatrice::cMatrice() |
clementdoreau | 1:ab5f440f4156 | 5 | { |
clementdoreau | 1:ab5f440f4156 | 6 | _matrice = new unsigned char *[8]; |
clementdoreau | 1:ab5f440f4156 | 7 | for(unsigned char i = 0; i <= 7; i++) |
clementdoreau | 1:ab5f440f4156 | 8 | { |
clementdoreau | 1:ab5f440f4156 | 9 | _matrice[i] = new unsigned char[8]; |
clementdoreau | 6:0e6c1cccb275 | 10 | for(unsigned char j = 0; j < 7; j++){ |
Willheisen | 3:493dd1cf30a4 | 11 | _matrice[i][j] = COULEUR_LED_BLEU_FONCE; |
clementdoreau | 1:ab5f440f4156 | 12 | } |
clementdoreau | 1:ab5f440f4156 | 13 | } |
clementdoreau | 6:0e6c1cccb275 | 14 | |
clementdoreau | 1:ab5f440f4156 | 15 | } |
clementdoreau | 1:ab5f440f4156 | 16 | |
clementdoreau | 1:ab5f440f4156 | 17 | cMatrice::~cMatrice() |
clementdoreau | 1:ab5f440f4156 | 18 | { |
clementdoreau | 1:ab5f440f4156 | 19 | //dtor |
clementdoreau | 1:ab5f440f4156 | 20 | } |
clementdoreau | 1:ab5f440f4156 | 21 | |
clementdoreau | 6:0e6c1cccb275 | 22 | // GETTER |
clementdoreau | 6:0e6c1cccb275 | 23 | unsigned char **cMatrice::getMatrice() |
clementdoreau | 1:ab5f440f4156 | 24 | { |
clementdoreau | 1:ab5f440f4156 | 25 | |
clementdoreau | 1:ab5f440f4156 | 26 | return _matrice; |
clementdoreau | 6:0e6c1cccb275 | 27 | } |
Willheisen | 3:493dd1cf30a4 | 28 | |
clementdoreau | 1:ab5f440f4156 | 29 | // SETTER |
clementdoreau | 1:ab5f440f4156 | 30 | |
clementdoreau | 6:0e6c1cccb275 | 31 | |
clementdoreau | 1:ab5f440f4156 | 32 | // METHODES |
clementdoreau | 1:ab5f440f4156 | 33 | void cMatrice::envoyerMatrice() |
clementdoreau | 1:ab5f440f4156 | 34 | { |
clementdoreau | 1:ab5f440f4156 | 35 | DigitalOut cs(p14); |
clementdoreau | 1:ab5f440f4156 | 36 | SPI matrice(p11,p12,p13); |
clementdoreau | 6:0e6c1cccb275 | 37 | _matrice[0][0] = COULEUR_LED_ORANGE; |
clementdoreau | 1:ab5f440f4156 | 38 | |
Willheisen | 3:493dd1cf30a4 | 39 | cs = 0; |
clementdoreau | 1:ab5f440f4156 | 40 | wait(0.5); |
Willheisen | 3:493dd1cf30a4 | 41 | |
clementdoreau | 1:ab5f440f4156 | 42 | for(char i=0; i<8; i++) |
clementdoreau | 1:ab5f440f4156 | 43 | { |
clementdoreau | 1:ab5f440f4156 | 44 | for(char j=0; j<8; j++) |
clementdoreau | 1:ab5f440f4156 | 45 | { |
clementdoreau | 1:ab5f440f4156 | 46 | matrice.write(_matrice[i][j]); |
clementdoreau | 1:ab5f440f4156 | 47 | } |
clementdoreau | 1:ab5f440f4156 | 48 | } |
clementdoreau | 1:ab5f440f4156 | 49 | wait(0.5); |
Willheisen | 3:493dd1cf30a4 | 50 | cs = 1; |
clementdoreau | 1:ab5f440f4156 | 51 | } |
clementdoreau | 1:ab5f440f4156 | 52 | |
clementdoreau | 6:0e6c1cccb275 | 53 | // Paramètres: |
clementdoreau | 6:0e6c1cccb275 | 54 | // f: Forme à afficher |
clementdoreau | 6:0e6c1cccb275 | 55 | // c: Couleur |
clementdoreau | 6:0e6c1cccb275 | 56 | void cMatrice::afficherForme(cForme &f, unsigned char c){ |
clementdoreau | 6:0e6c1cccb275 | 57 | // Changement de couleur des Leds |
clementdoreau | 1:ab5f440f4156 | 58 | |
clementdoreau | 6:0e6c1cccb275 | 59 | for(char i = 0; i < 4 ; i++){ |
clementdoreau | 6:0e6c1cccb275 | 60 | f.getLed()[i].allumer(c); |
clementdoreau | 6:0e6c1cccb275 | 61 | _matrice[f.getLed()[i].getPositionY()][f.getLed()[i].getPositionX()] = f.getLed()[i].getCouleur(); |
clementdoreau | 6:0e6c1cccb275 | 62 | } |
clementdoreau | 6:0e6c1cccb275 | 63 | } |
clementdoreau | 6:0e6c1cccb275 | 64 | |
clementdoreau | 6:0e6c1cccb275 | 65 | void cMatrice::ajouterForme(cForme & f){ |
clementdoreau | 6:0e6c1cccb275 | 66 | _formes.insert(_formes.begin(), f); |
clementdoreau | 6:0e6c1cccb275 | 67 | afficherForme(f, COULEUR_LED_VERT); |
clementdoreau | 6:0e6c1cccb275 | 68 | } |
clementdoreau | 6:0e6c1cccb275 | 69 | |
clementdoreau | 6:0e6c1cccb275 | 70 | void cMatrice::supprimerForme(cForme & f){ |
clementdoreau | 6:0e6c1cccb275 | 71 | _formes.push_back(f); |
clementdoreau | 6:0e6c1cccb275 | 72 | } |
clementdoreau | 6:0e6c1cccb275 | 73 | |
clementdoreau | 6:0e6c1cccb275 | 74 | // Description: |
clementdoreau | 6:0e6c1cccb275 | 75 | // Nettoyage de la matrice, passage à 0 de la valeur de chaque Led |
clementdoreau | 6:0e6c1cccb275 | 76 | void cMatrice::clear(){ |
clementdoreau | 6:0e6c1cccb275 | 77 | DigitalOut cs(p14); |
clementdoreau | 6:0e6c1cccb275 | 78 | SPI matrice(p11,p12,p13); |
clementdoreau | 6:0e6c1cccb275 | 79 | cs = 0; |
clementdoreau | 6:0e6c1cccb275 | 80 | |
clementdoreau | 6:0e6c1cccb275 | 81 | for(char i=0; i<8; i++) |
clementdoreau | 6:0e6c1cccb275 | 82 | { |
clementdoreau | 6:0e6c1cccb275 | 83 | for(char j=0; j<8; j++) |
clementdoreau | 6:0e6c1cccb275 | 84 | { |
clementdoreau | 6:0e6c1cccb275 | 85 | _matrice[i][j] = COULEUR_LED_NOIR; |
clementdoreau | 6:0e6c1cccb275 | 86 | matrice.write(_matrice[i][j]); |
clementdoreau | 6:0e6c1cccb275 | 87 | } |
clementdoreau | 6:0e6c1cccb275 | 88 | } |
clementdoreau | 6:0e6c1cccb275 | 89 | cs = 1; |
clementdoreau | 6:0e6c1cccb275 | 90 | } |