summaryrefslogtreecommitdiff
path: root/n/es/src/tourelle.c
diff options
context:
space:
mode:
Diffstat (limited to 'n/es/src/tourelle.c')
-rw-r--r--n/es/src/tourelle.c42
1 files changed, 31 insertions, 11 deletions
diff --git a/n/es/src/tourelle.c b/n/es/src/tourelle.c
index 7d07298..62f037f 100644
--- a/n/es/src/tourelle.c
+++ b/n/es/src/tourelle.c
@@ -28,7 +28,7 @@ const uint8_t delayMax = 125;
const uint8_t delayMin = 175;
const uint8_t pin_sharp = 3 ;
uint8_t delay = 0;
-const uint8_t SEUIL = 180; // 10 cm = 2.25V et 80 cm = 1.75 V
+const uint8_t SEUIL = 280; // 10 cm = 2.25V et 80 cm = 1.75 V
const uint8_t MILIEU = 2;
// const int8_t PROUT = 12; A VERIFIER !!
@@ -62,19 +62,33 @@ uint8_t nombre_ancien = 0;
void tourelle_init (uint16_t prescaler)
{
- delay = 0;
- DDRC = 0x80;
+ delay = 135;
SFIOR |= 0x01; // prescaler autorisé
-
+
+ rs232_putc('T');
crenaux(delay,PORTC,7); // on met le capteur à 0°
delay_ms(20L);
crenaux(delay,PORTC,7);
delay_ms(20L);
+ crenaux(delay,PORTC,7); // on met le capteur à 0°
+ delay_ms(20L);
+ DDRD = 0x80;
+ crenaux(delay,PORTD,7);
+ delay_ms(20L);
+ crenaux(delay,PORTD,7);
+ rs232_putc('C');
+
+ crenaux(delay,PORTC,7); // on met le capteur à 0°
+ delay_ms(20L);
+
crenaux(delay,PORTC,7);
+ delay_ms(20L);
+ rs232_putc('F');
+
switch(prescaler)
{
@@ -110,13 +124,13 @@ void tourelle_init (uint16_t prescaler)
void crenaux(uint8_t temps, uint8_t port, uint8_t pin)
{
uint8_t delay_crenaux = 0;
- port |= _BV (pin); // en admettant que je sois sur le portb et la troisième pin
+ PORTD |= _BV (7); // en admettant que je sois sur le portb et la troisième pin
for(delay_crenaux=0;delay_crenaux<temps;delay_crenaux++)
{
delay_us(10L);
}
- port &= ~_BV (pin); // on remet l'impulsion à 0
-
+ PORTD &= ~_BV (7); // on remet l'impulsion à 0
+ rs232_putc('C');
}
void rs232_callback (uint8_t cmd, uint8_t size,uint8_t* args)
@@ -178,21 +192,23 @@ int16_t mesurer(void)
}
-SIGNAL (SIG_INTERRUPT1)
+SIGNAL (SIG_OVERFLOW1)
{
// on fait la mesure
uint8_t i = 0;
uint8_t temp = 0;
-
- TournerTourelle ();
+ TIMSK &= ~(0x04);
+
+ rs232_putc('3');
for(i=0;i<(MILIEU*2+1);i++)
{
if(temp < tableau_longueur [i]) temp = tableau_longueur[i];
}
tableau_longueur[0] = mesurer();
-
+ proto_send1w ('S',tableau_longueur[0]);
+ /*
if(temp == tableau_longueur[MILIEU+1] && temp > SEUIL )
{
if(nombre_actuel == 0)
@@ -213,6 +229,10 @@ SIGNAL (SIG_INTERRUPT1)
}
}
+ */
+
+ TournerTourelle ();
etat = 1;
+ rs232_putc('4');
}