FabLab Nîmes / Mbed 2 deprecated FabLab_Station_Meteo

Dependencies:   mbed

Revision:
6:5a2c3d7d4623
Parent:
5:46a732673cc5
--- a/main.cpp	Sat Mar 26 09:26:26 2022 +0000
+++ b/main.cpp	Thu Jun 16 17:05:58 2022 +0000
@@ -3,81 +3,74 @@
 //  Initiation à la Programmation
 //  Auteur : Frédéric Giamarchi
 
-//  Date : 24 mars 2022
-//  TP : Liaison Bluetooth
+//  Date : 04 juin 2022
+//  TP : Station Meteo
 //  
 //  Utilisation de fonctions décrites dans un fichier séparé
 //==============================================================================
 //              Déclarations des ressources
 #include "mbed.h"
 #include "fonctions.h"                  // Appel des fonctions du fichier : fonctions.h
-#include "soft_uart.h"
-
-//==============================================================================
-//              Déclaration des broches
-DigitalOut  DEL(PA_11);              // Ligne PA_11 sur la carte Nucléo
-Serial      pc(USBTX, USBRX);           // Dialogue Série port USB à 9600 Baud
+#include "serial.h"
+#include "anemo.h"
 
 //==============================================================================
 //              Déclaration des variables
-
-char c;                                 // variable de type caractère
+unsigned char c;                                 // variable de type caractère
 float temp;                             // variable de type réel
-int16_t vitesse;                        // variable de type 16 bits signée
-char tab[10];                           // tableau de variable de type caractère
-char buf[10];
-uint8_t ptr, k;
+unsigned int vitesse;                        // variable de type 16 bits signée
+unsigned int etat;
+unsigned int cmd_menu;
 
 //==============================================================================
 //              Début du Programme
 int main()                              // Fonction principale
 {
-    Init_Fonctions();                   // Exécute cette fonction
-    pc.printf("\r\nFabLab Bluetooth\r\n\n");
-    
-    init_uart();                        // Initialise la liaison série soft
-    printStr("FabLab Bluetooth\r\n");
-    ptr = 0;
-    k = 0;
+   Init_Fonctions();                   // Exécute cette fonction
+
 
+    Init_Serial();
+
+    etat = 0;
 //==============================================================================
 //              Boucle Infinie
-    while(1)
+    while(true)
     {
-        if (kbhit())                    // Un caractère est reçu sur le BT
-        {
-            buf[k] = _getchar();        // Mémorise le carcatère dans un tableau
-            
-            if((buf[k] == 0x0A) || (buf[k] == 0x0D))      // Test touche entrée en mode ASCII
-            {
-                buf[k] = 0;             // Transforme le tableau en chaine de caractères  
-                k = 0;                  // Met le pointeur à 0
-                pc.printf("%s\n\r",buf);     // Envoi le texte vers le PC 
-            }
-            else
-            {
-                k++;                // incrémente pour lire le prochain caractère
-            }
-            
-        }
-        if(pc.readable())                  // Si appui caractère au clavier
+        Commande_Up();                  // Lecture d'une commande montante
+
+        switch (etat)
         {
-            tab[ptr] = pc.getc();       // Mémorise le caractère et vide le registre de réception
-            
-            if((tab[ptr] == 0x0A) || (tab[ptr] == 0x0D))      // Test touche entrée en mode ASCII
-            {
-                tab[ptr] = 0;         // Transforme le tableau en chaine de caractères  
-                ptr = 0;
-                printStr(tab);          // Envoi le texte vers le BT
-                printStr("\r\n");  
-            }
-            else
-            {
-                ptr++;
-            }
+            case 0:                         // Initialisation du système
+                Init_Anemo();
+                
+                cmd_menu = 0;
+                etat = 1;
+                break;
+            case 1:                         // Menu
+                Menu();
+                cmd_menu = Get_Config();
+                etat = 2;
+                break;
+            case 2:                         // Gestion des Instrumesnts
+                // Gestion_Temperature(cmd_menu);
+                Gestion_Anemometre(cmd_menu);
+                // Gestion_Girouette(cmd_menu);
+                // Gestion_Pluviometre(cmd_menu);
+                etat = 3;
+                break;
+            case 3:                         // Gestion des données
+                vitesse = Lecture_Anemometre();
+                if(vitesse > 0)
+                {
+                    pc.printf("#A%d\r\n",vitesse);
+                }
+                etat = 1;
+                break;
+            default:
+                etat = 0;
+                break;
         }
-
-    }           // Fin du while(1)
+    }//         Fin du while(true)
 //==============================================================================
-}               // Fin du Programme
-//==============================================================================
\ No newline at end of file
+}//             Fin du Programme
+//==============================================================================