Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SX1276Lib AdaFruit_RGBLCD MCP23017 mbed
Fork of AdaFruit_RGBLCD by
MenuManager/MenuManager.h@25:24654d08a99a, 2014-10-09 (annotated)
- Committer:
- vtraveller
- Date:
- Thu Oct 09 08:03:20 2014 +0000
- Revision:
- 25:24654d08a99a
Updated with new LCD and Key abstraction (to support different LCDs and Keyboard input).
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| vtraveller | 25:24654d08a99a | 1 | #ifndef __MENUMANAGER_H__ |
| vtraveller | 25:24654d08a99a | 2 | #define __MENUMANAGER_H__ |
| vtraveller | 25:24654d08a99a | 3 | |
| vtraveller | 25:24654d08a99a | 4 | #include "lcd.h" |
| vtraveller | 25:24654d08a99a | 5 | #include "keys.h" |
| vtraveller | 25:24654d08a99a | 6 | |
| vtraveller | 25:24654d08a99a | 7 | class MenuManager |
| vtraveller | 25:24654d08a99a | 8 | { |
| vtraveller | 25:24654d08a99a | 9 | public: |
| vtraveller | 25:24654d08a99a | 10 | MenuManager |
| vtraveller | 25:24654d08a99a | 11 | ( |
| vtraveller | 25:24654d08a99a | 12 | Module ** in_pModules, |
| vtraveller | 25:24654d08a99a | 13 | size_t in_nModules, |
| vtraveller | 25:24654d08a99a | 14 | LCD & in_cLCD, |
| vtraveller | 25:24654d08a99a | 15 | Keys & in_cKeys |
| vtraveller | 25:24654d08a99a | 16 | ); |
| vtraveller | 25:24654d08a99a | 17 | void loop(); |
| vtraveller | 25:24654d08a99a | 18 | |
| vtraveller | 25:24654d08a99a | 19 | protected: |
| vtraveller | 25:24654d08a99a | 20 | void changeModule(bool in_bUp); |
| vtraveller | 25:24654d08a99a | 21 | void createChars(); |
| vtraveller | 25:24654d08a99a | 22 | void initialise(); |
| vtraveller | 25:24654d08a99a | 23 | void processKeys(uint8_t in_nKeys); |
| vtraveller | 25:24654d08a99a | 24 | void setCursor |
| vtraveller | 25:24654d08a99a | 25 | ( |
| vtraveller | 25:24654d08a99a | 26 | bool in_bCursor, |
| vtraveller | 25:24654d08a99a | 27 | bool in_bBlink |
| vtraveller | 25:24654d08a99a | 28 | ); |
| vtraveller | 25:24654d08a99a | 29 | void setMode(Module::EModes in_eMode); |
| vtraveller | 25:24654d08a99a | 30 | void showModules(bool in_bRefresh = false); |
| vtraveller | 25:24654d08a99a | 31 | void showTracking(bool in_bShow); |
| vtraveller | 25:24654d08a99a | 32 | void updateDisplay(); |
| vtraveller | 25:24654d08a99a | 33 | |
| vtraveller | 25:24654d08a99a | 34 | protected: |
| vtraveller | 25:24654d08a99a | 35 | Module ** m_pModules; |
| vtraveller | 25:24654d08a99a | 36 | size_t m_nModules; |
| vtraveller | 25:24654d08a99a | 37 | LCD & m_cLCD; |
| vtraveller | 25:24654d08a99a | 38 | Keys & m_cKeys; |
| vtraveller | 25:24654d08a99a | 39 | Module::EModes m_eMode; |
| vtraveller | 25:24654d08a99a | 40 | size_t m_nMenuPos; |
| vtraveller | 25:24654d08a99a | 41 | size_t m_nIndex; |
| vtraveller | 25:24654d08a99a | 42 | int m_nCursorX, m_nCursorY; |
| vtraveller | 25:24654d08a99a | 43 | }; |
| vtraveller | 25:24654d08a99a | 44 | |
| vtraveller | 25:24654d08a99a | 45 | #endif /* __MENUMANAGER_H__ */ |
