M5Stack Buttons

I'm having trouble understanding how to use the M5Stack Core2, creating new buttons for my project.

I can use the 3 buttons (A, B & C) and for some screens, but I need to create a few more buttons, with similar properties.

I've been studying the Example:

(events_buttons_gestures_rotation.ino) for the M5Stack Core2 but I can't make heads or tails of it. I've added print statements to see which subroutines are executed and I don't understand what the "doRotation()" or what the swipe gestures do.

The only thing that I've discovered in playing with it is that if I press one of the buttons twice quickly that the "toggleColor" is executed.

The few comments that are in the code are useless to me. There is nothing to describe what the "rotation" and "gestures" are, or even what they do.

Is there a simpler example somewhere that I can use to create a few buttons when I need them for the "wasReleased()" and "wasPressedFor()" functions?

Sir Michael

1 Like

I finally found a simple sketch that helped me figure it and wonderful instructions on the Button class:

I didn't realize there was that much instruction for them.

I then added a few lines to draw the button from the events_buttons_gestures_rotation.ino so I can work with it.

#include <M5Core2.h>

ButtonColors on_clrs = { RED, WHITE, WHITE };
ButtonColors off_clrs = { BLACK, WHITE, WHITE };
Button myButton(10, 10, 80, 60, false, "Button", off_clrs, on_clrs, TL_DATUM );

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

void loop() {  
  M5.update();
  if (myButton.wasReleased()) Serial.print("* ")
}

Sir Michael

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.