summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordalmais2005-05-01 11:16:45 +0000
committerdalmais2005-05-01 11:16:45 +0000
commitc255c1342424563ca78eae4eb6e5cd794f85e640 (patch)
tree70f47e9c65b262530d0489539e387a09dbbdd6dc
parent1e27f86555f2ac37f66886b539ad03be30797d68 (diff)
rajout de la moyenne de 4 valeurs de pont.
A POILLLLL !!!!
-rw-r--r--n/es/src/main.c55
-rw-r--r--n/es/src/tourelle.c2
2 files changed, 45 insertions, 12 deletions
diff --git a/n/es/src/main.c b/n/es/src/main.c
index fbdab49..7eedb9f 100644
--- a/n/es/src/main.c
+++ b/n/es/src/main.c
@@ -34,6 +34,7 @@
/* -AutoDec */
void proto_callback (uint8_t cmd, uint8_t size,uint8_t* args);
+void pont_init (void);
uint8_t etat = 1; // etat de fonctionnement du module
uint8_t sens = 1; // sens du scan
@@ -43,8 +44,9 @@ volatile uint8_t clk = 0; // clock de la machine d'état.
char buffer_serie ; // buffer RS232
const uint16_t prescaler = 8;// prescaler
uint16_t tableau_longueur[25];
+uint16_t stockage_valeur_pont[4][3];
uint16_t SEUIL = 0x0100;
-uint8_t mesure;
+uint8_t action_tourelle;
uint8_t ascenseur;
uint8_t ventouse;
uint8_t pont;
@@ -59,6 +61,17 @@ uint8_t tableau_socle[16];
uint8_t temp = 0;
uint8_t etat_socle = 0;
+void pont_init()
+{
+ int compteur = 0;
+
+ for(temp=0;temp<4;temp++)
+ for(compteur=0;compteur<3;compteur++)
+ stockage_valeur_pont[temp][compteur] = 0;
+
+}
+
+
int main (void)
{
uint8_t temp_sens = 1;
@@ -72,14 +85,16 @@ int main (void)
DDRC = 0x00;
rs232_init ();
- proto_send0('z');
+ proto_send0('z');
+ pont_init();
twi_init (0x02);
tourelle_init (prescaler);
ascenseur_init ();
+ pont_init ();
// adc_init ();
ascenseur = 1;
pont = 0;
- mesure = 0;
+ action_tourelle = 0;
etat = 1;
clk = 1;
@@ -104,7 +119,7 @@ int main (void)
}
TIMSK |= 0x04;
- if(mesure == 1) // activation des fonctions lié au capteur de proximité
+ if(action_tourelle == 1) // activation des fonctions lié au capteur de proximité
{
tableau_longueur[2]=tableau_longueur[1];
tableau_longueur[1]=tableau_longueur[0];
@@ -121,13 +136,31 @@ int main (void)
if(pont == 1) // activation des fonctions associées au pont
{
+ for(temp = 0; temp < 3; temp++) //on décale les valeurs
+ {
+ for(compteur = 0; compteur < 3; compteur++) stockage_valeur_pont[temp+1][compteur] = stockage_valeur_pont[temp][compteur];
+
+ }
+
for(compteur=0;compteur<3;compteur++)
{
adc_start (compteur); // pin selectionnee
while(!adc_checkf()){}
- tableau_sharp[compteur]=adc_read();
+ stockage_valeur_pont[0][compteur]=adc_read();
}
+
+ // traitement
+
+ for(compteur = 0; compteur < 3; compteur++) //on décale les valeurs
+ {
+ tableau_sharp[compteur] = 0;
+ for(temp = 0; temp < 4; temp++) tableau_sharp[compteur] += stockage_valeur_pont[temp][compteur];
+ tableau_sharp[compteur] /= 4;
+ }
+
+
+
}
if(ascenseur == 1) // activation des fonctions liées à l'ascenseur
@@ -187,14 +220,14 @@ int main (void)
case 3 : proto_send0('I'); break;
}
- if (socle == 1 && pont == 1)
- twi_update ((uint8_t *) tableau_sharp,7);
- if (socle == 1 && pont == 0)
- twi_update ((uint8_t *) &(tableau_sharp[6]),1);
- if (socle == 0 && pont == 1)
- twi_update ((uint8_t *) tableau_sharp,6);
+ if (socle == 1 && pont == 1) twi_update ((uint8_t *) tableau_sharp,7);
+ if (socle == 1 && pont == 0) twi_update ((uint8_t *) &(tableau_sharp[6]),1);
+ if (socle == 0 && pont == 1) twi_update ((uint8_t *) tableau_sharp,6);
}
+
+
+
}
return 0;
}
diff --git a/n/es/src/tourelle.c b/n/es/src/tourelle.c
index 80b9610..6ae8f10 100644
--- a/n/es/src/tourelle.c
+++ b/n/es/src/tourelle.c
@@ -48,7 +48,7 @@ extern uint8_t continu;
extern uint8_t etat;
extern uint8_t envoie;
extern uint8_t sens;
-extern uint8_t mesure;
+extern uint8_t action_tourelle;
extern uint8_t pont;
extern uint8_t clk;
extern uint8_t ascenseur;