Permet de lire et de stocker dans des variables publiques la direction pointées par la girouette WS1080.
Dependents: test_girouette_library
GirouetteWD1080.cpp
- Committer:
- Station_Meteo_Laos
- Date:
- 2019-05-20
- Revision:
- 2:6d392919b388
- Parent:
- 1:4c8b15e19600
- Child:
- 4:dfa695d9c256
File content as of revision 2:6d392919b388:
#include "GirouetteWD1080.h" #include "mbed.h" GirouetteWD1080::GirouetteWD1080(PinName analog_pin):girouette(analog_pin) { } // 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 /!\ 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"}; girou = int(girouette.read()*1000.0f); for(i=0; i<9;i++){ if( (positions[i]-10)<=girou && (positions[i]+10)>=girou){ direction_string = directions[i]; return true; } } 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; }