CaryCoders / Mbed 2 deprecated SX1276_GPS

Dependencies:   SX1276Lib AdaFruit_RGBLCD MCP23017 mbed

Fork of AdaFruit_RGBLCD by Justin Howard

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?

UserRevisionLine numberNew 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__ */