From e2b42cb2933028d5a15466f2ee52c6c7480d1960 Mon Sep 17 00:00:00 2001 From: cohensol Date: Sat, 12 May 2007 04:45:09 +0000 Subject: Implementation des fonctions suivantes : - detection du color switch par la commande 'c' - mise jour de la vitesse du rouleau par la commande 'R' PP --- n/es-2007/src/ascenseur.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'n/es-2007/src/ascenseur.c') 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; +} + + -- cgit v1.2.3