From f08d570d642a0d9c0fe4b317b913ee98ba5dabd9 Mon Sep 17 00:00:00 2001 From: dufourj Date: Sun, 21 May 2006 10:29:13 +0000 Subject: Petites modifs de petits bugs. Etalonage de la vitesse min turbine. --- n/es-2006/src/barillet.c | 52 +++++++++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 20 deletions(-) (limited to 'n') diff --git a/n/es-2006/src/barillet.c b/n/es-2006/src/barillet.c index 474d3be..420c2f9 100644 --- a/n/es-2006/src/barillet.c +++ b/n/es-2006/src/barillet.c @@ -22,7 +22,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * }}} */ + * }}} */ #include "barillet.h" #include "modules/utils/utils.h" @@ -36,8 +36,8 @@ SIG_INTERRUPT7 pour la fourche montee de balle arriere SIG_INTERRUPT6 pour la fourche montee de balle avant - SIG_INTERRUPT5 pour la fourche barillet 1 => celle pres de la carte de puissance - SIG_INTERRUPT4 pour la fourche barillet 2 => celle pres de la carte de es-2006 + SIG_INTERRUPT5 pour la fourche barillet 2 => celle pres de la carte de puissance + SIG_INTERRUPT4 pour la fourche barillet 1 => celle pres de la carte de es-2006 */ @@ -56,7 +56,7 @@ #define VITESSE_TURB_MAX_ 0x0333 /* vitesse de rotation minimale des turbines */ -#define VITESSE_TURB_MIN_ 0xA0 /* XXX a etalonner */ +#define VITESSE_TURB_MIN_ 0x0100 /* delai d'une µs pour la carte puissance */ #define DELAY_ 1 @@ -196,13 +196,14 @@ void init_2_barillet(void) * ******************************/ /* demande de rotation */ -void rotation( uint8_t pos_fin ) +void +rotation (uint8_t pos_fin) { + if (etat_en_cours_ == STAND_BY_) + { pos_a_aller_ = pos_fin; - if ( etat_en_cours_ == STAND_BY_ ) - { - etat_en_cours_ = ROTATION; - } + etat_en_cours_ = ROTATION; + } } /* demande d'extraction */ void extraction ( void ) @@ -327,7 +328,6 @@ void rotation_barillet(void) void pos_bar(void) { uint8_t pos_conc_; -// uint8_t pos_temp_; // proto_send0('Z'); //debug interrupt @@ -359,18 +359,21 @@ void pos_bar(void) default : break; } + pos_prec_ = pos_temp_; - if ( pos_actuel_ == pos_lenteur_ ) - { + if ( etat_en_cours_ == ROTATION_EN_COURS ) + { + if ( pos_actuel_ == pos_lenteur_ ) + { OCR1A = VITESSE_BAR_MIN_; - } - else if ( pos_actuel_ == pos_final_ ) - { + } + else if ( pos_actuel_ == pos_final_ ) + { OCR1A = 0; vitesse_turbine ( 1, VITESSE_TURB_MAX_); /* XXX a changer, il faut attendre que la PC104 nous disent : ok tu peux remettre le ventillo avant a fond, donc ce sera pas a mettre ici*/ etat_en_cours_ = STAND_BY_; - } - pos_prec_ = pos_temp_; + } + } } @@ -381,15 +384,24 @@ void vitesse_turbine(uint8_t turbine, uint16_t vitesse) { if ( turbine == 1 ) { - OCR1B = vitesse; + if (vitesse > VITESSE_TURB_MAX_) + OCR1B = VITESSE_TURB_MAX_; + else + OCR1B = vitesse; } else if ( turbine == 2 ) { - OCR1C = vitesse; + if (vitesse > VITESSE_TURB_MAX_) + OCR1C = VITESSE_TURB_MAX_; + else + OCR1C = vitesse; } else if ( turbine == 3 ) // moteur barillet { - OCR1A = vitesse; + if (vitesse > VITESSE_BAR_MAX_) + OCR1A = VITESSE_BAR_MAX_; + else + OCR1A = vitesse; } } /**** changement de sens ****/ -- cgit v1.2.3