From 4b806b8960dbd43a8a3d49256be6a8ca05f8eaa3 Mon Sep 17 00:00:00 2001 From: Rupin Chheda Date: Mon, 6 May 2019 09:32:25 +0530 Subject: [PATCH 1/3] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 7b78d1f..dc577b8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ SparkFun MPU-9250 Digital Motion Processor (DMP) Arduino Library ======================================== +### I have forked this repository to edit and make changes for the ESP32. Will submit a PR when ready. This is a Work in Progress + [![SparkFun MPU-9250](https://cdn.sparkfun.com//assets/parts/1/1/3/0/6/13762-00a.jpg)](https://www.sparkfun.com/products/13762) [*SparkFun MPU-9250 (SEN-13762)*](https://www.sparkfun.com/products/13762) From feb4b05d47c19169f4508712f8d5785e3b93251d Mon Sep 17 00:00:00 2001 From: rupin Date: Mon, 6 May 2019 09:55:10 +0530 Subject: [PATCH 2/3] Compatibility Mode for ESP32 --- library.properties | 2 +- src/util/inv_mpu.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/library.properties b/library.properties index 2498bf3..b5073af 100644 --- a/library.properties +++ b/library.properties @@ -6,4 +6,4 @@ sentence=Driver for InvenSense's MPU-9250 9-DOF IMU (3-axis gyroscope, 3-axis ac paragraph=The MPU-9250 is a system-in-package featuring acceleration full-scales of ±2 / ±4 / ±8 / ±16 (g), rotational full-scales of ±250 / ±500 / ±1000 / ±2000 (°/sec) and a magnetic field full scale of ±4800 µT. The MPU-9250 includes an I2C serial bus interface that supports speeds up to 400 kHz. category=Sensors url=https://github.com/sparkfun/MPU-9250_Breakout -architectures=samd +architectures=samd, esp32 diff --git a/src/util/inv_mpu.c b/src/util/inv_mpu.c index 0410390..3bc8aa4 100644 --- a/src/util/inv_mpu.c +++ b/src/util/inv_mpu.c @@ -44,6 +44,9 @@ #define i2c_read(a, b, c, d) arduino_i2c_read(a, b, c, d) #define delay_ms arduino_delay_ms #define get_ms arduino_get_clock_ms +// Added by rupin to enable ESP32 compatibility +#define min(a,b) a Date: Mon, 6 May 2019 10:17:38 +0530 Subject: [PATCH 3/3] Modified IFdef in every example to account for a different architecture --- examples/MPU9250_Basic/MPU9250_Basic.ino | 6 +++++- .../MPU9250_Basic_Interrupt/MPU9250_Basic_Interrupt.ino | 7 ++++++- examples/MPU9250_DMP_Gyro_Cal/MPU9250_DMP_Gyro_Cal.ino | 6 +++++- .../MPU9250_DMP_Orientation/MPU9250_DMP_Orientation.ino | 6 +++++- examples/MPU9250_DMP_Pedometer/MPU9250_DMP_Pedometer.ino | 6 +++++- examples/MPU9250_DMP_Quaternion/MPU9250_DMP_Quaternion.ino | 6 +++++- examples/MPU9250_DMP_Tap/MPU9250_DMP_Tap.ino | 6 +++++- examples/MPU9250_FIFO_Basic/MPU9250_FIFO_Basic.ino | 6 +++++- 8 files changed, 41 insertions(+), 8 deletions(-) diff --git a/examples/MPU9250_Basic/MPU9250_Basic.ino b/examples/MPU9250_Basic/MPU9250_Basic.ino index 1d7f78b..af17dfa 100644 --- a/examples/MPU9250_Basic/MPU9250_Basic.ino +++ b/examples/MPU9250_Basic/MPU9250_Basic.ino @@ -17,7 +17,11 @@ Supported Platforms: *************************************************************/ #include -#define SerialPort SerialUSB +#ifdef defined(SAMD) + #define SerialPort SerialUSB +#else + #define SerialPort Serial +#endif MPU9250_DMP imu; diff --git a/examples/MPU9250_Basic_Interrupt/MPU9250_Basic_Interrupt.ino b/examples/MPU9250_Basic_Interrupt/MPU9250_Basic_Interrupt.ino index cf9cd5e..8a0ebe2 100644 --- a/examples/MPU9250_Basic_Interrupt/MPU9250_Basic_Interrupt.ino +++ b/examples/MPU9250_Basic_Interrupt/MPU9250_Basic_Interrupt.ino @@ -19,7 +19,12 @@ Supported Platforms: *************************************************************/ #include -#define SerialPort SerialUSB +#ifdef defined(SAMD) + #define SerialPort SerialUSB +#else + #define SerialPort Serial +#endif + #define INTERRUPT_PIN 4 MPU9250_DMP imu; diff --git a/examples/MPU9250_DMP_Gyro_Cal/MPU9250_DMP_Gyro_Cal.ino b/examples/MPU9250_DMP_Gyro_Cal/MPU9250_DMP_Gyro_Cal.ino index 85c4cff..ea78cde 100644 --- a/examples/MPU9250_DMP_Gyro_Cal/MPU9250_DMP_Gyro_Cal.ino +++ b/examples/MPU9250_DMP_Gyro_Cal/MPU9250_DMP_Gyro_Cal.ino @@ -19,7 +19,11 @@ Supported Platforms: *************************************************************/ #include -#define SerialPort SerialUSB +#ifdef defined(SAMD) + #define SerialPort SerialUSB +#else + #define SerialPort Serial +#endif MPU9250_DMP imu; diff --git a/examples/MPU9250_DMP_Orientation/MPU9250_DMP_Orientation.ino b/examples/MPU9250_DMP_Orientation/MPU9250_DMP_Orientation.ino index ad3280e..73a6206 100644 --- a/examples/MPU9250_DMP_Orientation/MPU9250_DMP_Orientation.ino +++ b/examples/MPU9250_DMP_Orientation/MPU9250_DMP_Orientation.ino @@ -17,7 +17,11 @@ Supported Platforms: *************************************************************/ #include -#define SerialPort SerialUSB +#ifdef defined(SAMD) + #define SerialPort SerialUSB +#else + #define SerialPort Serial +#endif MPU9250_DMP imu; diff --git a/examples/MPU9250_DMP_Pedometer/MPU9250_DMP_Pedometer.ino b/examples/MPU9250_DMP_Pedometer/MPU9250_DMP_Pedometer.ino index 16a0586..95a128d 100644 --- a/examples/MPU9250_DMP_Pedometer/MPU9250_DMP_Pedometer.ino +++ b/examples/MPU9250_DMP_Pedometer/MPU9250_DMP_Pedometer.ino @@ -20,7 +20,11 @@ Supported Platforms: *************************************************************/ #include -#define SerialPort SerialUSB +#ifdef defined(SAMD) + #define SerialPort SerialUSB +#else + #define SerialPort Serial +#endif MPU9250_DMP imu; diff --git a/examples/MPU9250_DMP_Quaternion/MPU9250_DMP_Quaternion.ino b/examples/MPU9250_DMP_Quaternion/MPU9250_DMP_Quaternion.ino index 410339e..dfa4ed2 100644 --- a/examples/MPU9250_DMP_Quaternion/MPU9250_DMP_Quaternion.ino +++ b/examples/MPU9250_DMP_Quaternion/MPU9250_DMP_Quaternion.ino @@ -23,7 +23,11 @@ Supported Platforms: *************************************************************/ #include -#define SerialPort SerialUSB +#ifdef defined(SAMD) + #define SerialPort SerialUSB +#else + #define SerialPort Serial +#endif MPU9250_DMP imu; diff --git a/examples/MPU9250_DMP_Tap/MPU9250_DMP_Tap.ino b/examples/MPU9250_DMP_Tap/MPU9250_DMP_Tap.ino index 48810a0..6ff4f48 100644 --- a/examples/MPU9250_DMP_Tap/MPU9250_DMP_Tap.ino +++ b/examples/MPU9250_DMP_Tap/MPU9250_DMP_Tap.ino @@ -21,7 +21,11 @@ Supported Platforms: *************************************************************/ #include -#define SerialPort SerialUSB +#ifdef defined(SAMD) + #define SerialPort SerialUSB +#else + #define SerialPort Serial +#endif MPU9250_DMP imu; diff --git a/examples/MPU9250_FIFO_Basic/MPU9250_FIFO_Basic.ino b/examples/MPU9250_FIFO_Basic/MPU9250_FIFO_Basic.ino index 3fd7c0d..b225b98 100644 --- a/examples/MPU9250_FIFO_Basic/MPU9250_FIFO_Basic.ino +++ b/examples/MPU9250_FIFO_Basic/MPU9250_FIFO_Basic.ino @@ -19,7 +19,11 @@ Supported Platforms: *************************************************************/ #include -#define SerialPort SerialUSB +#ifdef defined(SAMD) + #define SerialPort SerialUSB +#else + #define SerialPort Serial +#endif MPU9250_DMP imu;