Implemented first Hangar-Service

Dependencies:   CalibrateMagneto QuaternionMath

Fork of SML2 by TobyRich GmbH

Committer:
pvaibhav
Date:
Fri Mar 13 09:12:56 2015 +0000
Revision:
12:1632d7391453
Parent:
11:d21275e60ebb
Child:
14:d9fbb3ccd482
Code reformatting

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pvaibhav 4:e759b8c756da 1 #ifndef _H_MAGNETOMETER_H
pvaibhav 4:e759b8c756da 2 #define _H_MAGNETOMETER_H
pvaibhav 4:e759b8c756da 3
pvaibhav 4:e759b8c756da 4 #include "I2CPeripheral.h"
pvaibhav 11:d21275e60ebb 5 #include "Sensor.h"
pvaibhav 4:e759b8c756da 6
pvaibhav 12:1632d7391453 7 class Magnetometer : public I2CPeripheral, public Sensor
pvaibhav 12:1632d7391453 8 {
pvaibhav 4:e759b8c756da 9 public:
pvaibhav 4:e759b8c756da 10 Magnetometer(I2C &i2c);
pvaibhav 12:1632d7391453 11
pvaibhav 11:d21275e60ebb 12 virtual bool powerOn();
pvaibhav 11:d21275e60ebb 13 virtual void powerOff();
pvaibhav 11:d21275e60ebb 14 virtual void start();
pvaibhav 11:d21275e60ebb 15 virtual void stop();
pvaibhav 11:d21275e60ebb 16
pvaibhav 11:d21275e60ebb 17 virtual Vector3 read();
pvaibhav 12:1632d7391453 18
pvaibhav 12:1632d7391453 19 bool performSelfTest();
pvaibhav 12:1632d7391453 20
pvaibhav 11:d21275e60ebb 21 private:
pvaibhav 11:d21275e60ebb 22 // Calibration data
pvaibhav 11:d21275e60ebb 23 int8_t dig_x1;
pvaibhav 11:d21275e60ebb 24 int8_t dig_y1;
pvaibhav 11:d21275e60ebb 25 int8_t dig_x2;
pvaibhav 11:d21275e60ebb 26 int8_t dig_y2;
pvaibhav 11:d21275e60ebb 27 uint16_t dig_z1;
pvaibhav 11:d21275e60ebb 28 int16_t dig_z2;
pvaibhav 11:d21275e60ebb 29 int16_t dig_z3;
pvaibhav 11:d21275e60ebb 30 int16_t dig_z4;
pvaibhav 11:d21275e60ebb 31 uint8_t dig_xy1;
pvaibhav 11:d21275e60ebb 32 int8_t dig_xy2;
pvaibhav 11:d21275e60ebb 33 uint16_t dig_xyz1;
pvaibhav 12:1632d7391453 34
pvaibhav 11:d21275e60ebb 35 // Hard iron cancellation data
pvaibhav 11:d21275e60ebb 36 Vector3 sum;
pvaibhav 11:d21275e60ebb 37 Vector3 hardIron;
pvaibhav 11:d21275e60ebb 38 size_t numSamples;
pvaibhav 12:1632d7391453 39
pvaibhav 11:d21275e60ebb 40 void readCalibrationData();
pvaibhav 4:e759b8c756da 41 };
pvaibhav 4:e759b8c756da 42
pvaibhav 4:e759b8c756da 43 #endif//_H_MAGNETOMETER_H