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
NumSprites.h@0:6da5625a6946, 2011-12-29 (annotated)
- Committer:
- isonno
- Date:
- Thu Dec 29 01:59:53 2011 +0000
- Revision:
- 0:6da5625a6946
Contest submission version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
isonno |
0:6da5625a6946 | 1 | const unsigned char N0_data[] = { |
isonno |
0:6da5625a6946 | 2 | 0x00,0x2A,0xFF,0xE6,0x00,0x00, |
isonno |
0:6da5625a6946 | 3 | 0x03,0xEF,0xFF,0xFF,0x90,0x00, |
isonno |
0:6da5625a6946 | 4 | 0x0D,0xFC,0x20,0x7F,0xF4,0x00, |
isonno |
0:6da5625a6946 | 5 | 0x4F,0xF4,0x00,0x0C,0xFB,0x00, |
isonno |
0:6da5625a6946 | 6 | 0x8F,0xE0,0x00,0x08,0xFF,0x10, |
isonno |
0:6da5625a6946 | 7 | 0xAF,0xD0,0x00,0x06,0xFF,0x30, |
isonno |
0:6da5625a6946 | 8 | 0xBF,0xD0,0x00,0x06,0xFF,0x40, |
isonno |
0:6da5625a6946 | 9 | 0xAF,0xD0,0x00,0x06,0xFF,0x30, |
isonno |
0:6da5625a6946 | 10 | 0x8F,0xF0,0x00,0x07,0xFF,0x10, |
isonno |
0:6da5625a6946 | 11 | 0x4F,0xF4,0x00,0x0B,0xFB,0x00, |
isonno |
0:6da5625a6946 | 12 | 0x0D,0xFC,0x20,0x7F,0xF5,0x00, |
isonno |
0:6da5625a6946 | 13 | 0x03,0xEF,0xFF,0xFF,0x90,0x00, |
isonno |
0:6da5625a6946 | 14 | 0x00,0x3A,0xFF,0xD6,0x00,0x00 |
isonno |
0:6da5625a6946 | 15 | }; |
isonno |
0:6da5625a6946 | 16 | |
isonno |
0:6da5625a6946 | 17 | const sprite_data_t N0_sprt = { N0_data, 13, 11 }; |
isonno |
0:6da5625a6946 | 18 | |
isonno |
0:6da5625a6946 | 19 | const unsigned char N1_data[] = { |
isonno |
0:6da5625a6946 | 20 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 21 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 22 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 23 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 24 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 25 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 26 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 27 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 28 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 29 | 0x00,0xBF,0xD0, |
isonno |
0:6da5625a6946 | 30 | 0x7F,0xFF,0xD0, |
isonno |
0:6da5625a6946 | 31 | 0x7F,0xFF,0xD0, |
isonno |
0:6da5625a6946 | 32 | 0x04,0x79,0xD0 |
isonno |
0:6da5625a6946 | 33 | }; |
isonno |
0:6da5625a6946 | 34 | |
isonno |
0:6da5625a6946 | 35 | const sprite_data_t N1_sprt = { N1_data, 13, 5 }; |
isonno |
0:6da5625a6946 | 36 | |
isonno |
0:6da5625a6946 | 37 | const unsigned char N2_data[] = { |
isonno |
0:6da5625a6946 | 38 | 0xDF,0xFF,0xFF,0xFF,0xB0, |
isonno |
0:6da5625a6946 | 39 | 0xDF,0xFF,0xFF,0xFF,0xB0, |
isonno |
0:6da5625a6946 | 40 | 0x7F,0xF2,0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 41 | 0x09,0xFD,0x20,0x00,0x00, |
isonno |
0:6da5625a6946 | 42 | 0x00,0x7F,0xD3,0x00,0x00, |
isonno |
0:6da5625a6946 | 43 | 0x00,0x05,0xFF,0x60,0x00, |
isonno |
0:6da5625a6946 | 44 | 0x00,0x00,0x4F,0xF7,0x00, |
isonno |
0:6da5625a6946 | 45 | 0x00,0x00,0x05,0xFF,0x40, |
isonno |
0:6da5625a6946 | 46 | 0x00,0x00,0x00,0xCF,0xA0, |
isonno |
0:6da5625a6946 | 47 | 0x00,0x00,0x00,0xCF,0xB0, |
isonno |
0:6da5625a6946 | 48 | 0x87,0x20,0x07,0xFF,0x90, |
isonno |
0:6da5625a6946 | 49 | 0x9F,0xFF,0xFF,0xFE,0x20, |
isonno |
0:6da5625a6946 | 50 | 0x17,0xCF,0xFF,0x82,0x00 |
isonno |
0:6da5625a6946 | 51 | }; |
isonno |
0:6da5625a6946 | 52 | |
isonno |
0:6da5625a6946 | 53 | const sprite_data_t N2_sprt = { N2_data, 13, 9 }; |
isonno |
0:6da5625a6946 | 54 | |
isonno |
0:6da5625a6946 | 55 | const unsigned char N3_data[] = { |
isonno |
0:6da5625a6946 | 56 | 0x29,0xFF,0xFC,0x60,0x00, |
isonno |
0:6da5625a6946 | 57 | 0xDF,0xFF,0xFF,0xF9,0x00, |
isonno |
0:6da5625a6946 | 58 | 0xC7,0x00,0x3C,0xFF,0x30, |
isonno |
0:6da5625a6946 | 59 | 0x00,0x00,0x03,0xFF,0x60, |
isonno |
0:6da5625a6946 | 60 | 0x00,0x00,0x04,0xFF,0x50, |
isonno |
0:6da5625a6946 | 61 | 0x00,0x00,0x6D,0xFD,0x10, |
isonno |
0:6da5625a6946 | 62 | 0x0B,0xFF,0xFF,0xC3,0x00, |
isonno |
0:6da5625a6946 | 63 | 0x0B,0xFF,0xFC,0x60,0x00, |
isonno |
0:6da5625a6946 | 64 | 0x00,0x00,0x5E,0xF8,0x00, |
isonno |
0:6da5625a6946 | 65 | 0x00,0x00,0x07,0xFF,0x10, |
isonno |
0:6da5625a6946 | 66 | 0xB7,0x00,0x1B,0xFF,0x20, |
isonno |
0:6da5625a6946 | 67 | 0xBF,0xFF,0xFF,0xFC,0x00, |
isonno |
0:6da5625a6946 | 68 | 0x07,0xEF,0xFE,0x70,0x00 |
isonno |
0:6da5625a6946 | 69 | }; |
isonno |
0:6da5625a6946 | 70 | |
isonno |
0:6da5625a6946 | 71 | const sprite_data_t N3_sprt = { N3_data, 13, 9 }; |
isonno |
0:6da5625a6946 | 72 | |
isonno |
0:6da5625a6946 | 73 | const unsigned char N4_data[] = { |
isonno |
0:6da5625a6946 | 74 | 0x00,0x00,0x00,0x6F,0xF0,0x00, |
isonno |
0:6da5625a6946 | 75 | 0x00,0x00,0x00,0x6F,0xF0,0x00, |
isonno |
0:6da5625a6946 | 76 | 0x00,0x00,0x00,0x6F,0xF0,0x00, |
isonno |
0:6da5625a6946 | 77 | 0x6F,0xFF,0xFF,0xFF,0xFF,0x70, |
isonno |
0:6da5625a6946 | 78 | 0x6F,0xFF,0xFF,0xFF,0xFF,0x70, |
isonno |
0:6da5625a6946 | 79 | 0x1D,0xE2,0x00,0x4F,0xF0,0x00, |
isonno |
0:6da5625a6946 | 80 | 0x03,0xFC,0x00,0x4F,0xF0,0x00, |
isonno |
0:6da5625a6946 | 81 | 0x00,0x7F,0x80,0x4F,0xF0,0x00, |
isonno |
0:6da5625a6946 | 82 | 0x00,0x0A,0xF5,0x4F,0xF0,0x00, |
isonno |
0:6da5625a6946 | 83 | 0x00,0x01,0xDE,0x6F,0xF0,0x00, |
isonno |
0:6da5625a6946 | 84 | 0x00,0x00,0x3F,0xEF,0xF0,0x00, |
isonno |
0:6da5625a6946 | 85 | 0x00,0x00,0x07,0xFF,0xF0,0x00, |
isonno |
0:6da5625a6946 | 86 | 0x00,0x00,0x00,0xAF,0xF0,0x00 |
isonno |
0:6da5625a6946 | 87 | }; |
isonno |
0:6da5625a6946 | 88 | |
isonno |
0:6da5625a6946 | 89 | const sprite_data_t N4_sprt = { N4_data, 13, 11 }; |
isonno |
0:6da5625a6946 | 90 | |
isonno |
0:6da5625a6946 | 91 | const unsigned char N5_data[] = { |
isonno |
0:6da5625a6946 | 92 | 0x06,0xEF,0xFA,0x40,0x00, |
isonno |
0:6da5625a6946 | 93 | 0x7F,0xFF,0xFF,0xF6,0x00, |
isonno |
0:6da5625a6946 | 94 | 0x79,0x20,0x3D,0xFE,0x10, |
isonno |
0:6da5625a6946 | 95 | 0x00,0x00,0x05,0xFF,0x60, |
isonno |
0:6da5625a6946 | 96 | 0x00,0x00,0x02,0xFF,0x70, |
isonno |
0:6da5625a6946 | 97 | 0x00,0x00,0x06,0xFF,0x50, |
isonno |
0:6da5625a6946 | 98 | 0x00,0x00,0x7F,0xFD,0x00, |
isonno |
0:6da5625a6946 | 99 | 0x4F,0xFF,0xFF,0xE3,0x00, |
isonno |
0:6da5625a6946 | 100 | 0x4F,0xFF,0xE7,0x10,0x00, |
isonno |
0:6da5625a6946 | 101 | 0x4F,0x70,0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 102 | 0x4F,0x80,0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 103 | 0x4F,0xFF,0xFF,0xFF,0x40, |
isonno |
0:6da5625a6946 | 104 | 0x4F,0xFF,0xFF,0xFF,0x40 |
isonno |
0:6da5625a6946 | 105 | }; |
isonno |
0:6da5625a6946 | 106 | |
isonno |
0:6da5625a6946 | 107 | const sprite_data_t N5_sprt = { N5_data, 13, 9 }; |
isonno |
0:6da5625a6946 | 108 | |
isonno |
0:6da5625a6946 | 109 | const unsigned char N6_data[] = { |
isonno |
0:6da5625a6946 | 110 | 0x00,0x07,0xEF,0xFD,0x60,0x00, |
isonno |
0:6da5625a6946 | 111 | 0x00,0xAF,0xFF,0xFF,0xF8,0x00, |
isonno |
0:6da5625a6946 | 112 | 0x06,0xFF,0x50,0x0A,0xFF,0x30, |
isonno |
0:6da5625a6946 | 113 | 0x0C,0xF8,0x00,0x01,0xFF,0x70, |
isonno |
0:6da5625a6946 | 114 | 0x1F,0xF7,0x00,0x01,0xFF,0x90, |
isonno |
0:6da5625a6946 | 115 | 0x2F,0xFE,0x50,0x1A,0xFF,0x60, |
isonno |
0:6da5625a6946 | 116 | 0x2F,0xFC,0xFF,0xFF,0xFC,0x00, |
isonno |
0:6da5625a6946 | 117 | 0x1F,0xF7,0x5D,0xFF,0x70,0x00, |
isonno |
0:6da5625a6946 | 118 | 0x0E,0xFA,0x00,0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 119 | 0x09,0xFF,0x20,0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 120 | 0x02,0xFF,0xC3,0x00,0x7C,0x00, |
isonno |
0:6da5625a6946 | 121 | 0x00,0x6F,0xFF,0xFF,0xFD,0x00, |
isonno |
0:6da5625a6946 | 122 | 0x00,0x04,0xAF,0xFF,0x81,0x00 |
isonno |
0:6da5625a6946 | 123 | }; |
isonno |
0:6da5625a6946 | 124 | |
isonno |
0:6da5625a6946 | 125 | const sprite_data_t N6_sprt = { N6_data, 13, 11 }; |
isonno |
0:6da5625a6946 | 126 | |
isonno |
0:6da5625a6946 | 127 | const unsigned char N7_data[] = { |
isonno |
0:6da5625a6946 | 128 | 0x2F,0xFB,0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 129 | 0x0E,0xFC,0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 130 | 0x07,0xFF,0x30,0x00,0x00, |
isonno |
0:6da5625a6946 | 131 | 0x01,0xEF,0x70,0x00,0x00, |
isonno |
0:6da5625a6946 | 132 | 0x00,0x7F,0xE1,0x00,0x00, |
isonno |
0:6da5625a6946 | 133 | 0x00,0x0B,0xF7,0x00,0x00, |
isonno |
0:6da5625a6946 | 134 | 0x00,0x02,0xFE,0x10,0x00, |
isonno |
0:6da5625a6946 | 135 | 0x00,0x00,0x7F,0x90,0x00, |
isonno |
0:6da5625a6946 | 136 | 0x00,0x00,0x0B,0xF4,0x00, |
isonno |
0:6da5625a6946 | 137 | 0x00,0x00,0x02,0xED,0x10, |
isonno |
0:6da5625a6946 | 138 | 0x00,0x00,0x00,0x7F,0xA0, |
isonno |
0:6da5625a6946 | 139 | 0xDF,0xFF,0xFF,0xFF,0xF0, |
isonno |
0:6da5625a6946 | 140 | 0xDF,0xFF,0xFF,0xFF,0xF0 |
isonno |
0:6da5625a6946 | 141 | }; |
isonno |
0:6da5625a6946 | 142 | |
isonno |
0:6da5625a6946 | 143 | const sprite_data_t N7_sprt = { N7_data, 13, 9 }; |
isonno |
0:6da5625a6946 | 144 | |
isonno |
0:6da5625a6946 | 145 | const unsigned char N8_data[] = { |
isonno |
0:6da5625a6946 | 146 | 0x00,0x7D,0xFF,0xF9,0x30,0x00, |
isonno |
0:6da5625a6946 | 147 | 0x0A,0xFF,0xFF,0xFF,0xF4,0x00, |
isonno |
0:6da5625a6946 | 148 | 0x4F,0xFC,0x30,0x1B,0xFD,0x00, |
isonno |
0:6da5625a6946 | 149 | 0x6F,0xF3,0x00,0x04,0xFF,0x20, |
isonno |
0:6da5625a6946 | 150 | 0x2F,0xF5,0x00,0x2B,0xFE,0x10, |
isonno |
0:6da5625a6946 | 151 | 0x06,0xFD,0x79,0xFF,0xE4,0x00, |
isonno |
0:6da5625a6946 | 152 | 0x00,0x3F,0xFF,0xFD,0x00,0x00, |
isonno |
0:6da5625a6946 | 153 | 0x02,0xDF,0xF9,0xCF,0x80,0x00, |
isonno |
0:6da5625a6946 | 154 | 0x0A,0xFD,0x30,0x1E,0xF4,0x00, |
isonno |
0:6da5625a6946 | 155 | 0x0B,0xF7,0x00,0x0B,0xF7,0x00, |
isonno |
0:6da5625a6946 | 156 | 0x09,0xFC,0x10,0x4F,0xF7,0x00, |
isonno |
0:6da5625a6946 | 157 | 0x02,0xEF,0xFF,0xFF,0xD1,0x00, |
isonno |
0:6da5625a6946 | 158 | 0x00,0x29,0xFF,0xF9,0x20,0x00 |
isonno |
0:6da5625a6946 | 159 | }; |
isonno |
0:6da5625a6946 | 160 | |
isonno |
0:6da5625a6946 | 161 | const sprite_data_t N8_sprt = { N8_data, 13, 11 }; |
isonno |
0:6da5625a6946 | 162 | |
isonno |
0:6da5625a6946 | 163 | const unsigned char N9_data[] = { |
isonno |
0:6da5625a6946 | 164 | 0x06,0xCF,0xFB,0x30,0x00, |
isonno |
0:6da5625a6946 | 165 | 0x6F,0xFF,0xFF,0xE4,0x00, |
isonno |
0:6da5625a6946 | 166 | 0x69,0x20,0x2C,0xFB,0x20, |
isonno |
0:6da5625a6946 | 167 | 0x00,0x00,0x03,0xDF,0x60, |
isonno |
0:6da5625a6946 | 168 | 0x00,0x00,0x00,0x9F,0x90, |
isonno |
0:6da5625a6946 | 169 | 0x05,0xCF,0xE5,0x7F,0xB0, |
isonno |
0:6da5625a6946 | 170 | 0x4F,0xFF,0xFE,0xDF,0xB0, |
isonno |
0:6da5625a6946 | 171 | 0xCF,0xE3,0x04,0xEF,0xB0, |
isonno |
0:6da5625a6946 | 172 | 0xFF,0x60,0x00,0x6F,0xA0, |
isonno |
0:6da5625a6946 | 173 | 0xFF,0x60,0x00,0x8F,0x80, |
isonno |
0:6da5625a6946 | 174 | 0xAF,0xC2,0x05,0xEF,0x40, |
isonno |
0:6da5625a6946 | 175 | 0x2F,0xFF,0xFF,0xF9,0x00, |
isonno |
0:6da5625a6946 | 176 | 0x02,0xBF,0xFE,0x60,0x00 |
isonno |
0:6da5625a6946 | 177 | }; |
isonno |
0:6da5625a6946 | 178 | |
isonno |
0:6da5625a6946 | 179 | const sprite_data_t N9_sprt = { N9_data, 13, 9 }; |
isonno |
0:6da5625a6946 | 180 | |
isonno |
0:6da5625a6946 | 181 | const unsigned char dot_data[] = { |
isonno |
0:6da5625a6946 | 182 | 0xBF,0xF0, |
isonno |
0:6da5625a6946 | 183 | 0xBF,0xF0, |
isonno |
0:6da5625a6946 | 184 | 0xBF,0xF0, |
isonno |
0:6da5625a6946 | 185 | 0x00,0x00, |
isonno |
0:6da5625a6946 | 186 | 0x00,0x00, |
isonno |
0:6da5625a6946 | 187 | 0x00,0x00, |
isonno |
0:6da5625a6946 | 188 | 0x00,0x00, |
isonno |
0:6da5625a6946 | 189 | 0x00,0x00, |
isonno |
0:6da5625a6946 | 190 | 0x00,0x00, |
isonno |
0:6da5625a6946 | 191 | 0x00,0x00, |
isonno |
0:6da5625a6946 | 192 | 0x00,0x00, |
isonno |
0:6da5625a6946 | 193 | 0x00,0x00, |
isonno |
0:6da5625a6946 | 194 | 0x00,0x00 |
isonno |
0:6da5625a6946 | 195 | }; |
isonno |
0:6da5625a6946 | 196 | |
isonno |
0:6da5625a6946 | 197 | const sprite_data_t dot_sprt = { dot_data, 13, 3 }; |
isonno |
0:6da5625a6946 | 198 | |
isonno |
0:6da5625a6946 | 199 | const unsigned char plus_data[] = { |
isonno |
0:6da5625a6946 | 200 | 0x00,0x09,0xF2,0x00,0x00, |
isonno |
0:6da5625a6946 | 201 | 0x00,0x09,0xF2,0x00,0x00, |
isonno |
0:6da5625a6946 | 202 | 0x00,0x09,0xF2,0x00,0x00, |
isonno |
0:6da5625a6946 | 203 | 0x00,0x09,0xF2,0x00,0x00, |
isonno |
0:6da5625a6946 | 204 | 0xFF,0xFF,0xFF,0xFF,0xF0, |
isonno |
0:6da5625a6946 | 205 | 0xFF,0xFF,0xFF,0xFF,0xF0, |
isonno |
0:6da5625a6946 | 206 | 0x00,0x09,0xF2,0x00,0x00, |
isonno |
0:6da5625a6946 | 207 | 0x00,0x09,0xF2,0x00,0x00, |
isonno |
0:6da5625a6946 | 208 | 0x00,0x09,0xF2,0x00,0x00, |
isonno |
0:6da5625a6946 | 209 | 0x00,0x09,0xF2,0x00,0x00, |
isonno |
0:6da5625a6946 | 210 | 0x00,0x00,0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 211 | 0x00,0x00,0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 212 | 0x00,0x00,0x00,0x00,0x00 |
isonno |
0:6da5625a6946 | 213 | }; |
isonno |
0:6da5625a6946 | 214 | |
isonno |
0:6da5625a6946 | 215 | const sprite_data_t plus_sprt = { plus_data, 13, 9 }; |
isonno |
0:6da5625a6946 | 216 | |
isonno |
0:6da5625a6946 | 217 | const unsigned char minus_data[] = { |
isonno |
0:6da5625a6946 | 218 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 219 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 220 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 221 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 222 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 223 | 0x7F,0xFF,0x60, |
isonno |
0:6da5625a6946 | 224 | 0x7F,0xFF,0x60, |
isonno |
0:6da5625a6946 | 225 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 226 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 227 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 228 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 229 | 0x00,0x00,0x00, |
isonno |
0:6da5625a6946 | 230 | 0x00,0x00,0x00 |
isonno |
0:6da5625a6946 | 231 | }; |
isonno |
0:6da5625a6946 | 232 | |
isonno |
0:6da5625a6946 | 233 | const sprite_data_t minus_sprt = { minus_data, 13, 5 }; |
isonno |
0:6da5625a6946 | 234 |