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

Dependents:   test_girouette_library

Revision:
0:493f86ea1ecb
Child:
1:4c8b15e19600
diff -r 000000000000 -r 493f86ea1ecb GirouetteWD1080.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GirouetteWD1080.cpp	Mon May 20 08:14:27 2019 +0000
@@ -0,0 +1,29 @@
+#include "GirouetteWD1080.h"
+#include "mbed.h"
+
+
+GirouetteWD1080::GirouetteWD1080(PinName analog_pin):girouette(analog_pin)
+{
+}
+
+// GirouetteWD1080
+
+bool GirouetteWD1080::read( )
+{   
+        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"};
+        
+        girou = int(girouette.read()*1000.0f);
+        
+        for(i=0; i<9;i++){
+            if( (positions[i]-10)<=girou && (positions[i]+10)>=girou){
+                direction = directions[i];
+                return true;
+            }
+        }
+        
+        direction = directions[8];
+        return false;
+}
+
+