IniSat Modèle 1 Version 2 TP 1 : Mise en oeuvre de la carte Nucléo 32 Exo 1 : Hello Word Exo 2 : Lecture vitesse de l'horloge Exo 3 : Clignotement asynchrone de 2 Dels

main.cpp

Committer:
Giamarchi
Date:
2021-06-23
Revision:
3:b869fd151c26
Parent:
0:f812f3896eb5

File content as of revision 3:b869fd151c26:

/*******************************************************************************
    Université de Montpellier
    NemoSpace   IUT de Nîmes
    IniSat Modèle 1 Version 2
*******************************************************************************/
//      TP n°3 : Trame pour débuter

//  Exo 1 : Lecture tension batterie
//  Exo 2 : Lecture courants faces solaires
//  Exo 3 : Modes de fonctionnement

#include "mbed.h"
#include "platform/mbed_thread.h"
#include "system.h"
#include "user.h"

uint8_t etat, etat_mem;
float mes_accu;

int main() {
    
    Init_System();
    etat = 0;

    while (1) {
        thread_sleep_for(1);        // Boucle toutes les 1 milliseconde environ
        
//      Gestion des modes avec une machine d'états      
        switch (etat)
        {
/******************************************************************************/
// Mode Init :      Mise sous tension
//                  Initialisation du µC

            case 0:

                break;
/******************************************************************************/            
//  Mode Gestion :  Gestion des actions
//                  Contrôle du système

            case 1:
  
                break;
/******************************************************************************/            
//  Mode Mission :  Acquisition de données (Mesure Courant faces solaires)
//                  Stockage

            case 2:

                break;
/******************************************************************************/             
//  Mode Radio :    Transmission de données

            case 3:

                break;  
/******************************************************************************/             
//  Mode Survie :   Attente recharge de l'accu
                    
            case 4:

                break;
/******************************************************************************/
//  Mode Zombie :   Coupure des consommateurs
//                  Passage en mode faible consommation
//                  Diminution de la fréquence du CPU
//                  passage en mode Sleep

            case 5:

                break;
/******************************************************************************/
            default:
                etat = 0;
                break;
/******************************************************************************/          
        }   // end switch
        if(etat != etat_mem)            //  Debug des états
        {
            pc.printf("Etat_%d\r\n",etat);
            etat_mem = etat;
        }
    }   // end while
}   // end main
/******************************************************************************/