Source code for the Curilights Controller. See http://www.saccade.com/writing/projects/CuriController/ for details.
Dependencies: FatFileSystem mbed
This is the source code for the Curilights controller. This lets you interactively control a string of Curilights. It provides a simple click-wheel user interface for changing colors, brightness and behavior. It responds to movement and lighting.
Finished Controller
System Block Diagram
SettingsMenu.h@1:d1da77023e6a, 2012-01-15 (annotated)
- Committer:
- isonno
- Date:
- Sun Jan 15 09:07:04 2012 +0000
- Revision:
- 1:d1da77023e6a
- Child:
- 3:0ac64c4ca40f
Add SettingsMenu functionality.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
isonno |
1:d1da77023e6a | 1 | #ifndef _SETTINGSMENU_ |
isonno |
1:d1da77023e6a | 2 | #define _SETTINGSMENU_ |
isonno |
1:d1da77023e6a | 3 | |
isonno |
1:d1da77023e6a | 4 | #ifndef _UIMENU_ |
isonno |
1:d1da77023e6a | 5 | #include "UIMenu.h" |
isonno |
1:d1da77023e6a | 6 | #endif |
isonno |
1:d1da77023e6a | 7 | |
isonno |
1:d1da77023e6a | 8 | class HomeMenu; |
isonno |
1:d1da77023e6a | 9 | |
isonno |
1:d1da77023e6a | 10 | class SettingsMenu : public UIMenu |
isonno |
1:d1da77023e6a | 11 | { |
isonno |
1:d1da77023e6a | 12 | public: |
isonno |
1:d1da77023e6a | 13 | SettingsMenu( CheapLCD * lcd, HomeMenu * parent ); |
isonno |
1:d1da77023e6a | 14 | virtual ~SettingsMenu() {}; |
isonno |
1:d1da77023e6a | 15 | |
isonno |
1:d1da77023e6a | 16 | protected: |
isonno |
1:d1da77023e6a | 17 | virtual void KnobPushed(); |
isonno |
1:d1da77023e6a | 18 | virtual void AttachButton( PushButton * button ) |
isonno |
1:d1da77023e6a | 19 | { button->attach( this, &SettingsMenu::KnobPushed ); } |
isonno |
1:d1da77023e6a | 20 | |
isonno |
1:d1da77023e6a | 21 | private: |
isonno |
1:d1da77023e6a | 22 | CheapLCD * fLCD; |
isonno |
1:d1da77023e6a | 23 | HomeMenu * fParent; |
isonno |
1:d1da77023e6a | 24 | }; |
isonno |
1:d1da77023e6a | 25 | |
isonno |
1:d1da77023e6a | 26 | class DebugMenu : public UIMenu |
isonno |
1:d1da77023e6a | 27 | { |
isonno |
1:d1da77023e6a | 28 | public: |
isonno |
1:d1da77023e6a | 29 | DebugMenu( CheapLCD * lcd, SettingsMenu * parent ); |
isonno |
1:d1da77023e6a | 30 | virtual ~DebugMenu() {}; |
isonno |
1:d1da77023e6a | 31 | |
isonno |
1:d1da77023e6a | 32 | protected: |
isonno |
1:d1da77023e6a | 33 | virtual void KnobPushed(); |
isonno |
1:d1da77023e6a | 34 | virtual void AttachButton( PushButton * button ) |
isonno |
1:d1da77023e6a | 35 | { button->attach( this, &DebugMenu::KnobPushed ); } |
isonno |
1:d1da77023e6a | 36 | |
isonno |
1:d1da77023e6a | 37 | private: |
isonno |
1:d1da77023e6a | 38 | CheapLCD * fLCD; |
isonno |
1:d1da77023e6a | 39 | SettingsMenu * parent; |
isonno |
1:d1da77023e6a | 40 | }; |
isonno |
1:d1da77023e6a | 41 | |
isonno |
1:d1da77023e6a | 42 | #endif |