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
Modules/module.h@17:731a47339cb8, 2014-08-14 (annotated)
- Committer:
- vtraveller
- Date:
- Thu Aug 14 10:47:27 2014 +0000
- Revision:
- 17:731a47339cb8
- Parent:
- 15:d1eaddb363be
Added mode indication to modules (allows them to change behavior based on mode changes. Means you can have a module change state but not commit the change until you leave that state.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vtraveller | 10:3fcab08717fc | 1 | #ifndef __MODULE_H__ |
vtraveller | 10:3fcab08717fc | 2 | #define __MODULE_H__ |
vtraveller | 10:3fcab08717fc | 3 | |
vtraveller | 10:3fcab08717fc | 4 | #ifndef _countof |
vtraveller | 10:3fcab08717fc | 5 | #define _countof(a) (sizeof(a) / sizeof(a[0])) |
vtraveller | 10:3fcab08717fc | 6 | #endif |
vtraveller | 10:3fcab08717fc | 7 | |
vtraveller | 10:3fcab08717fc | 8 | class Module |
vtraveller | 10:3fcab08717fc | 9 | { |
vtraveller | 10:3fcab08717fc | 10 | public: |
vtraveller | 17:731a47339cb8 | 11 | enum EModes |
vtraveller | 17:731a47339cb8 | 12 | { |
vtraveller | 17:731a47339cb8 | 13 | eModeMenu = 0, |
vtraveller | 17:731a47339cb8 | 14 | eModeSelect, |
vtraveller | 17:731a47339cb8 | 15 | eModeChange, |
vtraveller | 17:731a47339cb8 | 16 | eModeLast |
vtraveller | 17:731a47339cb8 | 17 | }; |
vtraveller | 17:731a47339cb8 | 18 | |
vtraveller | 17:731a47339cb8 | 19 | public: |
vtraveller | 13:9641bc42db92 | 20 | Module(Serial & in_cDisplay); |
vtraveller | 10:3fcab08717fc | 21 | virtual ~Module(); |
vtraveller | 10:3fcab08717fc | 22 | |
vtraveller | 10:3fcab08717fc | 23 | virtual bool canRefresh() { return false; } |
vtraveller | 11:96146db429de | 24 | virtual void change |
vtraveller | 11:96146db429de | 25 | ( |
vtraveller | 13:9641bc42db92 | 26 | size_t in_nIndex, |
vtraveller | 11:96146db429de | 27 | bool in_bUp |
vtraveller | 11:96146db429de | 28 | ) |
vtraveller | 11:96146db429de | 29 | { ; } |
vtraveller | 13:9641bc42db92 | 30 | virtual int getCursorOffset(size_t & inout_nIndex) |
vtraveller | 11:96146db429de | 31 | { return -1; } |
vtraveller | 17:731a47339cb8 | 32 | virtual void onModeChange(EModes in_eMode) |
vtraveller | 17:731a47339cb8 | 33 | { ; } |
vtraveller | 15:d1eaddb363be | 34 | virtual void show(bool in_bRefresh) = 0; |
vtraveller | 10:3fcab08717fc | 35 | |
vtraveller | 10:3fcab08717fc | 36 | protected: |
vtraveller | 13:9641bc42db92 | 37 | Serial & m_cDisplay; |
vtraveller | 10:3fcab08717fc | 38 | }; |
vtraveller | 10:3fcab08717fc | 39 | |
vtraveller | 10:3fcab08717fc | 40 | #endif /* __MODULE_H__ */ |