summaryrefslogtreecommitdiff
path: root/n/es-2007/src/ascenseur.c
diff options
context:
space:
mode:
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;
+}
+
+