#include <M5Unified.h>

void setup() {
  auto cfg = M5.config();
  cfg.serial_baudrate = 115200;
  M5.begin(cfg);
  M5.Display.setRotation(3); //横向き
  M5.Display.setFont(&fonts::lgfxJapanGothic_16);
  M5.Display.println("IMU Inertial Measurement Unit: 慣性計測装置");
}

void loop() {
  M5.update();
  auto imu_update = M5.Imu.update();
  if (imu_update) {
    m5::IMU_Class::imu_data_t data = M5.Imu.getImuData();
    M5.Display.setCursor(0, 40); // x,y,fonttype

    M5.Display.printf("加速度 傾↑↓:%7.2f  ←→:%7.2f  垂直:%7.2f\n", data.accel.x , data.accel.y , data.accel.z );
    Serial.printf("%7.2f , %7.2f , %7.2f \n", data.accel.x , data.accel.y , data.accel.z); //ArduinoIDE シリアルプロッタ用の出力

    M5.Display.printf("ジャイロ X:%7.2f  Y:%7.2f  Z:%7.2f  \n", data.gyro.x, data.gyro.y, data.gyro.z);
    // Serial.printf("%7.2f,%7.2f,%7.2f,", gyroX * M5.IMU.gRes, gyroY * M5.IMU.gRes, gyroZ * M5.IMU.gRes);
  }
  M5.delay(10);
}