pdf-icon

IMU

The IMU automatically selects the model based on the host configuration

Init()

Function:

Initializes the IMU chip

Function Prototype:

int Init(void)

Usage Example:

#include <M5StickC.h>

void setup() {
  M5.begin();
  int x = M5.IMU.Init(); //return 0 is ok, return -1 is unknown. If the return value is 0, initialization is successful
  Serial.println(x);
}
void loop() {
}

getGyroData()

Function:

Gets the three-axis gyroscope data from the IMU chip

Function Prototype:

void getGyroData(float *gx, float *gy, float *gz)

Usage Example:

#include <M5StickC.h>

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()

Function:

Gets the three-axis accelerometer data from the IMU chip

Function Prototype:

void getAccelData(float *ax, float *ay, float *az)

Usage Example:

#include <M5StickC.h>

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()

Function:

Gets the attitude data from the IMU chip

Function Prototype:

void getAccelData(float *pitch, float *roll, float *yaw)

Usage Example:

#include <M5StickC.h>

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()

Function:

Gets the temperature data from the IMU chip

Function Prototype:

void getTempData(float *t)

Usage Example:

#include <M5StickC.h>

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);
}
On This Page