Introduzione
Il pulsante sul M5StickC Plus2 si trova sul lato del dispositivo ed è solitamente utilizzato per l'input dell'utente o funzioni di controllo. Il pulsante può essere configurato per eseguire varie operazioni, come pressione breve, pressione prolungata e doppio clic, per soddisfare diverse esigenze di controllo. Attraverso la programmazione, gli utenti possono assegnare diverse funzioni al pulsante, come avviare un'attività specifica o controllare la modalità operativa del dispositivo.
Come si visualizza la logica sottostante?
Se sei interessato alla logica sottostante o alle funzioni durante il processo di apprendimento, puoi cliccare sui link pertinenti per esplorare ulteriormente i dettagli.
1. Libreria dipendente:
- M5GFX: https://github.com/m5stack/M5GFX
- M5Unified: https://github.com/m5stack/M5Unified
- M5StickCPlus2: https://github.com/m5stack/M5StickCPlus2
2. Si trova solitamente nella directory src.


Commenti del codice e descrizioni delle funzioni


In M5Stack, le impostazioni di rotazione comunemente usate sono le seguenti:
- 0: Orientamento predefinito (ritratto).
- 1: Ruota di 90 gradi in senso orario (orizzontale).
- 2: Ruota di 180 gradi in senso orario (ritratto capovolto).
- 3: Ruota di 270 gradi in senso orario (orizzontale, opposto a 1).

2. StickCP2.Display.drawString('Button Test', StickCP2.Display.width() / 2,StickCP2.Display.height() / 2);
- Test Pulsante -> Visualizza il contenuto del testo.
- StickCP2.Display.width() / 2 -> Calcola la metà della larghezza dello schermo per determinare la coordinata X per posizionare il testo al centro orizzontale dello schermo.
- StickCP2.Display.height() / 2 -> Calcola la metà dell'altezza dello schermo per determinare la coordinata Y per posizionare il testo al centro verticale dello schermo.

La funzione update() viene usata per aggiornare lo stato del dispositivo o gestire eventi ed è comunemente presente nel codice per M5StickC Plus 2 (o dispositivi simili). Questa funzione è spesso usata nei seguenti scenari:
- Aggiornamento del contenuto del display: Se il contenuto dello schermo deve essere aggiornato o rinfrescato continuamente, la funzione update() può essere usata per aggiornare periodicamente il display.
- Gestione dell'input dei pulsanti: Quando il dispositivo ha pulsanti o input touch, la funzione update() può rilevare questi input e aggiornare di conseguenza lo stato dei pulsanti.
- Compiti temporizzati o gestione eventi: La funzione update() può anche essere usata per eseguire compiti temporizzati o gestire eventi periodici per mantenere il dispositivo in funzionamento regolare.
Nelle librerie di sviluppo per la serie M5Stack, update() è tipicamente impiegata come pratica standard per mantenere lo stato del dispositivo e gestire sensori o input. Ogni volta che la funzione update() viene chiamata, il dispositivo controlla lo stato attuale ed esegue gli aggiornamenti necessari.

Funzione per rilevare se il Pulsante A è premuto:
- Il metodo wasPressed() viene usato per verificare se il Pulsante A è stato premuto durante il ciclo corrente o precedente. Restituisce un valore booleano: true se il Pulsante A è stato premuto, e false se non lo è stato.
- wasPressed() è tipicamente usato per trigger di eventi, come cambiare il contenuto del display, attivare una funzione o controllare il comportamento del dispositivo. A differenza del normale isPressed(), wasPressed() è più adatto per rilevare un singolo evento di pressione piuttosto che uno stato di pressione continuo.

5. StickCP2.BtnA.wasReleased()
Verifica se il Pulsante A è stato rilasciato. Se il Pulsante A viene rilasciato, la funzione wasReleased() restituirà true e il codice all'interno delle parentesi graffe verrà eseguito. Questa funzione è adatta per rilevare l'evento di rilascio del pulsante piuttosto che il suo stato premuto.
