LovyanGFXからM5Unifiedに置き換えた

以下を公開していましたが、LovyanGFXからM5Unifiedを使うように変更しました。

変更前：QuickJS_ESP32_IoT_Device

https://github.com/poruruba/QuickJS_ESP32_IoT_Device

変更後：QuickJS_ESP32_IoT_Device_M5Unified

https://github.com/poruruba/QuickJS_ESP32_IoT_Device_M5Unified


# platformio.ini

(LovyanGFXの場合)

```ini:platformio.ini
	lovyan03/LovyanGFX@^0.5.0
	m5stack/M5StickC@^0.2.5 などなど
```

(M5Unifiedの場合)

```ini:platformio.ini
	m5stack/M5Unified@^0.1.6
```

# include

(LovyanGFXの場合)

```h
#include <M5Atom.h> など
```

(M5Unifiedの場合)

```
#include <M5Unified.h>

SDを使う場合
#include <SD.h>
#include <M5Unified.h>
```

# 初期化処理

(LovyanGFXの場合)

```cpp
#if defined(ARDUINO_M5Stick_C)
  M5.begin(true, true, true);
#elif defined(ARDUINO_M5Stack_ATOM)
  M5.begin(true, true, false);
#elif defined(ARDUINO_M5STACK_FIRE)
  M5.begin(true, true, true, true);
#elif defined(ARDUINO_M5STACK_Core2)
  M5.begin(true, true, true, true);
#elif defined(ARDUINO_ESP32C3_DEV)
  Serial.begin(115200);
#elif defined(ARDUINO_ESP32C3U_DEV)
  Serial.begin(115200);
#elif defined(ARDUINO_ESP32S3_DEV)
  Serial.begin(115200);
#endif
```

(M5Unifiedの場合)

```cpp
  auto cfg = M5.config();
  M5.begin(cfg);
```

# SD

(LovyanGFXの場合)

対象外

(M5Unifiedの場合)

以下が必要

```cpp
  bool ret = SD.begin(ssPin, SPI, SD_DEFAULT_FREQ);
```

# RTC

(LovyanGFXの場合)

```cpp
  M5.Rtc.begin();
```

(M5Unifiedの場合)

M5.Rtc.begin() は呼ばなくても大丈夫そう。

(LovyanGFXの場合)

```cpp
  RTC_TimeTypeDef def;
  M5.Rtc.SetTime(&def);

  RTC_DateTypeDef def;
#if defined(ARDUINO_M5Stick_C)
  M5.Rtc.SetData(&def);
#elif defined(ARDUINO_M5STACK_Core2)
  M5.Rtc.SetDate(&def);
#endif

  RTC_TimeTypeDef def;
  M5.Rtc.GetTime(&def);

  RTC_DateTypeDef def;
#if defined(ARDUINO_M5Stick_C)
  M5.Rtc.GetData(&def);
#elif defined(ARDUINO_M5STACK_Core2)
  M5.Rtc.GetDate(&def);
#endif
```

(M5Unifiedの場合)

```cpp
  m5::rtc_time_t def;
  M5.Rtc.setTime(&def);

  m5::rtc_date_t def;
  M5.Rtc.setDate(&def);

  m5::rtc_time_t def;
  M5.Rtc.getTime(&def);

  m5::rtc_date_t def;
  M5.Rtc.getDate(&def);
```

# Lcd

(LovyanGFXの場合)

```cpp
#define LGFX_USE_V1
#define LGFX_AUTODETECT
#include <LovyanGFX.hpp>
#include <LGFX_AUTODETECT.hpp>

LGFX lcd;

  lcd.init();
```

(M5Unifiedの場合)

不要

(LovyanGFXの場合)

```cpp
lcd.***
```

(M5Unifiedの場合)

```cpp
M5.Display.***;
```

# 電源ボタン

(LovyanGFXの場合)

```cpp
M5.Axp.***
```

(M5Unifiedの場合)

```cpp
M5.BtnPWR.***
```

# タッチパネル

(LovyanGFXの場合)

```cpp
  if( M5.Touch.ispressed() ){
    TouchPoint_t pos = M5.Touch.getPressPoint();
```

(M5Unifiedの場合)

```cpp
  if( M5.Touch.getCount() > 0 ){
    m5::touch_detail_t pos = M5.Touch.getDetail();
```

# IMU

(LovyanGFXの場合)

```cpp
  float ax, ay, az;
#if defined(ARDUINO_ESP32S3_DEV)
  M5.IMU.getAccel(&ax, &ay, &az);
#else
  M5.IMU.getAccelData(&ax, &ay, &az);
#endif

  float gx, gy, gz;
#if defined(ARDUINO_ESP32S3_DEV)
  M5.IMU.getGyro(&gx, &gy, &gz);
#else
  M5.IMU.getGyroData(&gx, &gy, &gz);
#endif

#if defined(ARDUINO_ESP32S3_DEV)
  M5.IMU.getTemp(&t);
#else
  M5.IMU.getTempData(&t);
#endif
```

(M5Unifiedの場合)

```cpp
  float ax, ay, az;
  M5.Imu.getAccel(&ax, &ay, &az);

  float gx, gy, gz;
  M5.Imu.getGyro(&gx, &gy, &gz);

  float t;
  M5.Imu.getTemp(&t);
```

# スピーカー

(LovyanGFXの場合)

```cpp
  M5.Axp.SetSpkEnable(true);
```

(M5Unifiedの場合)

```cpp
  if( M5.Speaker.isEnabled() )
    M5.Speaker.begin();
```


以上