Paper Button input related APIs and case programs.
M5.update()
function in the main loop to read status update and minimize blocking, otherwise you may not be able to retrieve the status of key changes in time.#include <M5EPD.h>
M5EPD_Canvas canvas(&M5.EPD);
void ButtonTest(char* str) {
canvas.fillCanvas(0);
canvas.drawString(str, 100, 100);
canvas.pushCanvas(100, 300, UPDATE_MODE_DU4);
delay(500);
}
void setup() {
M5.begin();
M5.EPD.SetRotation(90);
M5.EPD.Clear(true);
canvas.createCanvas(300, 300);
canvas.setTextSize(3);
}
void loop() {
if (M5.BtnL.wasPressed()) ButtonTest("Btn L Pressed");
if (M5.BtnP.wasPressed()) ButtonTest("Btn P Pressed");
if (M5.BtnR.wasPressed()) ButtonTest("Btn R Pressed");
M5.BtnL.lastChange();
M5.update();
delay(100);
}
Syntax:
uint8_t read();
Description:
Parameters:
Return:
Syntax:
uint32_t lastChange();
Description:
Parameters:
Return:
Syntax:
uint8_t isPressed();
Description:
Parameters:
Return:
Syntax:
uint8_t wasPressed();
Description:
Parameters:
Return:
Syntax:
uint8_t pressedFor(uint32_t ms);
Description:
Parameters:
Return:
Syntax:
uint8_t isReleased();
Description:
Parameters:
Return:
Syntax:
uint8_t releasedFor(uint32_t ms);
Description:
Parameters:
Return:
Syntax:
uint8_t wasReleased();
Description:
Parameters:
Return:
Syntax:
uint8_t wasReleasefor(uint32_t ms);
Description:
Parameters:
Return: