68 lines
2.2 KiB
Markdown
68 lines
2.2 KiB
Markdown
# Menu Manager
|
|
Easy and flexible menu manager for ESP-IDF
|
|
|
|
|
|
```mermaid
|
|
---
|
|
config:
|
|
title: Menu Manager
|
|
---
|
|
flowchart TD
|
|
start((menu init))
|
|
createQueue[Create Queue qCommand]
|
|
waitQueue[Wait Queue qCommand]
|
|
showDisplay[Show menu]
|
|
|
|
funtionInExecution{Is there a funtion in execution?}
|
|
isCommandBack{Is command back?}
|
|
exitFuntion[Exit funtion in execution]
|
|
|
|
swithCasesInput{Command}
|
|
navigateUP[Increments the index]
|
|
navigateDOWN[Decrements the index]
|
|
navigateBACK[return to parent menu]
|
|
|
|
navigateSELECTION{Is there a funtion?}
|
|
selectSubMenu[Select sub menu]
|
|
executeFuntion[Execute funtion]
|
|
|
|
start --> createQueue
|
|
createQueue --> waitQueue
|
|
waitQueue --> funtionInExecution
|
|
funtionInExecution --"Yes"--> isCommandBack
|
|
isCommandBack --"Yes"--> exitFuntion
|
|
funtionInExecution --"No"--> swithCasesInput
|
|
|
|
swithCasesInput --"UP"--> navigateUP
|
|
swithCasesInput --"DOWN"--> navigateDOWN
|
|
swithCasesInput --"BACK"--> navigateBACK
|
|
swithCasesInput --"SELECT"--> navigateSELECTION
|
|
|
|
exitFuntion --> showDisplay
|
|
navigateUP --> showDisplay
|
|
navigateDOWN --> showDisplay
|
|
navigateBACK --> showDisplay
|
|
|
|
navigateSELECTION --"No"--> selectSubMenu --> showDisplay
|
|
navigateSELECTION --"Yes"--> executeFuntion --> waitQueue
|
|
|
|
showDisplay --> waitQueue
|
|
|
|
%% Estilos e cores
|
|
classDef startEnd fill:#e1f5fe,stroke:#01579b,stroke-width:3px,color:#000
|
|
classDef queue fill:#f3e5f5,stroke:#4a148c,stroke-width:2px,color:#000
|
|
classDef display fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px,color:#000
|
|
classDef decision fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000
|
|
classDef navigation fill:#fce4ec,stroke:#ad1457,stroke-width:2px,color:#000
|
|
classDef execution fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#000
|
|
classDef selection fill:#e0f2f1,stroke:#00695c,stroke-width:2px,color:#000
|
|
|
|
class start startEnd
|
|
class createQueue,waitQueue queue
|
|
class showDisplay display
|
|
class funtionInExecution,isCommandBack,swithCasesInput,navigateSELECTION decision
|
|
class navigateUP,navigateDOWN,navigateBACK navigation
|
|
class exitFuntion,executeFuntion execution
|
|
class selectSubMenu selection```
|
|
|