Permet de lire et de stocker dans des variables publiques la direction pointées par la girouette WS1080.

Dependents:   test_girouette_library

Revision:
2:6d392919b388
Parent:
1:4c8b15e19600
Child:
4:dfa695d9c256
diff -r 4c8b15e19600 -r 6d392919b388 GirouetteWD1080.cpp
--- a/GirouetteWD1080.cpp	Mon May 20 08:24:08 2019 +0000
+++ b/GirouetteWD1080.cpp	Mon May 20 08:45:58 2019 +0000
@@ -9,9 +9,9 @@
 // Lit les différentes valeurs donné par la GirouetteWD1080
 //En déduit la direction inidquée par la girouette
 
-// /!\ Les pôles de réfèrence sont sculptés sur le pied de la girouette /!\
+// => /!\ Les pôles de réfèrence sont sculptés sur le pied de la girouette /!\
 
-bool GirouetteWD1080::read( )
+bool GirouetteWD1080::read_string( )
 {   
         uint16_t positions[8] = {770, 200, 53, 30, 13, 105, 350, 550}, girou, i=0;
         string directions[9]={"O","S-O","S","S-E","E","N-E","N","N-O", "ERR"};
@@ -20,12 +20,29 @@
         
         for(i=0; i<9;i++){
             if( (positions[i]-10)<=girou && (positions[i]+10)>=girou){
-                direction = directions[i];
+                direction_string = directions[i];
                 return true;
             }
         }
         
-        direction = directions[8];
+        direction_string = directions[8];
+        return false;
+}
+
+bool GirouetteWD1080::read_int( )
+{   
+        uint16_t positions[8] = {770, 200, 53, 30, 13, 105, 350, 550}, girou, i=0;
+        
+        girou = int(girouette.read()*1000.0f);
+        
+        for(i=0; i<9;i++){
+            if( (positions[i]-10)<=girou && (positions[i]+10)>=girou){
+                direction_int = i;
+                return true;
+            }
+        }
+        
+        direction_int = 255;
         return false;
 }