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

NumSprites.h

Committer:
isonno
Date:
2013-02-11
Revision:
4:cfef06d8bb96
Parent:
0:6da5625a6946

File content as of revision 4:cfef06d8bb96:

const unsigned char N0_data[] = {
    0x00,0x2A,0xFF,0xE6,0x00,0x00,
    0x03,0xEF,0xFF,0xFF,0x90,0x00,
    0x0D,0xFC,0x20,0x7F,0xF4,0x00,
    0x4F,0xF4,0x00,0x0C,0xFB,0x00,
    0x8F,0xE0,0x00,0x08,0xFF,0x10,
    0xAF,0xD0,0x00,0x06,0xFF,0x30,
    0xBF,0xD0,0x00,0x06,0xFF,0x40,
    0xAF,0xD0,0x00,0x06,0xFF,0x30,
    0x8F,0xF0,0x00,0x07,0xFF,0x10,
    0x4F,0xF4,0x00,0x0B,0xFB,0x00,
    0x0D,0xFC,0x20,0x7F,0xF5,0x00,
    0x03,0xEF,0xFF,0xFF,0x90,0x00,
    0x00,0x3A,0xFF,0xD6,0x00,0x00
};

const sprite_data_t N0_sprt = { N0_data, 13, 11 };

const unsigned char N1_data[] = {
    0x00,0xBF,0xD0,
    0x00,0xBF,0xD0,
    0x00,0xBF,0xD0,
    0x00,0xBF,0xD0,
    0x00,0xBF,0xD0,
    0x00,0xBF,0xD0,
    0x00,0xBF,0xD0,
    0x00,0xBF,0xD0,
    0x00,0xBF,0xD0,
    0x00,0xBF,0xD0,
    0x7F,0xFF,0xD0,
    0x7F,0xFF,0xD0,
    0x04,0x79,0xD0
};

const sprite_data_t N1_sprt = { N1_data, 13, 5 };

const unsigned char N2_data[] = {
    0xDF,0xFF,0xFF,0xFF,0xB0,
    0xDF,0xFF,0xFF,0xFF,0xB0,
    0x7F,0xF2,0x00,0x00,0x00,
    0x09,0xFD,0x20,0x00,0x00,
    0x00,0x7F,0xD3,0x00,0x00,
    0x00,0x05,0xFF,0x60,0x00,
    0x00,0x00,0x4F,0xF7,0x00,
    0x00,0x00,0x05,0xFF,0x40,
    0x00,0x00,0x00,0xCF,0xA0,
    0x00,0x00,0x00,0xCF,0xB0,
    0x87,0x20,0x07,0xFF,0x90,
    0x9F,0xFF,0xFF,0xFE,0x20,
    0x17,0xCF,0xFF,0x82,0x00
};

const sprite_data_t N2_sprt = { N2_data, 13, 9 };

const unsigned char N3_data[] = {
    0x29,0xFF,0xFC,0x60,0x00,
    0xDF,0xFF,0xFF,0xF9,0x00,
    0xC7,0x00,0x3C,0xFF,0x30,
    0x00,0x00,0x03,0xFF,0x60,
    0x00,0x00,0x04,0xFF,0x50,
    0x00,0x00,0x6D,0xFD,0x10,
    0x0B,0xFF,0xFF,0xC3,0x00,
    0x0B,0xFF,0xFC,0x60,0x00,
    0x00,0x00,0x5E,0xF8,0x00,
    0x00,0x00,0x07,0xFF,0x10,
    0xB7,0x00,0x1B,0xFF,0x20,
    0xBF,0xFF,0xFF,0xFC,0x00,
    0x07,0xEF,0xFE,0x70,0x00
};

const sprite_data_t N3_sprt = { N3_data, 13, 9 };

const unsigned char N4_data[] = {
    0x00,0x00,0x00,0x6F,0xF0,0x00,
    0x00,0x00,0x00,0x6F,0xF0,0x00,
    0x00,0x00,0x00,0x6F,0xF0,0x00,
    0x6F,0xFF,0xFF,0xFF,0xFF,0x70,
    0x6F,0xFF,0xFF,0xFF,0xFF,0x70,
    0x1D,0xE2,0x00,0x4F,0xF0,0x00,
    0x03,0xFC,0x00,0x4F,0xF0,0x00,
    0x00,0x7F,0x80,0x4F,0xF0,0x00,
    0x00,0x0A,0xF5,0x4F,0xF0,0x00,
    0x00,0x01,0xDE,0x6F,0xF0,0x00,
    0x00,0x00,0x3F,0xEF,0xF0,0x00,
    0x00,0x00,0x07,0xFF,0xF0,0x00,
    0x00,0x00,0x00,0xAF,0xF0,0x00
};

const sprite_data_t N4_sprt = { N4_data, 13, 11 };

const unsigned char N5_data[] = {
    0x06,0xEF,0xFA,0x40,0x00,
    0x7F,0xFF,0xFF,0xF6,0x00,
    0x79,0x20,0x3D,0xFE,0x10,
    0x00,0x00,0x05,0xFF,0x60,
    0x00,0x00,0x02,0xFF,0x70,
    0x00,0x00,0x06,0xFF,0x50,
    0x00,0x00,0x7F,0xFD,0x00,
    0x4F,0xFF,0xFF,0xE3,0x00,
    0x4F,0xFF,0xE7,0x10,0x00,
    0x4F,0x70,0x00,0x00,0x00,
    0x4F,0x80,0x00,0x00,0x00,
    0x4F,0xFF,0xFF,0xFF,0x40,
    0x4F,0xFF,0xFF,0xFF,0x40
};

const sprite_data_t N5_sprt = { N5_data, 13, 9 };

const unsigned char N6_data[] = {
    0x00,0x07,0xEF,0xFD,0x60,0x00,
    0x00,0xAF,0xFF,0xFF,0xF8,0x00,
    0x06,0xFF,0x50,0x0A,0xFF,0x30,
    0x0C,0xF8,0x00,0x01,0xFF,0x70,
    0x1F,0xF7,0x00,0x01,0xFF,0x90,
    0x2F,0xFE,0x50,0x1A,0xFF,0x60,
    0x2F,0xFC,0xFF,0xFF,0xFC,0x00,
    0x1F,0xF7,0x5D,0xFF,0x70,0x00,
    0x0E,0xFA,0x00,0x00,0x00,0x00,
    0x09,0xFF,0x20,0x00,0x00,0x00,
    0x02,0xFF,0xC3,0x00,0x7C,0x00,
    0x00,0x6F,0xFF,0xFF,0xFD,0x00,
    0x00,0x04,0xAF,0xFF,0x81,0x00
};

const sprite_data_t N6_sprt = { N6_data, 13, 11 };

const unsigned char N7_data[] = {
    0x2F,0xFB,0x00,0x00,0x00,
    0x0E,0xFC,0x00,0x00,0x00,
    0x07,0xFF,0x30,0x00,0x00,
    0x01,0xEF,0x70,0x00,0x00,
    0x00,0x7F,0xE1,0x00,0x00,
    0x00,0x0B,0xF7,0x00,0x00,
    0x00,0x02,0xFE,0x10,0x00,
    0x00,0x00,0x7F,0x90,0x00,
    0x00,0x00,0x0B,0xF4,0x00,
    0x00,0x00,0x02,0xED,0x10,
    0x00,0x00,0x00,0x7F,0xA0,
    0xDF,0xFF,0xFF,0xFF,0xF0,
    0xDF,0xFF,0xFF,0xFF,0xF0
};

const sprite_data_t N7_sprt = { N7_data, 13, 9 };

const unsigned char N8_data[] = {
    0x00,0x7D,0xFF,0xF9,0x30,0x00,
    0x0A,0xFF,0xFF,0xFF,0xF4,0x00,
    0x4F,0xFC,0x30,0x1B,0xFD,0x00,
    0x6F,0xF3,0x00,0x04,0xFF,0x20,
    0x2F,0xF5,0x00,0x2B,0xFE,0x10,
    0x06,0xFD,0x79,0xFF,0xE4,0x00,
    0x00,0x3F,0xFF,0xFD,0x00,0x00,
    0x02,0xDF,0xF9,0xCF,0x80,0x00,
    0x0A,0xFD,0x30,0x1E,0xF4,0x00,
    0x0B,0xF7,0x00,0x0B,0xF7,0x00,
    0x09,0xFC,0x10,0x4F,0xF7,0x00,
    0x02,0xEF,0xFF,0xFF,0xD1,0x00,
    0x00,0x29,0xFF,0xF9,0x20,0x00
};

const sprite_data_t N8_sprt = { N8_data, 13, 11 };

const unsigned char N9_data[] = {
    0x06,0xCF,0xFB,0x30,0x00,
    0x6F,0xFF,0xFF,0xE4,0x00,
    0x69,0x20,0x2C,0xFB,0x20,
    0x00,0x00,0x03,0xDF,0x60,
    0x00,0x00,0x00,0x9F,0x90,
    0x05,0xCF,0xE5,0x7F,0xB0,
    0x4F,0xFF,0xFE,0xDF,0xB0,
    0xCF,0xE3,0x04,0xEF,0xB0,
    0xFF,0x60,0x00,0x6F,0xA0,
    0xFF,0x60,0x00,0x8F,0x80,
    0xAF,0xC2,0x05,0xEF,0x40,
    0x2F,0xFF,0xFF,0xF9,0x00,
    0x02,0xBF,0xFE,0x60,0x00
};

const sprite_data_t N9_sprt = { N9_data, 13, 9 };

const unsigned char dot_data[] = {
    0xBF,0xF0,
    0xBF,0xF0,
    0xBF,0xF0,
    0x00,0x00,
    0x00,0x00,
    0x00,0x00,
    0x00,0x00,
    0x00,0x00,
    0x00,0x00,
    0x00,0x00,
    0x00,0x00,
    0x00,0x00,
    0x00,0x00
};

const sprite_data_t dot_sprt = { dot_data, 13, 3 };

const unsigned char plus_data[] = {
    0x00,0x09,0xF2,0x00,0x00,
    0x00,0x09,0xF2,0x00,0x00,
    0x00,0x09,0xF2,0x00,0x00,
    0x00,0x09,0xF2,0x00,0x00,
    0xFF,0xFF,0xFF,0xFF,0xF0,
    0xFF,0xFF,0xFF,0xFF,0xF0,
    0x00,0x09,0xF2,0x00,0x00,
    0x00,0x09,0xF2,0x00,0x00,
    0x00,0x09,0xF2,0x00,0x00,
    0x00,0x09,0xF2,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00
};

const sprite_data_t plus_sprt = { plus_data, 13, 9 };

const unsigned char minus_data[] = {
    0x00,0x00,0x00,
    0x00,0x00,0x00,
    0x00,0x00,0x00,
    0x00,0x00,0x00,
    0x00,0x00,0x00,
    0x7F,0xFF,0x60,
    0x7F,0xFF,0x60,
    0x00,0x00,0x00,
    0x00,0x00,0x00,
    0x00,0x00,0x00,
    0x00,0x00,0x00,
    0x00,0x00,0x00,
    0x00,0x00,0x00
};

const sprite_data_t minus_sprt = { minus_data, 13, 5 };