Classes et code de la partie pompe du Robot 2021

Dependencies:   mbed ident_crac

bloc_8_pompe.cpp

Committer:
smarecar
Date:
2021-01-19
Revision:
5:88ab89ab12ad
Parent:
4:4bae30d48662

File content as of revision 5:88ab89ab12ad:

#include "bloc_8_pompe.h"

bloc_monopompe bloc1(PC_9, PA_8, PB_0) ; //affectation des pins de chaque bloc individuel (pompe_1 + electrovanne_1 + capteur de pression_1 )
bloc_monopompe bloc2(PA_9, PA_10, PB_1) ;
bloc_monopompe bloc3(PA_11, PA_15, PC_1) ;
bloc_monopompe bloc4(PB_7, PB_6, PC_0) ;
bloc_monopompe bloc5(PC_7, PC_8, PC_5) ;
bloc_monopompe bloc6(PB_10, PB_2, PC_4) ;
bloc_monopompe bloc7(PA_6, PA_5, PA_7) ;
bloc_monopompe bloc8(PA_0, PA_1, PA_4) ;


bloc_8_pompe::bloc_8_pompe (PinName pompe1, PinName electrovanne1, PinName capteur1, // creation du constructeur bloc_8_pompe qui regroupe la classe du bloc_monopompe
                            PinName pompe2, PinName electrovanne2, PinName capteur2,
                            PinName pompe3, PinName electrovanne3, PinName capteur3,
                            PinName pompe4, PinName electrovanne4, PinName capteur4,
                            PinName pompe5, PinName electrovanne5, PinName capteur5,
                            PinName pompe6, PinName electrovanne6, PinName capteur6,
                            PinName pompe7, PinName electrovanne7, PinName capteur7,
                            PinName pompe8, PinName electrovanne8, PinName capteur8)
                            : _pompe1 (pompe1), _electrovanne1 (electrovanne1), _capteur1 (capteur1),
                              _pompe2 (pompe2), _electrovanne2 (electrovanne2), _capteur2 (capteur2),
                              _pompe3 (pompe3), _electrovanne3 (electrovanne3), _capteur3 (capteur3),
                              _pompe4 (pompe4), _electrovanne4 (electrovanne4), _capteur4 (capteur4),
                              _pompe5 (pompe5), _electrovanne5 (electrovanne5), _capteur5 (capteur5),
                              _pompe6 (pompe6), _electrovanne6 (electrovanne6), _capteur6 (capteur6),
                              _pompe7 (pompe7), _electrovanne7 (electrovanne7), _capteur7 (capteur7),
                              _pompe8 (pompe8), _electrovanne8 (electrovanne8), _capteur8 (capteur8)
                            {
                                _pompe1.period_us(20) ; // definition des periodes des PWM des pompes
                                _pompe2.period_us(20) ;
                                _pompe3.period_us(20) ;
                                _pompe4.period_us(20) ;
                                _pompe5.period_us(20) ;
                                _pompe6.period_us(20) ;
                                _pompe7.period_us(20) ;
                                _pompe8.period_us(20) ;
                            } 

void bloc_8_pompe::aspirer (int groupe = 1)  // fonction aspirer general qui gere la gestion des differents blocs a l'aide de switch case
{
    switch (groupe) 
    {
        case 1 :
            bloc1.aspirer() ;
            break;
 
        case 2 :
            bloc2.aspirer() ;
            break;
 
        case 3 :
            bloc3.aspirer() ;
            break;
        
        case 4 :
            bloc4.aspirer() ;
            break;
        
        case 5 :
            bloc5.aspirer() ;
            break;
        
        case 6 :
            bloc6.aspirer() ;
            break;
            
        case 7 :
            bloc7.aspirer() ;
            break;
            
        case 8 :
            bloc8.aspirer() ;
            break;
    }
}

void bloc_8_pompe::relacher (int groupe = 1)  // fonction relacher general qui gere la gestion des differents blocs a l'aide de switch
{
    switch (groupe)
    {
        case 1 : 
            bloc1.relacher() ;
            break;
 
        case 2 :
            bloc2.relacher() ;
            break;
 
        case 3 :
            bloc3.relacher() ;
            break;
        
        case 4 :
            bloc4.relacher() ;
            break;
        
        case 5 :
            bloc5.relacher() ;
            break;
        
        case 6 :
            bloc6.relacher() ;
            break;
            
        case 7 :
            bloc7.relacher() ;
            break;
        
        case 8 :
            bloc8.relacher() ;
            break;
    }
}
char bloc_8_pompe::etat_actuel (int groupe = 1) // fonction qui retourne dans un tableau l'etat de chaque element (pompe et electrovanne active ou non,
    char etat_groupe[8] ;                       // et si le capteur de pression capte qql chose ou non
    
    switch (groupe)
    {
        case 1 : 
            etat_groupe[groupe-1] = bloc1.etat_actuel() ;
            break;
 
        case 2 :
            etat_groupe[groupe-1] = bloc2.etat_actuel() ;
            break;
 
        case 3 :
            etat_groupe[groupe-1] = bloc3.etat_actuel() ;
            break;
        
        case 4 :
            etat_groupe[groupe-1] = bloc4.etat_actuel() ;
            break;
        
        case 5 :
            etat_groupe[groupe-1] = bloc5.etat_actuel() ;
            break;
        
        case 6 :
            etat_groupe[groupe-1] = bloc6.etat_actuel() ;
            break;
            
        case 7 :
            etat_groupe[groupe-1] = bloc7.etat_actuel() ;
            break;
        
        case 8 :
            etat_groupe[groupe-1] = bloc8.etat_actuel() ;
            break;
    }
    return etat_groupe[groupe-1] ;
}

void bloc_8_pompe::stop_pompe (int groupe = 1) // fonction qui arrete toutes les pompes
{
    switch (groupe)
    {
        case 1 : 
            bloc1.stop_pompe() ;
            break;
 
        case 2 :
            bloc2.stop_pompe() ;
            break;
 
        case 3 :
            bloc3.stop_pompe() ;
            break;
        
        case 4 :
            bloc4.stop_pompe() ;
            break;
        
        case 5 :
            bloc5.stop_pompe() ;
            break;
        
        case 6 :
            bloc6.stop_pompe() ;
            break;
            
        case 7 :
            bloc7.stop_pompe() ;
            break;
        
        case 8 :
            bloc8.stop_pompe() ;
            break;
    }
}