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.cpp@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 | // |
isonno |
1:d1da77023e6a | 2 | // Settings menu implementation |
isonno |
1:d1da77023e6a | 3 | // |
isonno |
1:d1da77023e6a | 4 | |
isonno |
1:d1da77023e6a | 5 | #include "SettingsMenu.h" |
isonno |
1:d1da77023e6a | 6 | #include "UserInterface.h" |
isonno |
1:d1da77023e6a | 7 | |
isonno |
1:d1da77023e6a | 8 | /* |
isonno |
1:d1da77023e6a | 9 | class SettingsMenu : public UIMenu |
isonno |
1:d1da77023e6a | 10 | { |
isonno |
1:d1da77023e6a | 11 | public: |
isonno |
1:d1da77023e6a | 12 | SettingsMenu( CheapLCD * lcd, HomeMenu * parent ); |
isonno |
1:d1da77023e6a | 13 | virtual ~SettingsMenu() {}; |
isonno |
1:d1da77023e6a | 14 | |
isonno |
1:d1da77023e6a | 15 | protected: |
isonno |
1:d1da77023e6a | 16 | virtual void KnobPushed(); |
isonno |
1:d1da77023e6a | 17 | virtual void AttachButton( PushButton * button ) |
isonno |
1:d1da77023e6a | 18 | { button->attach( this, &SettingsMenu::KnobPushed ); } |
isonno |
1:d1da77023e6a | 19 | |
isonno |
1:d1da77023e6a | 20 | private: |
isonno |
1:d1da77023e6a | 21 | HomeMenu * fParent; |
isonno |
1:d1da77023e6a | 22 | CheapLCD * fLCD; |
isonno |
1:d1da77023e6a | 23 | }; |
isonno |
1:d1da77023e6a | 24 | */ |
isonno |
1:d1da77023e6a | 25 | |
isonno |
1:d1da77023e6a | 26 | SettingsMenu::SettingsMenu( CheapLCD * lcd, HomeMenu * parent ) |
isonno |
1:d1da77023e6a | 27 | : UIMenu( lcd, "Settings" ), |
isonno |
1:d1da77023e6a | 28 | fLCD( lcd ), fParent( parent ) |
isonno |
1:d1da77023e6a | 29 | { |
isonno |
1:d1da77023e6a | 30 | fLabels.push_back( string( "Light Sensor" ) ); |
isonno |
1:d1da77023e6a | 31 | fLabels.push_back( string( "Motion Sensor" ) ); |
isonno |
1:d1da77023e6a | 32 | fLabels.push_back( string( "Defaults" ) ); |
isonno |
1:d1da77023e6a | 33 | fLabels.push_back( string( "Debug" ) ); |
isonno |
1:d1da77023e6a | 34 | fLabels.push_back( string( "Exit Settings" ) ); |
isonno |
1:d1da77023e6a | 35 | } |
isonno |
1:d1da77023e6a | 36 | |
isonno |
1:d1da77023e6a | 37 | void SettingsMenu::KnobPushed() |
isonno |
1:d1da77023e6a | 38 | { |
isonno |
1:d1da77023e6a | 39 | switch( SelectedItem() ) |
isonno |
1:d1da77023e6a | 40 | { |
isonno |
1:d1da77023e6a | 41 | case 4: |
isonno |
1:d1da77023e6a | 42 | SwitchTo( fParent ); |
isonno |
1:d1da77023e6a | 43 | break; |
isonno |
1:d1da77023e6a | 44 | } |
isonno |
1:d1da77023e6a | 45 | } |