Class Name: BtnA / BtnB / BtnC
Function:
Read the button state: 0 for released; 1 for pressed
Function Prototype:
uint8_t read()
Usage Example:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please press Button A.");
}
void loop() {
M5.Lcd.setCursor(0, 0);
M5.Lcd.printf("Button A Status: %d ",M5.BtnA.read());
}
Function:
Returns the time of the last status change.
Function Prototype:
uint32_t lastChange()
Usage Example:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please press Button A.");
}
void loop() {
M5.update();
M5.Lcd.setCursor(0, 0);
M5.Lcd.printf("The last change at %d ms /n",M5.BtnA.lastChange());
}
Function:
Returns the button press state: true if the button is pressed, false otherwise.
Function Prototype:
uint8_t isPressed()
Usage Example:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please press Button A.");
}
void loop() {
M5.update();
M5.Lcd.setCursor(0, 0);
if (M5.BtnA.isPressed()) {
M5.Lcd.println("Button is Pressed.");
}else{
M5.Lcd.println("Button is Released.");
}
delay(20);
}
Function:
Returns true if the button has been pressed for a specified duration, otherwise returns false.
Function Prototype:
uint8_t pressedFor(uint32_t ms)
Parameter | Type | Description |
---|---|---|
ms | uint32_t | Press duration (ms) |
Usage Example:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please press Button A.");
}
void loop() {
M5.update();
if (M5.BtnA.pressedFor(2000)) {
M5.Lcd.println("Button A was pressed for more than 2 seconds.");
delay(1000);
}
}
Function:
Returns true if the button was pressed, but only once.
Function Prototype:
uint8_t wasPressed()
Usage Example:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please press Button A.");
}
void loop() {
M5.update();
if (M5.BtnA.wasPressed()) {
M5.Lcd.println("Button is pressed.");
}
delay(20);
}
Function:
Returns true if the button is released, otherwise returns false.
Function Prototype:
uint8_t isPressed()
Usage Example:
#include <M5Core2.h>
void setup() {
M5.begin();
}
void loop() {
M5.update();
if (M5.BtnA.isReleased()) {
M5.Lcd.println("Button is released.");
}else{
M5.Lcd.println("Button is Pressed.");
}
delay(20);
}
Function:
Returns true if the button has been released for a specified duration, otherwise returns false.
Function Prototype:
uint8_t pressedFor(uint32_t ms)
Parameter | Type | Description |
---|---|---|
ms | uint32_t | Release duration (ms) |
Usage Example:
#include <M5Core2.h>
void setup() {
M5.begin();
}
void loop() {
M5.update();
if (M5.BtnA.releasedFor(2000)) {
M5.Lcd.println("Button A was released for more than 2 seconds.");
delay(1000);
}else{
M5.Lcd.println("Button A is pressed");
}
}
Function:
Returns true if the button was released, but only once.
Function Prototype:
uint8_t wasReleased()
Usage Example:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please press Button A.");
}
void loop() {
M5.update();
if(M5.BtnA.wasReleased()) {
M5.Lcd.println("Button is Released.");
}
delay(20);
}
Function:
Returns true if the button was pressed and then released after a specified duration, but only once.
Function Prototype:
uint8_t wasReleasefor(uint32_t ms)
Parameter | Type | Description |
---|---|---|
ms | uint32_t | Press duration (ms) |
Usage Example:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please press Button A.");
}
void loop() {
M5.update();
if (M5.BtnA.wasReleasefor(3000)) {
M5.Lcd.println("OK");
}
}