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

Revision:
4:cfef06d8bb96
Parent:
3:0ac64c4ca40f
--- a/SettingsMenu.h	Tue Jan 17 13:45:17 2012 +0000
+++ b/SettingsMenu.h	Mon Feb 11 05:04:18 2013 +0000
@@ -1,56 +1,58 @@
-#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
+#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() {};
+    void SetItem( int item, const char * name, int value );
+
+protected:
+    virtual void KnobPushed();
+    SETUP_KNOBPUSH_CALLBACK( DebugMenu );
+        
+private:
+    SettingsMenu * fParent;
+};
+
+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;
+    DebugMenu fDebugMenu;
+};
+
+
+#endif