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
Diff: SettingsMenu.h
- Revision:
- 3:0ac64c4ca40f
- Parent:
- 1:d1da77023e6a
- Child:
- 4:cfef06d8bb96
--- a/SettingsMenu.h Sun Jan 15 09:07:04 2012 +0000 +++ b/SettingsMenu.h Tue Jan 17 13:45:17 2012 +0000 @@ -1,42 +1,56 @@ -#ifndef _SETTINGSMENU_ -#define _SETTINGSMENU_ - -#ifndef _UIMENU_ -#include "UIMenu.h" -#endif - -class HomeMenu; - -class SettingsMenu : public UIMenu -{ -public: - SettingsMenu( CheapLCD * lcd, HomeMenu * parent ); - virtual ~SettingsMenu() {}; - -protected: - virtual void KnobPushed(); - virtual void AttachButton( PushButton * button ) - { button->attach( this, &SettingsMenu::KnobPushed ); } - -private: - CheapLCD * fLCD; - HomeMenu * fParent; -}; - -class DebugMenu : public UIMenu -{ -public: - DebugMenu( CheapLCD * lcd, SettingsMenu * parent ); - virtual ~DebugMenu() {}; - -protected: - virtual void KnobPushed(); - virtual void AttachButton( PushButton * button ) - { button->attach( this, &DebugMenu::KnobPushed ); } - -private: - CheapLCD * fLCD; - SettingsMenu * parent; -}; - -#endif +#ifndef _SETTINGSMENU_ +#define _SETTINGSMENU_ + +#ifndef _UIMENU_ +#include "UIMenu.h" +#endif + +class HomeMenu; +class SettingsMenu; + +class DebugMenu : public UIMenu +{ +public: + DebugMenu( CheapLCD * lcd, SettingsMenu * parent ); + virtual ~DebugMenu() {}; + +protected: + virtual void KnobPushed(); + SETUP_KNOBPUSH_CALLBACK( DebugMenu ); + +private: + SettingsMenu * parent; +}; + +class LightSensorMenu : public UIMenu +{ +public: + LightSensorMenu( CheapLCD * lcd, SettingsMenu * parent ); + virtual ~LightSensorMenu() {}; + +protected: + virtual void KnobPushed(); + SETUP_KNOBPUSH_CALLBACK( LightSensorMenu ); + +private: + SettingsMenu * fParent; + int fLightState; +}; + +class SettingsMenu : public UIMenu +{ +public: + SettingsMenu( CheapLCD * lcd, HomeMenu * parent ); + virtual ~SettingsMenu() {}; + +protected: + virtual void KnobPushed(); + SETUP_KNOBPUSH_CALLBACK( SettingsMenu ); + +private: + HomeMenu * fParent; + LightSensorMenu fLightSensorMenu; +}; + + +#endif