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:
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?

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