1
|
#include "panneauLeds2.h"
|
2
|
|
3
|
/* Fonction pulse */
|
4
|
void pulse(int pin){
|
5
|
int cpt;
|
6
|
digitalWrite(pin,HIGH);
|
7
|
for(cpt=0;cpt<100;cpt++){}
|
8
|
//delay(1);
|
9
|
digitalWrite(pin,LOW);
|
10
|
/* Pour visualiser le déplacement */
|
11
|
//delay(DELAY);
|
12
|
}
|
13
|
void configPanel()
|
14
|
{
|
15
|
printf("debut configPanel\n");
|
16
|
wiringPiSetup () ;
|
17
|
pinMode(OE, OUTPUT);
|
18
|
pinMode(RESET, OUTPUT);
|
19
|
pinMode(DATA_R1, OUTPUT);
|
20
|
pinMode(DATA_V1, OUTPUT);
|
21
|
pinMode(STROBE1, OUTPUT);
|
22
|
pinMode(HRD1, OUTPUT);
|
23
|
pinMode(DATA_R2, OUTPUT);
|
24
|
pinMode(DATA_V2,OUTPUT);
|
25
|
pinMode(STROBE2, OUTPUT);
|
26
|
pinMode(HRD2, OUTPUT);
|
27
|
printf("fin configPanel\n");
|
28
|
}
|
29
|
void clearPanel()
|
30
|
{
|
31
|
printf("debut clearPanel\n");
|
32
|
int i = 0;
|
33
|
int j = 0;
|
34
|
//Pas de mémoristion
|
35
|
|
36
|
//Activer les sorties
|
37
|
pulse(OE);
|
38
|
//Initialisation compteur de ligne
|
39
|
pulse(RESET);
|
40
|
//Ne pas mémoriser
|
41
|
pulse(STROBE1);
|
42
|
pulse(STROBE2);
|
43
|
//Pour la rangée n°1 et n°2
|
44
|
//Pour chaque ligne
|
45
|
for(j = 0; j < NLIGNES; j++)
|
46
|
{
|
47
|
//Pour chaque colonne, on insère un 0 qui se propage
|
48
|
//par impulsion timer
|
49
|
for(i = 0; i < NCOLONN; i++)
|
50
|
{
|
51
|
//dataR1, dataV1, dataR2, dataV2
|
52
|
digitalWrite(DATA_V1,LEDOFF);
|
53
|
digitalWrite(DATA_R1,LEDOFF);
|
54
|
digitalWrite(DATA_V2,LEDOFF);
|
55
|
digitalWrite(DATA_R2,LEDOFF);
|
56
|
pulse(HRD1);
|
57
|
pulse(HRD2);
|
58
|
}
|
59
|
}
|
60
|
printf("fin clearPanel\n");
|
61
|
}
|
62
|
|