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@3:0ac64c4ca40f, 2012-01-17 (annotated)
- Committer:
- isonno
- Date:
- Tue Jan 17 13:45:17 2012 +0000
- Revision:
- 3:0ac64c4ca40f
- Parent:
- 1:d1da77023e6a
- Child:
- 4:cfef06d8bb96
LightSensor settings menu; more work (unsuccessful) on serial input from USB.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
isonno |
3:0ac64c4ca40f | 1 | #ifndef _SETTINGSMENU_ |
isonno |
3:0ac64c4ca40f | 2 | #define _SETTINGSMENU_ |
isonno |
3:0ac64c4ca40f | 3 | |
isonno |
3:0ac64c4ca40f | 4 | #ifndef _UIMENU_ |
isonno |
3:0ac64c4ca40f | 5 | #include "UIMenu.h" |
isonno |
3:0ac64c4ca40f | 6 | #endif |
isonno |
3:0ac64c4ca40f | 7 | |
isonno |
3:0ac64c4ca40f | 8 | class HomeMenu; |
isonno |
3:0ac64c4ca40f | 9 | class SettingsMenu; |
isonno |
3:0ac64c4ca40f | 10 | |
isonno |
3:0ac64c4ca40f | 11 | class DebugMenu : public UIMenu |
isonno |
3:0ac64c4ca40f | 12 | { |
isonno |
3:0ac64c4ca40f | 13 | public: |
isonno |
3:0ac64c4ca40f | 14 | DebugMenu( CheapLCD * lcd, SettingsMenu * parent ); |
isonno |
3:0ac64c4ca40f | 15 | virtual ~DebugMenu() {}; |
isonno |
3:0ac64c4ca40f | 16 | |
isonno |
3:0ac64c4ca40f | 17 | protected: |
isonno |
3:0ac64c4ca40f | 18 | virtual void KnobPushed(); |
isonno |
3:0ac64c4ca40f | 19 | SETUP_KNOBPUSH_CALLBACK( DebugMenu ); |
isonno |
3:0ac64c4ca40f | 20 | |
isonno |
3:0ac64c4ca40f | 21 | private: |
isonno |
3:0ac64c4ca40f | 22 | SettingsMenu * parent; |
isonno |
3:0ac64c4ca40f | 23 | }; |
isonno |
3:0ac64c4ca40f | 24 | |
isonno |
3:0ac64c4ca40f | 25 | class LightSensorMenu : public UIMenu |
isonno |
3:0ac64c4ca40f | 26 | { |
isonno |
3:0ac64c4ca40f | 27 | public: |
isonno |
3:0ac64c4ca40f | 28 | LightSensorMenu( CheapLCD * lcd, SettingsMenu * parent ); |
isonno |
3:0ac64c4ca40f | 29 | virtual ~LightSensorMenu() {}; |
isonno |
3:0ac64c4ca40f | 30 | |
isonno |
3:0ac64c4ca40f | 31 | protected: |
isonno |
3:0ac64c4ca40f | 32 | virtual void KnobPushed(); |
isonno |
3:0ac64c4ca40f | 33 | SETUP_KNOBPUSH_CALLBACK( LightSensorMenu ); |
isonno |
3:0ac64c4ca40f | 34 | |
isonno |
3:0ac64c4ca40f | 35 | private: |
isonno |
3:0ac64c4ca40f | 36 | SettingsMenu * fParent; |
isonno |
3:0ac64c4ca40f | 37 | int fLightState; |
isonno |
3:0ac64c4ca40f | 38 | }; |
isonno |
3:0ac64c4ca40f | 39 | |
isonno |
3:0ac64c4ca40f | 40 | class SettingsMenu : public UIMenu |
isonno |
3:0ac64c4ca40f | 41 | { |
isonno |
3:0ac64c4ca40f | 42 | public: |
isonno |
3:0ac64c4ca40f | 43 | SettingsMenu( CheapLCD * lcd, HomeMenu * parent ); |
isonno |
3:0ac64c4ca40f | 44 | virtual ~SettingsMenu() {}; |
isonno |
3:0ac64c4ca40f | 45 | |
isonno |
3:0ac64c4ca40f | 46 | protected: |
isonno |
3:0ac64c4ca40f | 47 | virtual void KnobPushed(); |
isonno |
3:0ac64c4ca40f | 48 | SETUP_KNOBPUSH_CALLBACK( SettingsMenu ); |
isonno |
3:0ac64c4ca40f | 49 | |
isonno |
3:0ac64c4ca40f | 50 | private: |
isonno |
3:0ac64c4ca40f | 51 | HomeMenu * fParent; |
isonno |
3:0ac64c4ca40f | 52 | LightSensorMenu fLightSensorMenu; |
isonno |
3:0ac64c4ca40f | 53 | }; |
isonno |
3:0ac64c4ca40f | 54 | |
isonno |
3:0ac64c4ca40f | 55 | |
isonno |
3:0ac64c4ca40f | 56 | #endif |