From ebe343ae7edf8479918f5a620bcb347164eec287 Mon Sep 17 00:00:00 2001
From: vany5921 <908744431@qq.com>
Date: Tue, 7 Jul 2020 16:46:00 +0800
Subject: [PATCH] Create imu.md
---
docs/en/api/imu.md | 127 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 127 insertions(+)
create mode 100644 docs/en/api/imu.md
diff --git a/docs/en/api/imu.md b/docs/en/api/imu.md
new file mode 100644
index 00000000..a26a377a
--- /dev/null
+++ b/docs/en/api/imu.md
@@ -0,0 +1,127 @@
+# IMU
+
+*IMU automatically call different IMU models according to different configurations*
+
+## Init()
+
+**Syntax:**
+
+int Init(void);
+
+**Description:initialize IMU**
+
+**Example:**
+```arduino
+#include
+
+void setup() {
+ M5.begin();
+ int x = M5.IMU.Init(); //return 0 is ok, return -1 is unknow
+ Serial.println(x);
+}
+void loop() {}
+```
+
+## getGyroData()
+
+**Syntax:**
+
+void getGyroData(float *gx, float *gy, float *gz);
+
+**Description:Obtain the three-axis gyroscope data of the IMU chip.**
+
+**Example:**
+```arduino
+#include
+
+float gyroX, gyroY, gyroZ;
+
+void setup() {
+ M5.begin();
+ M5.IMU.Init();
+}
+void loop() {
+ M5.IMU.getGyroData(&gyroX, &gyroY, &gyroZ);
+ M5.Lcd.setCursor(0, 30);
+ M5.Lcd.printf("X:%7.2f\nY:%7.2f\nZ:%7.2f ", gyroX, gyroY, gyroZ);
+ delay(500);
+}
+```
+
+## getAccelData()
+
+**Syntax:**
+
+void getAccelData(float *ax, float *ay, float *az);
+
+**Description:Obtain the three-axis accelerometer data of the IMU chip.**
+
+**Example:**
+```arduino
+#include
+
+float accX, accY, accZ;
+
+void setup() {
+ M5.begin();
+ M5.IMU.Init();
+}
+void loop() {
+ M5.IMU.getAccelData(&accX, &accY, &accZ);
+ M5.Lcd.setCursor(0, 45);
+ M5.Lcd.printf("X:%5.2f\nY:%5.2f\nZ:%5.2f ", accX, accY, accZ);
+ delay(500);
+}
+```
+
+## getAhrsData()
+
+**Syntax:**
+
+void getAhrsData(float *pitch, float *roll, float *yaw);
+
+**Description:Get the attitude of the IMU chip.**
+
+**Example:**
+```arduino
+#include
+
+float pitch, roll, yaw;
+
+void setup() {
+ M5.begin();
+ M5.IMU.Init();
+}
+void loop() {
+ M5.IMU.getAhrsData(&pitch, &roll, &yaw);
+ M5.Lcd.setCursor(0, 45);
+ M5.Lcd.printf("X:%5.2f\nY:%5.2f\nZ:%5.2f ", pitch, roll, yaw);
+ delay(500);
+}
+```
+
+## getTempData()
+
+**Syntax:**
+
+void getTempData(float *t);
+
+**Description:Get the temperature of the IMU chip.**
+
+**Example:**
+```arduino
+#include
+
+float temp;
+
+void setup() {
+ M5.begin();
+ M5.IMU.Init();
+}
+void loop() {
+ M5.IMU.getTempData(&temp);
+ M5.Lcd.setCursor(0, 45);
+ M5.Lcd.printf("Temperature : %.2f C", temp);
+ delay(500);
+}
+```
\ No newline at end of file