HMC5882 from BlazeX
Dependents: Sensor_test Algoritmo_Fuzzy
HMC5883.h
- Committer:
- caroe
- Date:
- 2012-05-30
- Revision:
- 0:a5e06bb74915
File content as of revision 0:a5e06bb74915:
#pragma once //I2C Adresse #define HMC5883_ADRESS 0x1E class HMC5883 { private: I2C & I2CBus; Timer & GlobalTime; public: //Calibration char AutoCalibration; //automatische Kalibrierung der Sensordaten short RawMin[3], RawMax[3]; //gespeicherte Daten fuer die Auto-Kalibrierung float Scale[3]; //jede Achse einzeln skalieren float Offset[3]; //zum Schluss noch das Offset dazu //Feldstaerke auf allen drei Achsen short RawMag[3]; //Rohdaten float Mag[3]; //kalibrierte Rohdaten (nicht normalisiert) //Bei zu hoher Feldstaerke wird -4096 gelesen //Wenn dies eine Achse betreffen sollte, ist diese Variable 1 short MeasurementError; //Initialisieren HMC5883(I2C & I2CBus_, Timer & GlobalTime_); void Init(); private: //Rohdaten lesen void ReadRawData(); public: //Update-Methode void Update(); //Kalibrieren //Fertige Daten benutzen. Scale[0] muss 1.0 sein! void Calibrate(const short * pRawMin, const short * pRawMax); //Selbst auswerten, dauert s Sekunden lang void Calibrate(int s); };