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