MPU9250

Dependents:   FreeIMU

Fork of MPU6050 by Yifei Teng

Revision:
12:e32a6beb0a41
Parent:
11:9549be34fa7f
Child:
13:a74f2d622b54
--- a/MPU6050.h	Wed Sep 24 01:10:42 2014 +0000
+++ b/MPU6050.h	Tue Mar 27 22:31:21 2018 +0000
@@ -422,7 +422,6 @@
         
         void start_sampling();
 
-        void initialize();
         bool testConnection();
 
         // AUX_VDDIO register
@@ -797,6 +796,23 @@
         // DMP_CFG_2 register
         uint8_t getDMPConfig2();
         void setDMPConfig2(uint8_t config);
+        
+        void initialize();
+        void initialize9250();
+        void initialize9250MasterMode();
+        void get9250Motion9Counts(int16_t* ax, int16_t* ay, int16_t* az, int16_t* gx, int16_t* gy, int16_t* gz, int16_t* hx, int16_t* hy, int16_t* hz);
+        void get9250Motion9(float* ax, float* ay, float* az, float* gx, float* gy, float* gz, float* hx, float* hy, float* hz);
+        void get9250Motion10Counts(int16_t* ax, int16_t* ay, int16_t* az, int16_t* gx, int16_t* gy, int16_t* gz, int16_t* hx, int16_t* hy, int16_t* hz, int16_t* t);
+        void get9250AccelCounts(int16_t* ax, int16_t* ay, int16_t* az);
+        void get9250GyroCounts(int16_t* gx, int16_t* gy, int16_t* gz);
+        void get9250MagCounts(int16_t* hx, int16_t* hy, int16_t* hz);
+        void get9250TempCounts(int16_t* t);
+        int setFilt9250(mpu9250_dlpf_bandwidth bandwidth, uint8_t SRD);
+        int enableInt9250(bool enable);
+        void readAKRegisters(uint8_t subAddress, uint8_t count, uint8_t* dest);
+        bool writeAKRegister(uint8_t subAddress, uint8_t data);
+        bool writeRegister(uint8_t subAddress, uint8_t data);
+        void readRegister(uint8_t subAddress, uint8_t count, uint8_t* dest);
 
         // special methods for MotionApps 2.0 implementation
         #ifdef MPU6050_INCLUDE_DMP_MOTIONAPPS20
@@ -1004,6 +1020,7 @@
     private:
         uint8_t devAddr;
         uint8_t buffer[14];
+        uint8_t magDevAddr;
 };
 
 #endif /* _MPU6050_H_ */
\ No newline at end of file