summaryrefslogtreecommitdiff
path: root/n/es-2007/src/ascenseur.c
diff options
context:
space:
mode:
authorcohensol2007-05-12 04:45:09 +0000
committercohensol2007-05-12 04:45:09 +0000
commite2b42cb2933028d5a15466f2ee52c6c7480d1960 (patch)
treef1ff27d0cb0439dec01b042e6af6ba6f816474e0 /n/es-2007/src/ascenseur.c
parentc7c965f96621555cfd53802d192f72a12e305f56 (diff)
Implementation des fonctions suivantes :
- detection du color switch par la commande 'c' - mise jour de la vitesse du rouleau par la commande 'R' PP
Diffstat (limited to 'n/es-2007/src/ascenseur.c')
-rw-r--r--n/es-2007/src/ascenseur.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/n/es-2007/src/ascenseur.c b/n/es-2007/src/ascenseur.c
index ef0a6c6..562cd49 100644
--- a/n/es-2007/src/ascenseur.c
+++ b/n/es-2007/src/ascenseur.c
@@ -29,6 +29,7 @@
#include "modules/proto/proto.h"
#define OCR_AS OCR1A
+#define OCR_ROULEAU OCR1B
/* +AutoDec */
/* -AutoDec */
uint16_t ascenseur_temps;
@@ -42,16 +43,20 @@ ascenseur_init (void)
/* mode PWM = 0 */
OCR_AS = 0; /* vitesse moteur barillet nulle */
- utils_delay_us ( 1 ); /* attente_ d'1 µs pour la puiss_barillet */
+ OCR_ROULEAU = 0; /* vitesse moteur rouleau nulle */
+ utils_delay_us ( 1 ); /* attente_ d'1 µs pour la puiss_barillet */
}
/* Fait bouger l'ascenseur. */
+// vitesse : 0-256 <=> 0% - 100%
+// temps : 0-256 en unites de 17,6ms
+// sens_rotat : true ou false
void
ascenseur_bouge (uint8_t vitesse, uint8_t temps, uint8_t sens_rotat)
{
ascenseur_temps= (uint16_t) temps*4;
OCR_AS = 0;
- utils_delay_us ( 1 ); /* attente_ d'1 µs pour la puiss_barillet */
+ utils_delay_us ( 1 ); /* attente_ d'1 µs pour la puiss_barillet */
if (sens_rotat)
{
@@ -62,11 +67,11 @@ ascenseur_bouge (uint8_t vitesse, uint8_t temps, uint8_t sens_rotat)
PORTB &= ~_BV(4);
}
- utils_delay_us ( 1 ); /* attente_ d'1 µs pour la puiss_barillet */
+ utils_delay_us ( 1 ); /* attente_ d'1 µs pour la puiss_barillet */
OCR_AS = (uint16_t) vitesse * 4;
}
-/* Met à jour l'état de l'ascenseur. Il faut appeler cette fonction toute les
+/* Met à jour l'état de l'ascenseur. Il faut appeler cette fonction toute les
* 4.44ms. */
void
ascenseur_update ()
@@ -80,3 +85,13 @@ ascenseur_update ()
}
}
}
+
+/* Fait bouger le rouleau */
+// vitesse : 0-256 <=> 0%-100%
+void
+rouleau_bouge (uint8_t vitesse)
+{
+ OCR_ROULEAU = vitesse;
+}
+
+