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

/media/uploads/isonno/nxp3872_controllerclose.jpg

System Block Diagram

/media/uploads/isonno/blockdiagram.png

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?

UserRevisionLine numberNew 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 }