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 #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