1

Dependencies:   ArduinoSerial I2Cdev

Fork of MPU6050 by Shundo Kishi

Files at this revision

API Documentation at this revision

Comitter:
sem40590
Date:
Thu Jun 15 17:19:14 2017 +0000
Parent:
9:338c5b334fa6
Commit message:
1

Changed in this revision

I2Cdev.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/I2Cdev.lib	Thu Jun 15 15:10:25 2017 +0000
+++ b/I2Cdev.lib	Thu Jun 15 17:19:14 2017 +0000
@@ -1,1 +1,1 @@
-https://developer.mbed.org/users/syundo0730/code/I2Cdev/#bb5ba74750af
+https://developer.mbed.org/users/sem40590/code/I2Cdev/#bb5ba74750af
--- a/main.cpp	Thu Jun 15 15:10:25 2017 +0000
+++ b/main.cpp	Thu Jun 15 17:19:14 2017 +0000
@@ -1,50 +1,3 @@
-
-// I2C device class (I2Cdev) demonstration Arduino sketch for MPU6050 class using DMP (MotionApps v2.0)
-// 6/21/2012 by Jeff Rowberg <jeff@rowberg.net>
-// Updates should (hopefully) always be available at https://github.com/jrowberg/i2cdevlib
-//
-// Changelog:
-// 2013-05-08 - added seamless Fastwire support
-// - added note about gyro calibration
-// 2012-06-21 - added note about Arduino 1.0.1 + Leonardo compatibility error
-// 2012-06-20 - improved FIFO overflow handling and simplified read process
-// 2012-06-19 - completely rearranged DMP initialization code and simplification
-// 2012-06-13 - pull gyro and accel data from FIFO packet instead of reading directly
-// 2012-06-09 - fix broken FIFO read sequence and change interrupt detection to RISING
-// 2012-06-05 - add gravity-compensated initial reference frame acceleration output
-// - add 3D math helper file to DMP6 example sketch
-// - add Euler output and Yaw/Pitch/Roll output formats
-// 2012-06-04 - remove accel offset clearing for better results (thanks Sungon Lee)
-// 2012-06-01 - fixed gyro sensitivity to be 2000 deg/sec instead of 250
-// 2012-05-30 - basic DMP initialization working
- 
-/* ============================================
-I2Cdev device library code is placed under the MIT license
-Copyright (c) 2012 Jeff Rowberg
- 
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
- 
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
- 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-===============================================
-*/
- 
-// I2Cdev and MPU6050 must be installed as libraries, or else the .cpp/.h files
-// for both classes must be in the include path of your project
-#include "I2Cdev.h"
 #include "mbed.h"
 #include <math.h>
 DigitalOut leds[] = {(LED1), (LED2),(LED3),(LED4)};
@@ -55,70 +8,13 @@
  
 //#include "MPU6050.h" // not necessary if using MotionApps include file
  
- 
-// class default I2C address is 0x68
-// specific I2C addresses may be passed as a parameter here
-// AD0 low = 0x68 (default for SparkFun breakout and InvenSense evaluation board)
-// AD0 high = 0x69
 MPU6050 mpu;
-//MPU6050 mpu(0x69); // <-- use for AD0 high
- 
-/* =========================================================================
-NOTE: In addition to connection 3.3v, GND, SDA, and SCL, this sketch
-depends on the MPU-6050's INT pin being connected to the Arduino's
-external interrupt #0 pin. On the Arduino Uno and Mega 2560, this is
-digital I/O pin 2.
-* ========================================================================= */
- 
-/* =========================================================================
-NOTE: Arduino v1.0.1 with the Leonardo board generates a compile error
-when using Serial.write(buf, len). The Teapot output uses this method.
-The solution requires a modification to the Arduino USBAPI.h file, which
-is fortunately simple, but annoying. This will be fixed in the next IDE
-release. For more info, see these links:
- 
-http://arduino.cc/forum/index.php/topic,109987.0.html
-http://code.google.com/p/arduino/issues/detail?id=958
-* ========================================================================= */
- 
- 
+
+
 #ifndef M_PI
 #define M_PI 3.1415
 #endif
- 
-// uncomment "OUTPUT_READABLE_QUATERNION" if you want to see the actual
-// quaternion components in a [w, x, y, z] format (not best for parsing
-// on a remote host such as Processing or something though)
-//#define OUTPUT_READABLE_QUATERNION
- 
-// uncomment "OUTPUT_READABLE_EULER" if you want to see Euler angles
-// (in degrees) calculated from the quaternions coming from the FIFO.
-// Note that Euler angles suffer from gimbal lock (for more info, see
-// http://en.wikipedia.org/wiki/Gimbal_lock)
-//#define OUTPUT_READABLE_EULER
- 
-// uncomment "OUTPUT_READABLE_YAWPITCHROLL" if you want to see the yaw/
-// pitch/roll angles (in degrees) calculated from the quaternions coming
-// from the FIFO. Note this also requires gravity vector calculations.
-// Also note that yaw/pitch/roll angles suffer from gimbal lock (for
-// more info, see: http://en.wikipedia.org/wiki/Gimbal_lock)
-//#define OUTPUT_READABLE_YAWPITCHROLL
- 
-// uncomment "OUTPUT_READABLE_REALACCEL" if you want to see acceleration
-// components with gravity removed. This acceleration reference frame is
-// not compensated for orientation, so +X is always +X according to the
-// sensor, just without the effects of gravity. If you want acceleration
-// compensated for orientation, us OUTPUT_READABLE_WORLDACCEL instead.
-//#define OUTPUT_READABLE_REALACCEL
- 
-// uncomment "OUTPUT_READABLE_WORLDACCEL" if you want to see acceleration
-// components with gravity removed and adjusted for the world frame of
-// reference (yaw is relative to initial orientation, since no magnetometer
-// is present in this case). Could be quite handy in some cases.
-//#define OUTPUT_READABLE_WORLDACCEL
- 
-// uncomment "OUTPUT_TEAPOT" if you want output that matches the
-// format used for the InvenSense teapot demo
+
 #define OUTPUT_TEAPOT
  
  
@@ -161,11 +57,8 @@
 int main()
 {
     
-    //Pin Defines for I2C Bus
 #define D_SDA                  D14
 #define D_SCL                  D15
-//#define D_SDA                  p28
-//#define D_SCL                  p27
 I2C i2c(D_SDA, D_SCL);
  
  
@@ -175,21 +68,16 @@
     DigitalOut myled3(LED3);
     DigitalOut heartbeatLED(LED4);
  
-// initialize serial communication
-// (115200 chosen because it is required for Teapot Demo output, but it's
-// really up to you depending on your project)
-//Host PC Baudrate (Virtual Com Port on USB)
     #define D_BAUDRATE            115200
  
-// Host PC Communication channels
+
     Serial pc(USBTX, USBRX); // tx, rx
  
     pc.baud(D_BAUDRATE);
-    // initialize device
+
     pc.printf("Initializing I2C devices...\n");
     mpu.initialize();
  
-    // verify connection
     pc.printf("Testing device connections...\n");
     
     bool mpu6050TestResult = mpu.testConnection();
@@ -254,22 +142,8 @@
     if (!dmpReady) continue;
         myled2=0;
         
-    // wait for MPU interrupt or extra packet(s) available
-//    while (!mpuInterrupt && fifoCount < packetSize) {
-//      while (!mpuIntStatus && fifoCount < packetSize) 
       {
-        // other program behavior stuff here
-        // .
-        // .
-        // .
-        // if you are really paranoid you can frequently test in between other
-        // stuff to see if mpuInterrupt is true, and if so, "break;" from the
-        // while() loop to immediately process the MPU data
-        // .
-        // .
-        // .
-//        fifoCount= mpu.getFIFOCount();
-//        mpuIntStatus = mpu.getIntStatus();
+
     }
     wait_us(500);
     
@@ -389,4 +263,4 @@
         myled1 = blinkState;
     }
   }
-}
\ No newline at end of file
+}                                                      
\ No newline at end of file