Úvod
Tlačítko na zařízení M5StickC Plus2 se nachází na jeho boku a obvykle slouží k zadávání vstupů uživatele nebo k ovládání funkcí. Tlačítko lze nakonfigurovat tak, aby provádělo různé operace, například krátké stisknutí, dlouhé stisknutí a dvojklik, a vyhovovalo tak různým potřebám ovládání. Pomocí programování mohou uživatelé tlačítku přiřadit různé funkce, například spuštění konkrétní úlohy nebo ovládání provozního režimu zařízení.
Jak zobrazit základní logiku?
Pokud vás během učení zajímá základní logika nebo funkce, můžete kliknutím na příslušné odkazy prozkoumat podrobnosti.
1. Závislá knihovna:
- M5GFX: https://github.com/m5stack/M5GFX
- M5Unified: https://github.com/m5stack/M5Unified
- M5StickCPlus2: https://github.com/m5stack/M5StickCPlus2
2. Obvykle se nachází v adresáři src.


Komentáře v kódu a popisy funkcí


V M5Stacku se běžně používají následující nastavení otočení:
- 0: Výchozí orientace (na výšku).
- 1: Otočení o 90 stupňů po směru hodinových ručiček (na šířku).
- 2: Otočení o 180 stupňů po směru hodinových ručiček (portrét vzhůru nohama).
- 3: Otočení o 270 stupňů po směru hodinových ručiček (na šířku, opačně než 1).

2. StickCP2.Display.drawString('Button Test', StickCP2.Display.width() / 2,StickCP2.Display.height() / 2);
- Test tlačítka -> Zobrazí textový obsah.
- StickCP2.Display.width() / 2 -> Vypočítá polovinu šířky obrazovky a určí souřadnici X pro umístění textu do vodorovného středu obrazovky.
- StickCP2.Display.height() / 2 -> Vypočítá polovinu výšky obrazovky a určí souřadnici Y pro umístění textu do svislého středu obrazovky.
Funkce update() slouží k aktualizaci stavu zařízení nebo ke zpracování událostí a běžně se používá v kódu pro M5StickC Plus 2 (nebo podobná zařízení). Tato funkce se často používá v následujících situacích:
- Aktualizace obsahu displeje: Pokud je třeba obsah obrazovky průběžně obnovovat nebo aktualizovat, lze funkci update() použít k pravidelnému obnovování displeje.
- Zpracování vstupu tlačítek: Pokud má zařízení tlačítka nebo dotykové vstupy, funkce update() může tyto vstupy detekovat a odpovídajícím způsobem aktualizovat stavy tlačítek.
- Časované úlohy nebo zpracování událostí: Funkci update() lze také použít ke spouštění časovaných úloh nebo zpracování pravidelných událostí, aby zařízení fungovalo plynule.
Ve vývojových knihovnách pro řadu M5Stack se funkce update() obvykle používá jako standardní postup pro udržování stavu zařízení a správu senzorů nebo vstupů. Při každém zavolání funkce update() zařízení zkontroluje aktuální stav a provede potřebné aktualizace.

Funkce pro detekci stisknutí tlačítka A:
- Metoda wasPressed() slouží ke kontrole, zda bylo tlačítko A stisknuto v aktuální nebo předchozí smyčce. Vrací logickou hodnotu: true, pokud bylo tlačítko A stisknuto, a false, pokud stisknuto nebylo.
- Funkce wasPressed() se obvykle používá pro spouštění událostí, například při přepínání obsahu displeje, aktivaci funkce nebo řízení chování zařízení. Na rozdíl od běžné funkce isPressed() je wasPressed() vhodnější k detekci jednorázového stisknutí než nepřetržitého stavu stisknutí.

5. StickCP2.BtnA.wasReleased()
Kontroluje, zda bylo tlačítko A uvolněno. Pokud je tlačítko A uvolněno, funkce wasReleased() vrátí hodnotu true a provede se kód uvnitř složených závorek. Tato funkce je vhodná k detekci události uvolnění tlačítka, nikoli jeho stisknutého stavu.

