System Functions

Class Name: M5

begin()

Functionality:

Initializes the LCD; initializes the SD card; clears the serial buffer and sets the baud rate to 115200; initializes I2C; sets button A as the wake-up button.

Function Prototype:

void begin(bool LCDEnable=true, bool SDEnable=true, bool SerialEnable=true, bool I2CEnable=false)

Function Implementation:

void M5Stack::begin(bool LCDEnable, bool SDEnable, bool SerialEnable, bool I2CEnable){
  // Correct init once
  if (isInited) return;
  else isInited = true;

  // UART
  if (SerialEnable) {
    Serial.begin(115200);
    Serial.flush();
    delay(50);
    Serial.print("M5Stack initializing...");
  }

  // LCD INIT
  if (LCDEnable) {
    Lcd.begin();
  }

  // TF Card
  if (SDEnable) {
    SD.begin(TFCARD_CS_PIN, SPI, 40000000);
  }

  // TONE
  // Speaker.begin();
  // Set wakeup button
  Power.setWakeupButton(BUTTON_A_PIN);

  // I2C init
  if(I2CEnable){
    Wire.begin(21, 22);
  }

  if (SerialEnable) {
    Serial.println("OK");
  }
}

void M5Stack::update() {
  //Button update
  BtnA.read();
  BtnB.read();
  BtnC.read();

  //Speaker update
  Speaker.update();
}

Usage Example:

#include <M5Stack.h>

void setup() {
  M5.begin();
}

update()

Functionality:

Reads the status of the buttons.

Function Prototype:

void update()

Function Implementation:

void M5Stack::update() {
  //Button update
  BtnA.read();
  BtnB.read();
  BtnC.read();

  //Speaker update
  Speaker.update();
}

Usage Example:

#include <M5Stack.h>

void setup() {
  M5.begin();
}

void loop() {
  M5.update();
}

powerOFF()

Not recommended: Please use M5.Power.deepSleep() instead.

Functionality:

Puts the system into deep sleep mode.

Function Prototype:

void powerOFF()

Function Implementation:

void M5Stack::powerOFF() {
  M5.Power.deepSleep();
}

Usage Example:

#include <M5Stack.h>

void setup() {
  M5.begin();
  M5.Lcd.println("This is software power off demo");
  M5.Lcd.println("Press the button A to power off.");
  M5.setWakeupButton(BUTTON_A_PIN);
}

void loop() {
  M5.update();
  if (M5.BtnA.wasPressed()) {
    M5.powerOFF();
  }
}
On This Page